【画像付き手順解説】:
プライベートサブネットのEC2サーバでSystems Managerを使用する

AWSで仮想プライベート空間(VPC)を構築し、パブリックサブネットプライベートサブネットを構築するような場合があるかと思います。例えば、以下のような構成です。

プライベートサブネット
(クリックすると画像が拡大されます。)

パブリックサブネット内のEC2サーバは「AWS Systems Manager」からアクセス可能であるため、通常どおりSystems Managerを使用できます。

しかし、プライベートサブネット内のEC2サーバはそのままでは「AWS System Manager」からアクセスできず、Systems Managerを使えないわけです。

そこで、今回は「プライベートサブネットのEC2サーバでSystem Managerを使用するために何をすればよいか」解説します。

VPCの構築方法やSystems Managerを使用したアクセス方法など参考記事も貼っておきますので、興味があればご覧ください。

Recommended You
【画像付手順】:
VPCを使用してプライベートサブネットを構築する

VPCを使用したプライベートサブネットの実装方法を紹介しています。興味があればぜひご覧ください。

Recommended You

WindowsのEC2にAWS Systems Managerでアクセスする

System Managerを使用したEC2への接続方法を紹介しています。興味があればぜひご覧ください。

プライベートサブネットのEC2サーバでSystem Managerを使用するために必要なこと

プライベートサブネット内のEC2でSystems Managerを使用するには以下の3つの作業が必要です。

追加で必要な設定
  • VPC の DNS 属性の「 DNS ホスト名」を有効にする
  • 「プライベートDNS名」が有効なVPCエンドポイントを3つ作成する
  • 対象のEC2にSystems Managerをセットアップする

Systems Managerを使用するにはVPCの設定変更およびVPCエンドポイントの構築が必要です。

ssm-agentはEC2に最初からインストールされている場合もありますが、古い可能性もあるのでSystems Managerから更新できるようにセットアップしておいた方がよいでしょう。

VPCのDNS属性の「DNSホスト名」を有効にする

まずはVPCの設定変更から。

VPCコンソール画面でVPCパネルからSystems Managerを使用したいVPCを選択して「アクション」をクリックし、「DNSホスト名を編集」をクリックします。

DNSホスト名を編集画面ではDNSホスト名の有効化にチェックし、「変更を保存」をクリックします。

VPCの「DNSホスト名」有効化
(クリックすると画像が拡大されます。)

「プライベートDNS名」が有効なVPCエンドポイントを3つ作成する

VPCエンドポイントは以下の3つを構築する必要があります。いずれも「プライベートDNS名を有効」なエンドポイントとして作成する必要があります。

作成するエンドポイント
  • com.amazonaws.ap-northeast-1.ssm
  • com.amazonaws.ap-northeast-1.ssmmessages
  • com.amazonaws.ap-northeast-1.ec2messages

それでは、それぞれのエンドポイントを構築します。

VPCコンソール画面からエンドポイントパネルを開き「エンドポイントの作成」をクリックします。

エンドポイントの作成開始
(クリックすると画像が拡大されます。)

エンドポイントの作成画面ではサービスカテゴリで「AWSサービス」を選択し、検索窓に「ssm」と入力してサービスを検索して「com.amazonaws.ap-northeast-1.ssm」を選択します。

Systems Managerを使用したいVPCとサブネットを選択し、プライベートDNS名を有効にするの「このエンドポイントで有効にする」にチェックを付けます。

セキュリティグループは新しく作成するため、「新規セキュリティグループを作成」をクリックします。

ssmエンドポイントの作成1/3
(クリックすると画像が拡大されます。)

セキュリティグループパネルが表示されたら、「セキュリティグループを作成」をクリックし、「セキュリティグループ名」、「説明」を入力してVPCを選択します。

インバウンドルールには以下を設定してください。

  • タイプ:カスタムTCP、ポート範囲:443、ソース:【サブネットのCIDR】

※ CIDRにはVPCのCIDRを網羅的に設定することをオススメします。
  ここで許可していないCIDRでは(パブリックサブネットでも)Systems Managerが使用できなくなります。

例えば、パブリックサブネットとプライベートサブネットのどちらからもSystems Managerを使用する場合には以下のように2通り設定します。

  • タイプ:カスタムTCP、ポート範囲:443、ソース:【パブリックサブネットのCIDR】
  • タイプ:カスタムTCP、ポート範囲:443、ソース:【プライベートサブネットのCIDR】

すべて入力したら「セキュリティグループを作成」をクリックし、エンドポイントの作成画面に戻ります。

ssmエンドポイントの作成2/3
(クリックすると画像が拡大されます。)

エンドポイントの作成画面に戻って、先ほど作成したセキュリティグループを選択し、「エンドポイントの作成」をクリックします。

ssmエンドポイントの作成3/3
(クリックすると画像が拡大されます。)

続いてエンドポイント(com.amazonaws.ap-northeast-1.ssmmessages)を作成します。

VPCコンソール画面からエンドポイントパネルを開き「エンドポイントの作成」をクリックします。

