'Memo/AmazonWebServices/awscli/EC2/' には、下位層のページがありません。

awscli ec2


未使用EIPの検索

profile=example
region=ap-northeast-1

aws ec2 describe-addresses \
--profile $profile \
--region $region \
--output json \
| jq '.Addresses[] | select(.AssociationId == null)'

{
  "PublicIp": "xxx.xxx.xxx.xxx",
  "AllocationId": "eipalloc-abcdef12",
  "Domain": "vpc",
  "PublicIpv4Pool": "amazon",
  "NetworkBorderGroup": "ap-northeast-1"
}
...

EBS IDからEC2の検索


jqで結果の取得

awscliでjsonで出力した後に、jqで一部分だけを取得したい場合


Platformでの検索

PROFILE=example
aws ec2 describe-instances --profile $PROFILE --filters "Name=platform,Values=windows"

AMIの取得

AWS_PROFILE=default
AWS_REGION=ap-northeast-1
INSTANCE_ID=i-xxxxxxxxxxx
NAME="test-web-01.$(date +%Y%m%d)"

aws --profile $AWS_PROFILE --region $AWS_REGION ec2 create-image --instance-id $INSTANCE_ID --no-reboot --name $NAME

EC2のホスト一覧の作成


EBSの追加と動的拡張


Private DNSからEC2インスタンスを検索する

aws --profile default --region ap-northeast-1 ec2 describe-instances \
--filters 'Name=private-dns-name,Values=ip-01-02-03-04.ap-northeast-1.compute.internal' \
--query "Reservations[].Instances[].{InstanceId:InstanceId,Tags:Tags[],PublicDnsName:PublicDnsName,State:State.Name}"                                                                                                                                                      

[
    {
        "InstanceId": "i-123456",
        "State": "running",
        "PublicDnsName": "ec2-01-02-03-04.ap-northeast-1.compute.amazonaws.com",
        "Tags": [
            {
                "Value": "web01",
                "Key": "Name"
            }
        ]
    }
]

classic link: EC2 classicとVPCを接続する

AWS_PROFILE=default
AWS_REGION=ap-northeast-1
AWS_VPC_ID=vpc-xxxx
AWS_VPC_SG="sg-xxxx"
AWS_EC2_ID="i-xxxx01 i-xxxx02"

aws --profile $AWS_PROFILE --region $AWS_REGION ec2 enable-vpc-classic-link --vpc-id $AWS_VPC_ID

for id in $AWS_EC2_ID; do \
  echo "---- $id: ";aws --profile $AWS_PROFILE --region $AWS_REGION ec2 attach-classic-link-vpc --instance-id $id --vpc-id $AWS_VPC_ID --groups $AWS_VPC_SG
done

インスタンスIDから、インスタンス名の検索

aws ec2 describe-instances \
  --region ap-northeast-1 \
  --instance-ids i-12345678 i-90123456 \
  --query "Reservations[].Instances[].{InstanceId:InstanceId,Tags:Tags[],PublicDnsName:PublicDnsName,State:State.Name}"

[
    {
        "InstanceId": "i-12345678",
        "State": "running",
        "PublicDnsName": "ec2-12-34-56-78.ap-northeast-1.compute.amazonaws.com",
        "Tags": [
            {
                "Value": "host01",
                "Key": "Name"
            },
        ]
    },
    {
     ...
    }
]

タグからインスタンスID他の検索


特定のtagを対象にAPI terminationを有効にする


EC2 Security Group


セキュリティグループ追加時に説明記入する

AWS_PROFILE=example 
AWS_REGION=ap-northeast-1 
AWS_EC2_SG=sg-xxxx 
AWS_EC2_SG_CIDR="203.0.113.0/24" 
AWS_EC2_SG_DESCRIPTION="web01 td-agent" 

aws ec2 authorize-security-group-ingress \ 
--profile $AWS_PROFILE \ 
--region $AWS_REGION \ 
--group-id $AWS_EC2_FLUENTD_SG \ 
--ip-permissions "$(printf '[{"IpProtocol": "tcp", "FromPort": 24224, "ToPort": 24224, "IpRanges": [{"CidrIp": "%s", "Description": "%s"}]}]' "${AWS_EC2_SG_CIDR}" "${AWS_EC2_SG_DESCRIPTION}")"

条件を指定してテキスト形式でのリストを取得


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-03-28 (月) 18:39:32