LoginSignup
5
3

More than 5 years have passed since last update.

EC2をAMIからリストアする際にキーペアをどうするか

Last updated at Posted at 2018-04-08

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 のキーペアを持つことができます。

検証してみる

image.png

東京リージョンに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からキーペアを作成して起動すれば問題ないですね!(鍵なくすなよ)

以上です。

5
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3