Systems Manager を使用してインターネットアクセスなしでプライベート EC2 インスタンスを管理できるように、VPC エンドポイントを作成するにはどうすればよいですか?
最終更新日: 2022 年 2 月 28 日
現在、インターネットにアクセスできない Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを使用しています。AWS Systems Manager を使用してインスタンスを管理する方法を教えてください。
解決方法
AWS Systems Manager で管理するには、Amazon EC2 インスタンスをマネージドインスタンスとして登録する必要があります。以下の手順を実行してください。
- SSM エージェントがインスタンスにインストールされていることを確認します。
- Systems Manager 用の AWS Identity and Access Management (IAM) インスタンスプロファイルを作成します。新しいロールを作成する、または必要なアクセス許可を既存のロールに追加することができます。
- プライベート EC2 インスタンスに IAM ロールをアタッチします。
- Amazon EC2 コンソールを開いてからインスタンスを選択します。[Description] タブの [VPC ID] と [Subnet ID] をメモします。
- Systems Manager の VPC エンドポイントを作成します。
[Service Name] で com.amazonaws.[region].ssm を選択します (たとえば、com.amazonaws.us-east-1.ssm)。リージョンコードの全リストについては、利用できるリージョンを参照してください。
[VPC] で、お使いのインスタンスの VPC ID を選択します。
[Subnets] で、VPC の [Subnet ID] を選択します。高可用性を実現するには、リージョン内の異なるアベイラビリティーゾーンから少なくとも 2 つのサブネットを選択します。
注: 同じアベイラビリティーゾーンに複数のサブネットがある場合、追加のサブネット用に VPC エンドポイントを作成する必要はありません。同じアベイラビリティーゾーン内の他のサブネットは、インターフェイスにアクセスして使用することができます。
[Enable DNS name] で [Enable for this endpoint] を選択します。詳細については、「 インターフェイスエンドポイントのプライベート DNS 」を参照してください。
[Security group] で既存のセキュリティグループを選択するか、新しいセキュリティグループを作成します。セキュリティグループは、サービスと通信する VPC 内のリソースからのインバウンド HTTPS (ポート 443) トラフィックを許可する必要があります。
新しいセキュリティグループを作成した場合は、VPC コンソールを開き、[Security Groups] をクリックした上で、作成したセキュリティグループを選択します。[Inbound Rules] タブで [Edit inbound rules] を選択します。以下の詳細を含むルールを追加してから、[Save rules] を選択します。
[Type] で [HTTPS] を選択します。
[Source] で [VPC CIDR] を選択します。高度な設定では、EC2 インスタンスによって使用される特定のサブネットの CIDR を許可できます。
セキュリティグループ ID を書き留めます。この ID は、他のエンドポイントで使用します。
オプション: 高度なセットアップの場合、AWS Systems Manager に対して、VPC インターフェイスエンドポイントのポリシーを作成します。
注意: VPC エンドポイントには、AWS が提供する DNS (VPC CIDR+2) が必要です。カスタム DNS をお使いの場合、Amazon Route 53 Resolver を使用して適切な名前解決を行います。詳細については、以下の記事を参照してください。
インターフェイスエンドポイントのプライベート DNS
VPC とネットワーク間における DNS クエリの解決 - 次のように変更し、ステップ 5 を繰り返します。
[Service Name] で [com.amazonaws.[region].ec2messages] を選択します。 - 次のように変更し、ステップ 5 を繰り返します。
[Service Name] で [com.amazonaws.[region].ssmmessages] を選択します。
これら 3 つのエンドポイントが作成されると、[Managed Instances] にインスタンスが表示され、Systems Manager を使用して管理できるようになります。
注意: Session Manager を使用するには、次の VPC エンドポイントを作成します。
- System Manager: com.amazonaws.region.ssm
- Session Manager: com.amazonaws.region.ssmmessages
- KMS: com.amazonaws.region.kms (オプション。このエンドポイントは、Session Manager に AWS Key Management Service の暗号化を使用する場合にのみ必要です)。
- Amazon CloudWatch Logs (オプション。このエンドポイントは、Session Manager の Run Command に Amazon CloudWatch Logs を使用する場合にのみ必要です)。
インスタンスを Session Manager に接続するにあたって、EC2 VPC エンドポイントは必要ありません。EC2 VPC エンドポイントは、インスタンスの VSS 対応スナップショットを作成するために必要です。
詳細については、「Systems Manager 用の VPC エンドポイントを作成する」を参照してください。