Systems Manager を使用してインターネットアクセスなしでプライベート EC2 インスタンスを管理できるように、VPC エンドポイントを作成するにはどうすればよいですか?
最終更新日: 2022 年 10 月 19 日
現在、インターネットにアクセスできない Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを使用しています。AWS Systems Manager を使用してインスタンスを管理する方法を教えてください。
解決方法
AWS Systems Manager で管理するには、Amazon EC2 インスタンスをマネージドインスタンスとして登録する必要があります。以下の手順を実行してください。
- SSM Agent がインスタンスにインストールされていることを確認します。
- Systems Manager 用の AWS Identity and Access Management (IAM) インスタンスプロファイルを作成します。新しいロールを作成する、または必要なアクセス許可を既存のロールに追加することができます。
- プライベート EC2 インスタンスに IAM ロールをアタッチします。
- Amazon EC2 コンソールを開き、インスタンスを選択します。[Description] (説明) タブの [VPC ID] と [Subnet ID] (サブネット 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] (DNS 名を有効にする) で、[Enable for this endpoint] (このエンドポイント用に有効にする) を選択します。詳細については、「Access an AWS service using an interface VPC endpoint」(インターフェイス VPC エンドポイントを使用して AWS のサービスにアクセスする) を参照してください。
[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 を使用して適切な名前解決を行います。詳細については、次を参照してください。
Access an AWS service using an interface VPC endpoint (インターフェイス VPC エンドポイントを使用して AWS のサービスにアクセスする)
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 (AWS KMS) の暗号化を使用する場合にのみ必要です)。
- Amazon CloudWatch Logs (オプション。このエンドポイントは、Session Manager の Run Command に Amazon CloudWatch Logs を使用する場合にのみ必要です)。
インスタンスを Session Manager に接続するにあたって、EC2 VPC エンドポイントは必要ありません。EC2 VPC エンドポイントは、インスタンスの VSS 対応スナップショットを作成するために必要です。
詳細については、「Systems Manager 用の VPC エンドポイントを作成する」を参照してください。