インターネットにアクセスしなくても、 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 で正しい名前解決を行います。詳細については、次のドキュメントを参照してください。
    Access an AWS service using an interfaced VPC endpoint
    Resolving DNS queries between VPCs and your network
  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 endpoints and quotas

Setting up AWS Systems Manager

Use AWS PrivateLink to set up a VPC endpoint for Session Manager

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

関連するコンテンツ