CloudWatch にメトリクスとログを送信するためのインターネットアクセスがない Auto Scaling グループで EC2 インスタンスを設定する方法を教えてください。

最終更新日: 2020 年 5 月 21 日

Amazon CloudWatch にログとメトリクスを送信するためのインターネットアクセスがない Amazon EC2 Auto Scaling グループで、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを設定する方法を教えてください。

解決方法

  1. Amazon EC2 インスタンスに CloudWatch エージェントをインストールします。このインスタンスにはインターネット接続が必要です。または、CloudWatch エージェントを使用して、既にログとメトリクスを CloudWatch にプッシュしている Amazon EC2 インスタンスを選択することもできます。
  2. CloudWatch エージェントが Amazon EC2 インスタンスからメトリクスとログをプッシュしていることを確認します。
  3. Auto Scaling グループの Amazon EC2 インスタンスの Amazon マシンイメージ (AMI) を作成します。
  4. ステップ 3 で作成した AMI を使用して、Auto Scaling グループの起動テンプレートを作成します。インスタンスが CloudWatch にメトリクスとログをプッシュできるようにするには、起動テンプレートで正しい AWS Identity and Access Management (IAM) ロールを指定します。オプションで、この起動テンプレートからパブリックサブネットで Amazon EC2 インスタンスを起動して、CloudWatch エージェントが必要なメトリクスとログをプッシュしていることを確認できます。
  5. プライベートサブネットをホストする VPC に、CloudWatch モニタリングおよび Amazon CloudWatch Logs 用のインターフェイス仮想プライベートクラウド (VPC) エンドポイントを追加します。正しいエンドポイントを見つけるには、Amazon CloudWatch エンドポイントとクォータを参照してください。詳細については、後述の「インターフェイス VPC エンドポイントの作成に関する考慮事項」を参照してください。
  6. ステップ 5 で作成した各 VPC インターフェイスエンドポイントのエンドポイントポリシーを更新します。
    Amazon VPC コンソールを開きます。
    [エンドポイント] を選択し、インターフェイスエンドポイントを選択します。
    注意: 各 VPC インターフェイスエンドポイントに対してこれらのステップを完了する必要があります。
    [アクション]、[ポリシーの編集] の順に選択します。
    [ポリシー] で、[フルアクセス] を選択します。
    [保存] を選択します。
  7. ステップ 4 で作成した起動テンプレートを使用して、 (プライベートサブネットが有効な状態で) Auto Scaling グループを作成します。CloudWatch エージェントは、この Auto Scaling グループで起動するインスタンスで実行されます。また、エージェントは、ステップ 5 で作成した VPC インターフェイスエンドポイントを通じてメトリクスとログを送信します。

インターフェイス VPC エンドポイントの作成に関する考慮事項

  • Auto Scaling グループの AWS リージョンに対応するエンドポイントを使用してください。たとえば、Auto Scaling グループがロンドンリージョンにある場合、メトリクスのエンドポイントは monitoring.eu-west-2.amazonaws.com です。このシナリオのログのエンドポイントは logs.eu-west-2.amazonaws.com です。
  • [プライベート DNS 名を有効にする] オプションを有効にしていることを確認します。このオプションは、VPC に対して [DNS ホスト名を有効化] および [DNS サポートを有効化] 属性が [true] に設定されている場合にのみ有効にできます。このオプションが無効になっている場合、VPC インターフェイスエンドポイントはサービスエンドポイントにマッピングされません。その結果、インスタンスはパブリックサービスエンドポイントに到達できません。このオプションを有効にすると、サービスエンドポイントが VPC インターフェイスエンドポイントにマッピングされ、サービスエンドポイントとの通信がプライベートになります。デフォルトでは、CloudWatch エージェントはこのエンドポイントに接続します。必要に応じて、エージェント設定ファイルで endpoint_override パラメータを使用して、デフォルトのエンドポイントを上書きできます。
  • セキュリティグループのルールで、エンドポイントネットワークインターフェイスと、サービスと通信する VPC 内のリソースとの間の通信が許可されていることを確認します。ログとメトリクスをプッシュするための API 呼び出しは、HTTPS ベースの GET/POST リクエストです。エンドポイントネットワークインターフェイスのセキュリティグループには、送信元 IP からの HTTPS プロトコルのインバウンドルールが必要です。送信元 IP アドレスは、メトリクスとログをプッシュする EC2 インスタンスの IP アドレス、または VPC CIDR です。
  • インスタンスが Auto Scaling グループの一部である場合は、エージェント設定ファイルで、いずれかのディメンションを Auto Scaling グループ名として指定します。Auto Scaling グループの名前を見つけるために、エージェントは Amazon EC2 エンドポイントからインスタンスに関連付けられたタグを取得します。Amazon EC2 サービスの VPC インターフェイスエンドポイントを追加する必要があります。エージェントは、Amazon EC2 インスタンスのメタデータから ImageIdInstanceId、および InstanceType の値を取得します。

この記事はお役に立ちましたか?

改善できることはありますか?


さらにサポートが必要な場合