AWS Systems ManagerでEC2インスタンスを管理するための初期設定


AWS Systems Manager (SSM) を用いて、EC2インスタンスを管理するための初期設定について記載します。

AWS Systems Manager (SSM) とは

AWS Systems Manager (以下、SSM) は、AWSリソースの設定や状態を収集して閲覧したり、AWSリソースに対してタスクの自動実行が行える運用自動化サービスです。
最近、業務で使用していて、便利さを実感しているサービスの一つです。

初期設定

ここから初期設定に入ります。

1. IAMロールの作成

管理対象のEC2インスタンスにアタッチするためのIAMロールを作成します。
このIAMロールは、EC2インスタンス内のSSMエージェントとSSMがやり取りするために必要になります。
「AmazonSSMManagedInstanceCore」というビルトインポリシーを割り当てます。



作成したIAMロールの信頼関係に「ssm.amazonaws.com」を追加します。


2. EC2インスタンスへのIAMロールのアタッチ

管理対象のEC2インスタンスに、先ほど作成したIAMロールをアタッチします。

3. EC2インスタンスへのSSMエージェントのインストール

デフォルトでSSMエージェントがインストールされたAMIと、インストールされていないAMIがあるので、以下のリンクをご確認ください。
SSMエージェントがインストールされていないOSについては、ダウンロードしインストールすることになります。
インストール方法についても以下のリンクをご確認ください。

Windows インスタンスで SSM エージェント をインストールし設定する - AWS Systems Manager
Amazon EC2 Linux インスタンスで SSM エージェント をインストールし設定する - AWS Systems Manager

4. EC2インスタンスからSSMエンドポイントへの通信設定

SSMを使用するためには、EC2インスタンスがSSMエンドポイントとHTTPS(443ポート)のアウトバウンドで通信できる必要があります。
インターネットに接続できない環境であれば、VPCエンドポイントを設定する必要があります。

Systems Manager を使用したインターネットアクセスなしでのプライベート EC2 インスタンスの管理

マネージドインスタンスへの登録確認

上記の設定が完了すると、[マネージドインスタンス]に管理対象のEC2インスタンスが表示されます。
表示されていれば、EC2インスタンス内のSSMエージェントとSSMが通信できている証拠です。

動作確認

SSMから管理対象EC2インスタンスに向けて、コマンドを実行し、結果を確認してみたいと思います。

「AWS-RunShellScript」を選択し、対象インスタンス内でShellScriptコマンドを実行させます。
ここではコマンドとして、以下を実行させます。

#!/bin/bash

uname -a

実行結果を確認します。

さいごに

今回はSSMの初期設定について投稿しました。
次回はSSMを用いた運用自動化について投稿したいと思います。