[AWS]
[EC2]
[ElasticBeanstalk]

EB CLI からEC2へキーペアを使った接続

CIサーバー(踏み台サーバー)からEB CLIでEC2にアプリケーションのデプロイをする運用をしている。

EC2インスタンスに接続する際は、キーペアによる認証を行う。
CIサーバーで複数ユーザーを持ち、それぞれでEC2に接続する場合は、キーペア作成時にローカル(ここではCIサーバー)に作成したプライベートキーを配布することで接続できるようになる。

ちなみに各ユーザーごとにキーペアを登録することもできるよう。
Amazon EC2 のキーペア - Amazon Elastic Compute Cloud
→複数ユーザー用のキーペア

キーペアmy-key-pair作成時に、プライベートキーmy-key-pair.pemを、~/.sshに作っておくと、このキーペアでEC2に接続できる。
プライベートキーを保存できるのは、キーペア作成時のみ。
このプライベートキーを、複数ユーザーで使いまわすことで、持っている人がEC2に接続できる。

キーペア登録とプライベートキー保存のやり方

ciサーバにログイン。
AWS CLIを(設定していない場合は)設定する。

$ aws configure
AWS Access Key ID [None]: ***
AWS Secret Access Key [None]: ***
Default region name [None]: ap-northeast-1
Default output format [None]: text

参考
AWS CLI の設定
AWS CLIのインストールから初期設定メモ - Qiita

コマンドラインでmy-key-pairキーペアの作成とプライベートキー保存

$ aws ec2 create-key-pair --key-name my-key-pair --query 'KeyMaterial' --output text > ~/.ssh/my-key-pair.pem
# ファイルの中身が正しいか確認。

参考
キーペアの使用 - AWS Command Line Interface

パーミッションを400に変更。
他ユーザーに配布する場合は、コピーしてオーナーとグループを変更。
セキュリティ上、プライベートキーをサーバ外部に持ち出さないこと。

AWSのEC2コンソール画面から、該当のEC2のキーペアを変更。
(インスタンスの再起動が走る。)

eb ssh成功!