この記事では、AWSのEC2インスタンスを作成し、セッションマネージャーを使用する際の初期設定方法について解説します。
以下の記事からワードプレス用のEC2インスタンスを作成している方は、デフォルトでセッションマネージャーの使用に必要なSSMエージェントがサーバにインストールされていません。
-
-
AWSでワードプレスブログを立ち上げる方法
続きを見る
まずはSSMエージェントのインストールが必要ですので、以下の記事からインストールしてみてください。
-
-
SSMエージェントのインストール【AWSで開設するワードプレス】
続きを見る
それでは、上記の記事でサーバにSSMエージェントがインストールされていることを前提に解説していきます。
※Linux AMIなどでEC2インスタンスを作成された方は、デフォルトでインストールされています。どちらかよく分からない方は、先にこの記事の手順を進め、できなければSSMマネージャーのインストールという流れで良いかもしれません。
目次
AMロールの作成
EC2インスタンス管理画面からIAMロールの変更を行う
まずは、いつもお馴染みのEC2インスタンスの管理画面にアクセスし、セッションマネージャーの権限を与えたいインスタンスの左にチェックを入れ、赤枠の「アクション」→「セキュリティ」→「IAMロールを変更」の順に押して行ってください。

次に以下のような画面が表示されるので「新しいIAMロールを作成」を選択してください。
ウインドウが変わりますが、こちらのページから後で作業を続けるので、そのままにしておいたほうが便利です。

次に以下のような画面に遷移するので、「ロールの作成」を押してください。

IAMを使用するサービスの選択
次の画面ではデフォルトの「AWSサービス」のまま、赤枠の「EC2」を選択し、画面右下の「次のステップ:アクセス権限」を押してください。

アクセス権限ポリシーのアタッチ
次に以下のような画面に遷移します。
ポリシーのフィルタに「amazonec2roleforssm」と入力し、ポリシー名が「AmazonEC2RoleforSSM」と書かれたものにチェックを入れ、「次のステップ:タグ」を押してください。

タグの追加
次にタグの追加を行います。こちらは、目印のようなものなので何でも良いのですが、キーに「Name」、値に表示させたい名前を入力しておきましょう。今回であればセッションマネージャーに接続するための役割なので「SessionManager」などが分かりやすいかもしれません。書けたら「次のステップ:確認」を押してください。

確認
最後にロール名にNameと同じく分かりやすい名前を入力し、赤枠のポリシーの部分に「AmazonEC2RoleForSSM」があることを確認してください。良ければ「ロールの作成」を押しましょう。

画面が遷移して、ロールの一覧の中に先ほど作成した名前のロールが確認できれば完了です!

作成したIAMロールをEC2インスタンスにアタッチ
それでは、先ほどウインドウを切り替えた時がありましたね。もう一度そちらのウインドウに戻り、ブラウザを更新してみましょう。
「IAMロールを選択」の検索バーをクリックすると先ほど作成した名前のロールが出てくるはずです。クリックして、「保存」を押しましょう。これで、EC2インスタンスに作成したIAMロールが付与されたことになります。

セッションマネージャーへ接続する
EC2インスタンスの再起動
IAMロールをつけたままだと更新されないので、再起動をします。EC2インスタンスの管理画面でEC2インスタンスにチェックを入れ、赤枠の「インスタンスの状態」→「インスタンスを再起動」の順に押していってください。再起動の確認画面が表示されるので、再び「再起動」を押します。

数十秒立つと、画面上は再起動が完了するのですが、IAMロールの反映は若干時間差があることがあります。とりあえず赤枠の「接続」を押しましょう。

次の画面で、真ん中の「セッションマネージャー」を押してください。ここで設定したIAMロールが無事反映されていれば、「接続」を押せるようになっています。「接続」を押してセッションマネージャーに入ってみてください。

以下のような黒い画面が表示されれば成功です。TeraTermと同じようにコマンドを入力すると返してくれます。試しに「date」と打ってみたところちゃんと時間が表示されました。
確認が終わったら「exit」または、右上の「終了」から終了できます。

エラーの場合
もし以下のようなエラーが表示される場合も焦らず少し時間をおいてからもう一度画面を開いてみてください。IAMの反映は結構時差があります。

これで、毎度TeraTermを開かなくても、AWS上でサーバにアクセスできるようになりました。TeraTermに比べ使用できる機能はいくつか制限されていますが、日ごろの操作ではほとんど影響がないのと、セキュリティグループでSSHを毎度IPアドレスを更新しなくて良くなるのでかなり便利になったと思います。
必須の設定ではありませんが、サーバへのアクセスを頻繁にされる方はぜひ設定してみてください。
また、冒頭でも書きましたが、SSMエージェントがサーバ内にインストールされていないと、セッションマネージャーの使用はできません。まだできていない方は以下の記事からインストールしてみてください。
-
-
SSMエージェントのインストール【AWSで開設するワードプレス】
続きを見る