#AMIからリストア時に別のキーペアを選択するとどうなるか
そもそもの始まりは、東京リージョンで作成したEC2をAMI取得してバージニアリージョンで
新しく起動させる際に「キーペア」の選択画面で既存のキーがなかったのであれ?と思い調べた次第です。
ついでにキーペアを別のものを選択したら上書き?とかいろいろ疑問で調べました。
##キーペアはリージョン別
まず調べてみたところ、キーペアはアカウント内共有ではなくリージョン別のようです。
明確にドキュメントに記載は見つかりませんでしたがリージョンあたりと記載があるので間違いないと思います。
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-key-pairs.html
キーペアを作成する
Amazon EC2 が使用するキーは、2048-bit SSH-2 RSA キーです。リージョンあたり最大 5000 のキーペアを持つことができます。
##検証してみる
東京リージョンにAmazonLinuxを起動させて、AMIを取得して3パターン試しました。
①AMIから東京リージョンで作成した別のキーペアを選択して起動
②AMIをバージニアにコピーして、バージニアリージョンに作成したキーペアを選択して起動
③AMIをバージニアにコピーして、キーペアの選択はなしで起動
##①AMIから東京リージョンで作成した別のキーペアを選択して起動
まずは起動したEC2に接続してみます。
$ ssh -i ap-northeast-1-001.pem ec2-user@10.0.136.237
接続先のauthorized_keysを確認します。
$ cat .ssh/authorized_keys
ssh-rsa xxxxxxxx........ ap-northeast-1-001
$ md5sum .ssh/authorized_keys
f6128bdb94c2179c6f9183d40dedd908 .ssh/authorized_keys
次にAMIを取得して、先ほどとは別のキーペアを指定して新しいインスタンスを作成します。
(EC2の作成過程は省略します)
ssh -i ap-northeast-1-002.pem ec2-user@10.0.136.160
[ec2-user@ip-10-0-136-160 ~]$
では、先ほどのAMIの取得したEC2に選択したキーペア「ap-northeast-1-001.pem」でログインを試します。
ssh -i ap-northeast-1-001.pem ec2-user@10.0.136.160
[ec2-user@ip-10-0-136-160 ~]$
無時ログインできました。authorized_keysを見てみましょう。
$ cat .ssh/authorized_keys
ssh-rsa xxxxxxxx........ ap-northeast-1-001
ssh-rsa xxxxxxxx........ ap-northeast-1-002
$ md5sum .ssh/authorized_keys
c87931fc2d2949c6bb7304152c3d3381 .ssh/authorized_keys
##②AMIをバージニアにコピーして、バージニアリージョンに作成したキーペアを選択して起動
AMIもキーペアと同じく、リージョン別になるためAMIはコピーしておき
コピーしたAMIからインスタンスを作成します。
$ ssh -i us-east-1.pem ec2-user@172.31.38.107
[ec2-user@ip-172-31-38-107 ~]$
$ cat .ssh/authorized_keys
ssh-rsa xxxxxxxx........ ap-northeast-1-001
ssh-rsa xxxxxxxx........ us-east-1
$ md5sum .ssh/authorized_keys
de006191497abe8ba53e88856c3fcda8 .ssh/authorized_keys
##③AMIをバージニアにコピーして、キーペアの選択はなしで起動
東京リージョンでAMIを取得しキーペアはなしで起動します。
$ ssh -i ap-northeast-1-001.pem ec2-user@172.31.39.140
[ec2-user@ip-172-31-39-140 ~]$
$ cat .ssh/authorized_keys
ssh-rsa xxxxxxxx........ ap-northeast-1-001
$ md5sum .ssh/authorized_keys
f6128bdb94c2179c6f9183d40dedd908 .ssh/authorized_keys
##まとめ
結論はキーペアを別のものを選択するとssh/authorized_keysに鍵が追記されていくでした。
ちゃんと読んだらドキュメントにも書いてありました。。。
インスタンスから Linux AMI を作成し、AMI を使用して別のリージョンまたはアカウントの新しいインスタンスを起動すると、新しいインスタンスには元のインスタンスからのパブリックキーが含まれます。これにより、元のインスタンスと同じプライベートキーファイルを使用して新しいインスタンスに接続できます。
勝手に自動で上書きかと思ってました。
まあ鍵なくしたらAMIからキーペアを作成して起動すれば問題ないですね!(鍵なくすなよ)
以上です。