type
status
date
slug
summary
tags
category
icon
password
理論
AWS EC2 Instance Connectは、SSH接続を安全かつ効率的に管理するためのサービスです。これにより、従来のSSHキーの管理から解放され、接続履歴をAWS CloudTrailで記録できます。
主なポイント:
- SSHキーの管理不要: EC2 Instance Connectでは、事前にSSHキーを設定する必要がありません。接続時に一時的な公開鍵を生成し、インスタンスに送信することで、セキュアな接続を確立します。
- CloudTrailによる監査: 接続試行や成功した接続は、すべてAWS CloudTrailに記録されます。これにより、誰がいつインスタンスにアクセスしたかを詳細に監査できます。
- ブラウザベースの接続: AWS Management Consoleから直接インスタンスに接続できるため、SSHクライアントの設定や管理が不要です。これにより、接続手順が簡素化されます。
設定手順の概要:
- インスタンスの準備: Amazon Linux 2やUbuntu 16.04以降のインスタンスを使用します。インスタンスにはパブリックIPアドレスが必要です。
- セキュリティグループの設定: インスタンスのセキュリティグループで、ポート22(SSH)へのインバウンドトラフィックを許可します。特に、EC2 Instance Connect用のプレフィックスリストを使用することが推奨されます。
- IAMポリシーの設定: 接続を行うIAMユーザーまたはロールに、
ec2-instance-connect:SendSSHPublicKey
アクションを許可するポリシーをアタッチします。これにより、EC2 Instance Connectを通じてインスタンスに接続できるようになります。
- 接続の実行: AWS Management Consoleから対象のインスタンスを選択し、「Connect」ボタンをクリックします。表示される指示に従って接続を確立します。
これらの手順を通じて、EC2 Instance Connectを利用した安全なSSH接続と、接続履歴の監査を実現できます。
実践
略
一問道場
質問 #321
トピック 1
あるリサーチ会社がAWS Cloudで高い需要に対応するため、毎日シミュレーションを実行しています。シミュレーションは、Amazon Linux 2を基盤とした数百のAmazon EC2インスタンスで実行されています。時々、シミュレーションが停止し、クラウドオペレーションエンジニアがEC2インスタンスにSSHで接続して問題を解決する必要があります。会社の方針では、同じSSHキーを使用することはできず、すべての接続はAWS CloudTrailにログとして記録されなければなりません。
ソリューションアーキテクトはどのようにしてこれらの要件を満たすことができますか?
A. 新しいEC2インスタンスを起動し、各インスタンスに個別のSSHキーを生成します。SSHキーをAWS Secrets Managerに保存します。新しいIAMポリシーを作成し、それをエンジニアのIAMロールにアタッチし、GetSecretValueアクションを許可するステートメントを追加します。エンジニアには、SSHクライアントを使用して接続する際にSecrets ManagerからSSHキーを取得するように指示します。
B. AWS Systems Managerドキュメントを作成して、EC2インスタンスでコマンドを実行し、新しい一意のSSHキーを設定します。新しいIAMポリシーを作成し、それをエンジニアのIAMロールにアタッチし、Systems Managerドキュメントを実行するための許可ステートメントを追加します。エンジニアには、ドキュメントを実行してSSHキーを設定し、SSHクライアントを使用して接続するように指示します。
C. 新しいEC2インスタンスを起動し、インスタンスにSSHキーを設定せずに、EC2インスタンス接続を各インスタンスに設定します。新しいIAMポリシーを作成し、それをエンジニアのIAMロールにアタッチし、SendSSHPublicKeyアクションを許可するステートメントを追加します。エンジニアには、EC2コンソールからブラウザベースのSSHクライアントを使用してインスタンスに接続するように指示します。
D. AWS Secrets Managerを設定してEC2 SSHキーを保存します。新しいAWS Lambda関数を作成し、新しいSSHキーを作成して、AWS Systems Manager Session Managerを呼び出してEC2インスタンスにSSHキーを設定します。Secrets ManagerがLambda関数を使用して、毎日自動的にキーをローテーションするように設定します。エンジニアには、SSHクライアントを使用して接続する際にSecrets ManagerからSSHキーを取得するように指示します。
解説
このシナリオでは、AWS CloudTrailにすべての接続を記録し、同じSSHキーを使用せずにEC2インスタンスにアクセスする必要があります。この要件を満たすために、EC2 Instance Connectを利用する方法が適切です。EC2 Instance Connectを使用すると、IAMポリシーによるアクセス制御が可能で、接続リクエストはすべてCloudTrailに記録されます。また、ブラウザベースのSSHクライアントを使用して接続できるため、SSHキーを事前に設定する必要がありません。
選択肢の評価:
- A. 新しいEC2インスタンスを起動し、各インスタンスに個別のSSHキーを生成し、AWS Secrets Managerに保存します。エンジニアはSecrets ManagerからSSHキーを取得して接続します。この方法では、同じSSHキーを使用しないという要件を満たしますが、CloudTrailに接続を記録するためには、SSH接続のログを適切に設定する必要があります。
- B. AWS Systems Managerドキュメントを作成して、EC2インスタンスでコマンドを実行し、新しい一意のSSHキーを設定します。エンジニアはドキュメントを実行してSSHキーを設定し、SSHクライアントを使用して接続します。この方法も同様に、SSHキーを個別に設定できますが、CloudTrailへの接続記録の設定が必要です。
- C. 新しいEC2インスタンスを起動し、インスタンスにSSHキーを設定せず、EC2インスタンス接続を各インスタンスに設定します。エンジニアはEC2コンソールからブラウザベースのSSHクライアントを使用してインスタンスに接続します。この方法では、SSHキーを事前に設定する必要がなく、接続はCloudTrailに記録されます。ただし、EC2 Instance Connectを使用するためには、インスタンスにEC2 Instance Connectがインストールされている必要があります。
- D. AWS Secrets Managerを設定してEC2 SSHキーを保存し、新しいAWS Lambda関数を作成して、SSHキーを生成し、AWS Systems Manager Session Managerを使用してEC2インスタンスにSSHキーを設定します。Secrets ManagerがLambda関数を使用して、毎日自動的にキーをローテーションします。エンジニアはSSHクライアントを使用して接続する際にSecrets ManagerからSSHキーを取得します。この方法では、SSHキーのローテーションが自動化されますが、CloudTrailへの接続記録の設定が必要です。
推奨される解決策:
C. 新しいEC2インスタンスを起動し、インスタンスにSSHキーを設定せず、EC2インスタンス接続を各インスタンスに設定します。新しいIAMポリシーを作成し、それをエンジニアのIAMロールにアタッチし、SendSSHPublicKeyアクションを許可するステートメントを追加します。エンジニアには、EC2コンソールからブラウザベースのSSHクライアントを使用してインスタンスに接続するように指示します。この方法では、同じSSHキーを使用せず、接続はCloudTrailに記録されます。ただし、インスタンスにEC2 Instance Connectがインストールされていることを確認する必要があります。
- 作者:みなみ
- 链接:https://tangly1024.com/資格勉強/177d7ae8-88e2-80fd-86b7-ec1cd88c434f
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章