AWS Systems Managerセッションマネージャーの使い方

  • 2021年4月4日
  • 2021年4月4日
  • AWS

今回はAWS Systems Manager(SSM)のセッションマネージャーの使用方法について説明します。

対象読者

ずばり、EC2にターミナルやTera Termを使ってSSH接続している人です。

現在の課題

EC2を構築してSSH接続するとき、大体こんな感じのコマンドを入力すると思いますが、面倒くさいですよね。

ssh -i xxxxxx.pem ec2-user@1.1.1.1

しかも、踏み台EC2インスタンスを経由して接続する場合はProxyCommandを使う必要もあり、いちいちやってられません。

ProxyCommandについては知らなくても大丈夫です。気になる人は以下の記事をご覧ください。

ProxyCommandを使って踏み台(Bastion)経由で直接ssh/scpする | DevelopersIO

AWS Systems Managerのセッションマネージャーが最高に楽

セッションマネージャーというのはSSMの機能のひとつです。

セッションマネージャーを使うための準備

準備はすぐにできます。簡単に言うと以下の条件が必要です。

  1. SSMエージェントがEC2にインストールされ起動している
  2. EC2がインターネットに接続できる(※)
  3. EC2に適切なIAMロールがアタッチされている
※正確に言うと、EC2がSSMエンドポイントとEC2メタデータサービスにアクセスできることが条件です。シンプルにするため、このような表現をしています。詳細は下記をご確認ください。
Amazon Web Services, Inc.

それでは、やり方を見ていきましょう。

準備1 : SSMエージェントについて(何もする必要なし)

SSMエージェントはSSMを使うために、EC2にインストールするエージェントソフトです。

EC2のAmazonLinux2ではSSMエージェントがデフォルトでインストールされているので、何もする必要はありません。

準備2 : EC2がインターネットに接続できる

今回は簡単にするために、パブリックサブネットにEC2を構築してインターネットに接続できるようにしておきます。

これでインターネットには接続できるので準備OKです。

パブリックサブネットってなに?って人はこちらの動画を見てください。

※NATゲートウェイ+プライベートサブネットの構成でもOKです。インターネット側からEC2にアクセスできる必要はなく、あくまでEC2からインターネットに出られればOK。

準備3 :IAMロールを準備

セッションマネージャーを使うために「AmazonSSMManagedInstanceCore」というIAMポリシーをもつIAMロールをEC2に付与する必要があります。

まずはそのIAMロールを作成しましょう。ユースケースの選択ではEC2を選択します。

付与するポリシーは「AmazonSSMManagedInstanceCore」です。チェックを入れて次に行きます。

最後に好きな名前をつけてIAMロールを作成します。これで終わり。

EC2を起動する

準備ができたのでEC2を起動します。

大事なのはここです。EC2のIAMロールで先ほど作成したIAMロールを選択します。

そしてこのままEC2を起動します。

起動したらEC2コンソール画面の右上にある[接続]をクリックします。

セッションマネージャーのタブから接続を選択します。

これでEC2に接続できます。めっちゃ簡単じゃないですか。

今回は以上です。

最新情報をチェックしよう!