Amazon EC2 Instance Connect
SSH キーの事前配布なしに EC2 インスタンスに安全に接続するサービス
何ができるか
Amazon EC2 Instance Connect は、SSH キーペアを事前に配布・管理することなく、EC2 インスタンスに安全に接続するサービスです。一時的な SSH 公開鍵をインスタンスのメタデータにプッシュし、60 秒間だけ有効な接続を確立します。IAM ポリシーでアクセスを制御でき、接続ログは CloudTrail に記録されます。
どのような場面で使うか
開発者が EC2 インスタンスにトラブルシューティングのために接続する場合や、SSH キーの管理を簡素化したい場合に利用されます。ブラウザベースの接続も可能で、ローカルに SSH クライアントがなくても接続できます。 この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。
身近な例え
ホテルのカードキーシステムに例えられます。宿泊者 (開発者) がフロント (IAM) で身分証明を行うと、滞在期間だけ有効なカードキー (一時 SSH 鍵) が発行されます。チェックアウト後はカードキーが無効になるため、鍵の紛失リスクがありません。
EC2 Instance Connect とは
この記事は約 2 分で読めます。 EC2 Instance Connect は、SSH 接続のセキュリティと利便性を両立するサービスです。従来の SSH 接続では秘密鍵ファイルの管理が必要でしたが、Instance Connect では IAM 認証に基づいて一時的な鍵が自動生成されます。AWS マネジメントコンソールからブラウザ上で直接ターミナルを開くこともできます。
接続方法
接続方法は 3 つあります。AWS マネジメントコンソールからブラウザベースで接続する方法、AWS CLI の ec2-instance-connect コマンドを使う方法、通常の SSH クライアントと組み合わせる方法です。いずれの場合も、IAM ポリシーで接続を許可されたユーザーのみがアクセスでき、接続イベントは CloudTrail に記録されます。
はじめかた
EC2 コンソールでインスタンスを選択し、「接続」ボタンをクリックするだけで利用できます。Instance Connect エンドポイントを VPC に作成すれば、プライベートサブネットのインスタンスにもパブリック IP なしで接続可能です。セキュリティグループで Instance Connect の IP 範囲からの SSH を許可する設定が必要です。
Azure・オンプレミスとの比較
AWS の優位点
- 一時的な SSH 鍵を自動生成するため、長期間有効な秘密鍵の管理・ローテーションが不要
- IAM ポリシーで接続権限を細かく制御でき、CloudTrail で全接続を監査可能
- Instance Connect Endpoint を使えば、パブリック IP やインターネットゲートウェイなしでプライベートインスタンスに接続可能
注意点
- Instance Connect は Amazon Linux 2、Ubuntu 16.04 以降でサポートされている。Windows インスタンスには対応していない
- プライベートサブネットのインスタンスに接続するには、Instance Connect Endpoint の作成が必要
さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。