Amazon EC2へセッションマネージャーでログイン

こんにちは、かっぺいです。
EC2への接続方法のひとつとして、セッションマネージャーという機能があるので、その説明です。

セッションマネージャーとは

EC2への接続方法として、パブリックIPを持ったインスタンスを踏み台にしてSSHログインが普通です。
セッションマネージャーを使うと、SSHキーと踏み台ホスト無しでマネージメントコンソールからブラウザでログインすることができます。
つまり、セッションマネージャーを利用すると、プライベートサブネットにあるインスタンスに、マネージメントコンソールから直接ログインすることが可能となります。

セキュリティグループ設定で、SSHをオープンにする必要がなくなるので、パブリックサブネットでもセキュリティとして非常に有効です。

IAMロール

セッションマネージャーを利用するためには、IAMロールでポリシーをアタッチする必要があります。

  1. IAMから、ロールを開き、「ロールを作成」を選びます
  2. 信頼されたエンティティタイプに「AWSのサービス」を選びます
  3. ユースケースのサービスで「EC2」を選び、ユースケースで「EC2 Role for AWS System Manager」を選び「次へ」を選びます
  4. すでに必要なポリシーが選ばれているので、「次へ」を選びます
  5. ロール名に適切な名前を入力して、「ロールを作成」を選ぶとロールが作成されます

EC2インスタンス

EC2インスタンスに、作成したIAMロールをアタッチします。
また、セッションマネージャーを利用するためには、必要なサービスをインストールする必要がありますが、AmazonLinuxやAmazonが用意したWindowsServerの場合、すでにインストールされていますので、IAMロールをアタッチすることで、利用が可能です

サブネット・セキュリティグループ

セッションマネージャーを利用するには、インスタンスがインターネットアクセスできることが条件となっています。
プライベートサブネットでは、NATゲートウェイなどを利用してインターネットアクセスできるようになっている必要があります。

セッションマネージャーでの接続

接続方法は、マネージメントコンソールからEC2を選び、インスタンスを選択します。
その後、接続したいEC2インスタンスを選び、接続ボタンを選びます。

接続メニューが開くので、セッションマネージャーを選びます。

セッションマネージャーが有効になっている場合は、接続ボタンが押せるようになっています。
押せない場合は、IAMロールなどを確認しましょう。インスタンス起動した状態で、IAMロールをアタッチした場合、Linux/Windowsからはすぐには有効になりません。
IAMロールをアタッチして、すぐ確認したい場合は、インスタンスの再起動を行いましょう。

ファイルの転送など

セッションマネージャーで接続した場合、SSHクライアントみたいなファイルの送受信をブラウザから行うことはできません。
S3を経由するなどの方法で、ファイル送受信を行いましょう。