インターネットにアクセスしなくても、 VPC エンドポイントを作成して、Systems Manager でプライベート EC2 インスタンスを管理する方法を教えてください。

所要時間2分
0

私の Amazon Elastic Compute Cloud (Amazon EC2) インスタンスはインターネットにアクセスできません。AWS Systems Manager を使用してインスタンスを管理したいと思います。

解決策

システムマネージャーで Amazon EC2 インスタンスを管理するには、Amazon EC2 インスタンスをマネージドインスタンスとして登録する必要があります。

**注:**仮想プライベートクラウド (VPC) エンドポイントは特定のサブネットにマップされます。VPC エンドポイントの作成時に複数のサブネットを選択すると、選択したサブネットごとに 1 つのエンドポイントが作成されます。その場合、エンドポイントごとに料金が発生するため、請求コストが増加します。

システムマネージャー用の IAM インスタンスプロファイルを作成する

以下の手順を実行します:

  1. SSM Agent がインスタンスにインストールされていることを確認します。
  2. AWS ID とアクセス管理 (IAM) インスタンスプロファイルを作成します。ロールについては、新しいロールを作成することも、既存のロールに必要な権限を追加することもできます。
  3. インスタンスに IAM ロールをアタッチします
  4. Amazon EC2 コンソールを開き、あなたのインスタンスを選択します。
  5. [説明] タブを選択し、[VPC ID][サブネット ID] をメモします。

セキュリティグループを作成またするか、変更する

セキュリティグループを作成するか、既存のセキュリティグループを変更します。セキュリティグループは、サービスと通信する VPC のリソースからのインバウンド HTTPS (ポート 443) トラフィックを受け入れる必要があります。

新しいセキュリティグループを作成する場合は、以下の手順を実行してセキュリティグループを設定します:

  1. Amazon VPC コンソールを開きます。
  2. [セキュリティグループ] を選択し、現在のセキュリティグループを選択します。
  3. [インバウンドルール] タブで、**[インバウンドルールを編集]**を選択します。
  4. 以下の詳細内容でルールを追加します:
    [タイプ] で **[HTTPS]**を選択します。
    [ソース] で、VPC CIDR を選択します。
    詳細設定では、EC2 インスタンスで使用される特定のサブネットに CIDR を許可できます。
  5. 他のエンドポイントで使用するセキュリティグループ ID を書き留めておきます。
  6. **[ルールの保存]**を選択します。

システムマネージャー用の VPC エンドポイントを作成して設定する

以下の手順を実行します:

  1. VPC エンドポイントを作成します
  2. [サービス名] には、com.amazonaws.[region].ssmを選択します。たとえば、com.amazonaws.us-east-1.ssm を選択します。AWS リージョンコードのリストについては、「利用可能なリージョン」を参照してください。
  3. VPC の場合は、インスタンスの VPC ID を選択します。
  4. [サブネット] では、VPC のサブネット ID を選択します。
  5. 高可用性を実現するには、リージョン内の異なるアベイラビリティーゾーンから少なくとも 2 つのサブネットを選択します。
    **注:**同じアベイラビリティーゾーンに複数のサブネットがある場合、追加のサブネット用に VPC エンドポイントを作成する必要はありません。同じアベイラビリティーゾーン内の他のサブネットは、インターフェイスにアクセスしてそれを使用できます。
  6. [DNS 名を有効にする] で、**[このエンドポイントで有効にする]**を選択します。詳細については、「インターフェイス VPC エンドポイントを使用して AWS サービスにアクセスする」を参照してください。
  7. [セキュリティグループ] で、既存のセキュリティグループを選択するか、新しいセキュリティグループを作成します。セキュリティグループは、サービスと通信する VPC のリソースからのインバウンド HTTPS (ポート 443) トラフィックを受け入れる必要があります。
  8. (オプション) 詳細設定を行うには、Systems Manager のインターフェイス VPC エンドポイントポリシーを作成します
    **注:**VPC エンドポイントには AWS が提供する DNS (VPC CIDR+2) が必要です。カスタム DNS を使用している場合は、Amazon Route 53 Resolver で正しい名前解決を行います。詳細については、次のドキュメントを参照してください:
    インターフェイス VPC エンドポイントで AWS サービスにアクセスする
    VPC とあなたのネットワーク間の DNS クエリの解決
  9. 次の変更を加えて手順 5 を繰り返します:
    [サービス名] には、com.amazonaws.[region].ec2messagesを選択します。

セキュリティグループを作成する場合は、前のセクション「**セキュリティグループを作成または変更する」**の手順を実行してセキュリティグループを設定します。

3 つのエンドポイントを作成すると、あなたのインスタンスがマネージドインスタンスに表示されます。

**注:**セッションマネージャーを使用するには、以下の VPC エンドポイントを作成します:

  • AWS Systems Manager: com.amazonaws.region.ssm
  • Session Manager: com.amazonaws.region.ssmmessages
  • (オプション) AWS Key Management Service (AWS KMS): com.amazonaws.region.kms
    **注:**このエンドポイントは、セッションマネージャーに AWS KMS 暗号化を使用する場合にのみ必要です。
  • (オプション) Amazon CloudWatch Logs
    **注:**このエンドポイントは、セッションマネージャーの Run Command に Amazon CloudWatch Logs を使用する場合にのみ必要です。

インスタンスをセッションマネージャーに接続するために EC2 VPC エンドポイントは必要ありません。インスタンスの VSS アクティベーションスナップショットを作成するには、EC2 VPC エンドポイントが必要です。

詳細については、「Systems Manager 用の VPC エンドポイントの作成」を参照してください。

関連情報

AWS Systems Manager のエンドポイントとクォータ

AWS Systems Manager のセットアップ

AWS PrivateLink を使用して、Session Manager の VPC エンドポイントを設定する

AWS公式
AWS公式更新しました 4ヶ月前
コメントはありません

関連するコンテンツ