24. 05. 09.
AI生成コンテンツは不正確または誤解を招く可能性があります。
この記事ではAWS CLIのインストールと設定が完了していることを前提に進めます。
aws ec2 create-vpc --cidr-block *青いテキストを選択し、編集してからコピーできます。

上記のコマンドでVPCを作成すると、VPC情報が返されます。
aws ec2 create-subnet --vpc-id \
--cidr-block *青いテキストを選択し、編集してからコピーできます。

サブネットを作成すると、上記のようにサブネット情報が返されます。
aws ec2 create-internet-gateway
インターネットゲートウェイを作成し、返されるIDをメモしておきます。
aws ec2 attach-internet-gateway --internet-gateway-id \
--vpc-id *青いテキストを選択し、編集してからコピーできます。
次にインターネットゲートウェイをVPCに接続します。

2回実行してalready attached to networkというメッセージが出れば成功です。
aws ec2 create-route-table --vpc-id *青いテキストを選択し、編集してからコピーできます。

次のコマンドでルートテーブルを作成します。
aws ec2 create-route --route-table-id \
--destination-cidr-block \
--gateway-id *青いテキストを選択し、編集してからコピーできます。

結果値Trueが返されます。
次にルートテーブルにサブネットを接続してみましょう。
aws ec2 describe-subnets --filters "Name=vpc-id,Values=" \
--query "Subnets[*].{ID:SubnetId,CIDR:CidrBlock}"*青いテキストを選択し、編集してからコピーできます。

サブネットのIDは次のコマンドで確認できます。
aws ec2 associate-route-table --subnet-id \
--route-table-id *青いテキストを選択し、編集してからコピーできます。

サブネットをルートテーブルに接続します。
aws ec2 modify-subnet-attribute --subnet-id \
--map-public-ip-on-launch*青いテキストを選択し、編集してからコピーできます。
次のコマンドで、EC2パブリックIPアドレスを自動的に割り当てるように設定します。EC2インスタンスは再起動するとIPアドレスが変更されるため、必ず設定する必要があります。そうでなければ、Elastic IPアドレスをインスタンスに関連付ける必要があります。
aws ec2 create-security-group --group-name \
--description \
--vpc-id *青いテキストを選択し、編集してからコピーできます。

次のコマンドでセキュリティグループを作成します。
aws ec2 authorize-security-group-ingress --group-id \
--protocol \
--port \
--cidr *青いテキストを選択し、編集してからコピーできます。

続いてセキュリティグループの22ポート(SSH)をどこからでもアクセスできるように0.0.0.0/0で開放します。
aws ec2 create-key-pair --key-name \
--query 'KeyMaterial' --output text > .pem
chmod 400 .pem*青いテキストを選択し、編集してからコピーできます。
キーペアを作成し、権限を設定します。
aws ec2 describe-images --owners self amazon | less次のコマンドでAMIを探すことができます。適切なAMIを選択します。
aws ec2 run-instances --image-id \
--count 1 \
--instance-type t2.micro \
--key-name \
--security-group-ids \
--subnet-id *青いテキストを選択し、編集してからコピーできます。
次のコマンドでEC2インスタンスを作成します。

インスタンス作成時に出力されるインスタンスIDをメモしておきます。
aws ec2 describe-instances --instance-id *青いテキストを選択し、編集してからコピーできます。

上記のコマンドでインスタンスの状態がrunningになるまで待ちます。
aws ec2 describe-instances --instance-id \
--query 'Reservations[*].Instances[*].PublicIpAddress' \
--output text*青いテキストを選択し、編集してからコピーできます。

上記のコマンドでEC2インスタンスのパブリックIPを確認します。
ssh -i .pem ec2-user@*青いテキストを選択し、編集してからコピーできます。
先ほど作成したキーとEC2のIPを入力してSSH接続を試みます。

すると、CLIからEC2インスタンスへの接続に成功したことが確認できます。
aws ec2 terminate-instances --instance-ids
aws ec2 delete-subnet --subnet-id
aws ec2 delete-route-table --route-table-id
aws ec2 detach-internet-gateway --internet-gateway-id --vpc-id
aws ec2 delete-internet-gateway --internet-gateway-id
aws ec2 delete-security-group --group-id
aws ec2 delete-vpc --vpc-id *青いテキストを選択し、編集してからコピーできます。
EC2インスタンスおよびセキュリティグループの削除は次の順序で行えます。一度に入力すると削除されない場合があるので、1つずつ入力してください。
より良い方法としてnukeを使用してすべて削除する方法もあります。
ref: https://dev.classmethod.jp/articles/build-ec2-with-aws-cli/