エンドポイントの作成開始
(クリックすると画像が拡大されます。)

エンドポイントの作成画面ではサービスカテゴリで「AWSサービス」を選択し、検索窓に「ssm」と入力してサービスを検索して「com.amazonaws.ap-northeast-1.ssmmessages」を選択します。

System Managerを使用したいVPCとサブネットを選択し、プライベートDNS名を有効にするの「このエンドポイントで有効にする」にチェックを付けます。

セキュリティグループは上記のエンドポイント(com.amazonaws.ap-northeast-1.ssm)作成時に作成したものを選択します。

すべて入力したら「エンドポイントの作成」をクリックします。

ssmmessagesエンドポイントの作成
(クリックすると画像が拡大されます。)

続いてエンドポイント(com.amazonaws.ap-northeast-1.ec2messages)を作成します。

VPCコンソール画面からエンドポイントパネルを開き「エンドポイントの作成」をクリックします。

エンドポイントの作成開始
(クリックすると画像が拡大されます。)

エンドポイントの作成画面ではサービスカテゴリで「AWSサービス」を選択し、検索窓に「ec2」と入力してサービスを検索して「com.amazonaws.ap-northeast-1.ec2messages」を選択します。

Systems Managerを使用したいVPCとサブネットを選択し、プライベートDNS名を有効にするの「このエンドポイントで有効にする」にチェックを付けます。

セキュリティグループは上記のエンドポイント(com.amazonaws.ap-northeast-1.ssm)作成時に作成したものを選択します。

すべて入力したら「エンドポイントの作成」をクリックします。

ec2messagesエンドポイントの作成
(クリックすると画像が拡大されます。)

3つのエンドポイントが作成出来たら、VPCコンソール画面のエンドポイントパネルですべて「使用可能」ステータスとなっていることを確認しましょう。

エンドポイントのステータス確認
(クリックすると画像が拡大されます。)

対象のEC2にSystems Managerをセットアップする

Systems Managerを使用したいEC2のセットアップを行います。Systems Managerの高速セットアップ機能で簡単にセットアップできます。

はじめて高速セットアップを使用する場合は「高速セットアップ(初回)」を、すでに高速セットアップを使用したことがある場合は「高速セットアップ(2回目以降)」の内容でセットアップしていきます。

Systems Managerコンソール画面の高速セットアップパネルを開き、「Create」をクリックします。
Coose a configuration type画面では「Host Management」を選択し「Next」をクリックします。

Systems Managerの高速セットアップ(初回)1/2
(クリックすると画像が拡大されます。)

次にリージョンを選択し、「Manual」を選択して、Systems ManagerをセットアップしたいEC2を選択して「Create」をクリックします。

Systems Managerの高速セットアップ(初回)2/2
(クリックすると画像が拡大されます。)

Systems Managerコンソール画面の高速セットアップパネルを開き、前回実行した高速セットアップを選択し「View details」をクリックします。
Host Management画面では「Action」から「Edit configuration options」をクリックします。

Systems Managerの高速セットアップ(2回目以降)1/2
(クリックすると画像が拡大されます。)

Edit options画面では、Target Instancesで「Manual」を選択し、セットアップしたいEC2を選択し、「Update」をクリックします。

Systems Managerの高速セットアップ(2回目以降)2/2
(クリックすると画像が拡大されます。)

確認の前に

上記のセットアップ操作を行ったら、一度EC2の「停止/開始」を実施することをオススメします。
OSが起動することにより、セットアップが完了する場合があります。

セットアップの状態を確認

Systems Managerコンソールの「ステートマネージャー」パネルから実施した高速セットアップが成功しているか確認できます。

特に「リソースのステータス数」がSystems Managerの対象サーバーの台数になっているかチェックし、
不足している等再度セットアップを実施したい場合は「関連付けを今すぐ適用」ボタンからセットアップを実施することができます。

ステートマネージャー
(クリックすると画像が拡大されます。)

フリートマネージャーからマネージドインスタンスを確認

Systems Managerコンソールの「フリートマネージャー」パネルからマネージドインスタンスを確認できます。

正しくセットアップが完了していればここに表示されているはずです。

また、Systems Managerを使用できるEC2を確認する際にもこの画面は便利です。

フリートマネージャー
(クリックすると画像が拡大されます。)

ブラウザからセッションマネージャーでアクセスして確認

セッションマネージャーが使用できるか確認してみるのも手です。

EC2コンソール画面から対象のEC2インスタンスを選択し「接続」の「セッションマネージャー」から「接続」ボタンをクリックし、接続できるか確認します。

セッションマネージャー
(クリックすると画像が拡大されます。)

Q&A

EC2のセキュリティグループにルールの追加が必要か

EC2からエンドポイントへの通信は443ポートのアウトバウンドができれば問題ありません。基本的にはアウトバウンドは全ポート許可するようになっていると思いますので、特にルール追加は必要ありません

Storage Gatewayサーバーで利用できない?

Storage Gatewayで使用しているEC2はssm-agentが動作しないため、Systems Managerの使用は難しいようです。

Spread the love