https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-serial-console.html
インスタンスごとにサポートされるアクティブなシリアルコンソール接続は 1 つだけです。
シリアルコンソール接続は、通常、終了しない限り 1 時間続きます。
シリアルコンソールから切断した後、新しいセッションを許可するためにセッションを終了処理するには、30 秒かかります。
-- 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
-- 2. テスト用EC2インスタンス作成
aws ec2 run-instances \
--image-id ami-0404778e217f54308 \
--instance-type t3.nano \
--key-name key1 \
--tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=instance01}]' \
--instance-market-options '{"MarketType": "spot","SpotOptions": {"SpotInstanceType": "one-time"}}'
-- 3. シリアルコンソールへのアカウントアクセスを許可する
aws ec2 enable-serial-console-access
aws ec2 get-serial-console-access-status
-- 4. EC2 シリアルコンソールに接続する
※事前にOSユーザのパスワードを設定しておく
ssh-keygen
aws ec2-instance-connect \
send-serial-console-ssh-public-key \
--instance-id i-11111111111111111 \
--serial-port 0 \
--ssh-public-key file://~ec2-user/.ssh/id_rsa.pub
SSH パブリックキープッシュ後60秒以内に接続実行
ssh -i ~ec2-user/.ssh/id_rsa i-11111111111111111.port0@serial-console.ec2-instance-connect.ap-northeast-1.aws
エンターキーを押すとログインプロンプトが出る
シリアルコンソールを終了する場合は下記コマンドを実行
~.
-- 5. クリーンアップ
-- EC2インスタンスの削除
aws ec2 describe-instances
aws ec2 terminate-instances --instance-ids i-11111111111111111
-- シリアルコンソールへのアカウントアクセスを拒否する
aws ec2 disable-serial-console-access
aws ec2 get-serial-console-access-status