-- 1. コマンド等のインストール
-- 1.1 aws cli version 2 インストール
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
aws --version
-- 1.2 jqインストール
sudo yum -y install jq
-- 2. AMI作成
aws ec2 create-image \
--description ami01 \
--instance-id i-11111111111111111 \
--name ami01
aws ec2 describe-images \
--owners self
instance-idは作業用EC2インスタンスを指定
しばらくするとSSHセッションが切れる。少し待つと再接続できる。
-- 3. 大阪リージョンへAMIをコピー
export AWS_DEFAULT_REGION=ap-northeast-3
aws ec2 describe-images \
--owners self
aws ec2 copy-image \
--description ami01 \
--name ami01 \
--source-image-id ami-22222222222222222 \
--source-region ap-northeast-1
しばらく待つ
-- 4. 大阪リージョンへキーペアをインポート
export AWS_DEFAULT_REGION=ap-northeast-3
aws ec2 describe-key-pairs
aws ec2 import-key-pair \
--key-name key1 \
--public-key-material fileb:///home/ec2-user/.ssh/authorized_keys
aws ec2 describe-key-pairs
-- 5. 大阪リージョンでEC2インスタンス作成
export AWS_DEFAULT_REGION=ap-northeast-3
インポートしたキーペアを指定してEC2起動
aws ec2 run-instances \
--image-id ami-33333333333333333 \
--instance-type t3.nano \
--key-name key1 \
--tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=work}]' \
--instance-market-options '{"MarketType": "spot","SpotOptions": {"SpotInstanceType": "one-time"}}'
東京リージョンで使用しているキーペアでログインできるか確認 →ログイン可能
キーペア指定なしでEC2起動
aws ec2 run-instances \
--image-id ami-33333333333333333 \
--instance-type t3.nano \
--tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=work2}]' \
--instance-market-options '{"MarketType": "spot","SpotOptions": {"SpotInstanceType": "one-time"}}'
東京リージョンで使用しているキーペアでログインできるか確認 →AMIにauthorized_keysが含まれるのでログイン可能
-- 6. クリーンアップ
---- 大阪リージョン
export AWS_DEFAULT_REGION=ap-northeast-3
-- EC2インスタンスの削除
aws ec2 describe-instances
aws ec2 describe-instances | jq -r '.Reservations.Instances | { InstanceId, State }'
aws ec2 terminate-instances \
--instance-ids i-44444444444444444
aws ec2 terminate-instances \
--instance-ids i-55555555555555555
-- AMIの削除
aws ec2 describe-images \
--owners self
aws ec2 deregister-image \
--image-id ami-33333333333333333
-- スナップショットの削除
aws ec2 describe-snapshots \
--owner-ids self
aws ec2 delete-snapshot \
--snapshot-id snap-66666666666666666
-- キーペアの削除
aws ec2 describe-key-pairs
aws ec2 delete-key-pair \
--key-name key1
---- 東京リージョン
export AWS_DEFAULT_REGION=ap-northeast-1
-- AMIの削除
aws ec2 describe-images \
--owners self
aws ec2 deregister-image \
--image-id ami-22222222222222222
-- スナップショットの削除
aws ec2 describe-snapshots \
--owner-ids self
aws ec2 delete-snapshot \
--snapshot-id snap-77777777777777777