Systems Manager を使用してインターネットアクセスなしでプライベート EC2 インスタンスを管理できるように、VPC エンドポイントを作成するにはどうすればよいですか?

最終更新日: 2022 年 2 月 28 日

現在、インターネットにアクセスできない Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを使用しています。AWS Systems Manager を使用してインスタンスを管理する方法を教えてください。

解決方法

AWS Systems Manager で管理するには、Amazon EC2 インスタンスをマネージドインスタンスとして登録する必要があります。以下の手順を実行してください。

  1. SSM エージェントがインスタンスにインストールされていることを確認します。
  2. Systems Manager 用の AWS Identity and Access Management (IAM) インスタンスプロファイルを作成します。新しいロールを作成する、または必要なアクセス許可を既存のロールに追加することができます。
  3. プライベート EC2 インスタンスに IAM ロールをアタッチします。
  4. Amazon EC2 コンソールを開いてからインスタンスを選択します。[Description] タブの [VPC ID] と [Subnet ID] をメモします。
  5. 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 クエリの解決
  6. 次のように変更し、ステップ 5 を繰り返します。
    [Service Name] で [com.amazonaws.[region].ec2messages] を選択します。
  7. 次のように変更し、ステップ 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 エンドポイントを作成する」を参照してください。