AWS のクイックスタート

このクイックスタートでは、Stackdriver Monitoring を Amazon Web Services(AWS)アカウントに接続する方法を説明します。また、EC2 インスタンスに Monitoring エージェントと Logging エージェントをインストールする方法についても説明します。

始める前に

現在ワークスペースによってモニタリングされていない AWS アカウントが必要です。1 つの AWS アカウントを複数のワークスペースからモニタリングすることはできません。

AWS アカウントとワークスペースの接続を解除するには、ワークスペースからのプロジェクトの削除をご覧ください。

手順の概要

AWS アカウントをワークスペースに追加するには、そのワークスペースのホスト プロジェクトとして機能する Google Cloud Platform(GCP)プロジェクトを作成する必要があります。ワークスペースを作成したら、AWS アカウントをワークスペースに追加します。

次の手順で、AWS のアカウントを Monitoring に接続します。

  1. 新しい GCP プロジェクトを作成します

  2. 新しいワークスペースを作成する(推奨)か、AWS アカウントに接続します(既存のワークスペースを使用する場合)。

  3. 信頼できるアカウント ID と外部 ID を指定します。

  4. アカウント ID と外部 ID を使用して AWS 役割を作成します。

  5. AWS 役割を使用してワークスペースと AWS アカウントを接続し、新しい AWS コネクタ プロジェクトを作成します。

  6. AWS コネクタ プロジェクトでサービス アカウントを作成し、GCP へのアクセスを承認します。

それぞれの手順について以下に詳しく説明します。

ワークスペースの構成

このクイックスタート用の新しいワークスペースを作成することをおすすめします。既存のワークスペースを使用する場合は、AWS アカウントへの接続に進みます。

どちらの場合も、AWS アカウントに必要なアカウント ID外部 ID を必ず取得してください。詳細については、アカウント ID と外部 ID を取得するをご覧ください。

GCP プロジェクトの作成

GCP プロジェクトを作成するには、次の手順に従います。

  1. GCP Console で、[新しいプロジェクト] に移動します。

    新しいプロジェクトの作成

  2. [プロジェクト名] フィールドに「Quickstart」と入力します。

  3. [作成] をクリックします。

ワークスペースの作成

既存の GCP プロジェクト用のワークスペースを作成するには、次の手順に従います。

  1. GCP Console に移動します。

    GCP Console に移動

  2. メニューバーで [Google Cloud Platform] の横にあるプルダウン リストをクリックし、使用する GCP プロジェクトを選択します。

  3. [モニタリング] をクリックします。

  4. [Add your project to a Workspace] ダイアログが表示されたら、[New Workspace] で GCP プロジェクトを選択し、[追加] をクリックして新しいワークスペースを作成します。次の画像では、GCP プロジェクト名は「Quickstart」となっています。

    ワークスペースの選択

    [Add your project to a Workspace] ダイアログが表示されるのは、少なくとも 1 つの既存のワークスペースが利用可能な場合だけです。[Existing Workspace] の下に表示されているワークスペースは、作成したワークスペース、または編集権限がある GCP プロジェクト用のワークスペースです。このダイアログを使用して、新しいワークスペースを作成するか、既存のワークスペースにプロジェクトを追加するかを選択できます。

次に、Monitoring によって新しいワークスペースが作成され、そのワークスペースに GCP プロジェクトが追加されます。Monitoring は次の段階を踏んでワークスペースを作成します。

  1. ワークスペースの構築
  2. Stackdriver API の有効化
  3. 新しいワークスペース用のデータの収集

これらの段階をすべて終えるまでに数分かかることがあります。このプロセスが完了すると、Stackdriver Monitoring Console に [Monitoring Overview] ペインとウェルカム メッセージが表示されます。

ワークスペースの選択

アカウント ID と外部 ID を取得する

AWS に必要な、信頼できるアカウント ID と外部 ID を指定するには:

  1. Stackdriver Monitoring Console に移動します。

    Stackdriver Monitoring Console に移動

  2. タイトルバーの Stackdriver ロゴの横にワークスペース名が表示されます。これが Quickstart となっていない場合は、プルダウン リストをクリックして [Quickstart] を選択します。

  3. [Workspace] メニューの下部にある [Workspace Settings] をクリックします。

  4. [Settings] で [Monitored accounts] をクリックします。

  5. [Add AWS account] をクリックします。

  6. [Account ID] と [External ID] に示されている ID をそれぞれメモします。このデータは AWS 役割を作成するときに必要になります。

  7. [Cancel] をクリックします。AWS 役割を作成した後に AWS アカウントを追加します。

AWS 役割の作成

Stackdriver の承認に必要な AWS 役割を作成するには、ワークスペース用のアカウント ID外部 ID が必要です。まだ取得していない場合は、アカウント ID と外部 ID を取得するの手順に従ってください。

AWS 役割を作成するには、次の手順に従います。

  1. AWS IAM Console にログインし、左側のメニューで [Roles] をクリックします。
  2. [Create New Role] をクリックして、次の操作を行います。

    • [Role type] で、[Another AWS account] を選択します。
    • [Account ID] フィールドに、Stackdriver から提供されたアカウント ID を入力します。
    • [Require external ID] チェックボックスをオンにします。
    • [External ID] フィールドに、Stackdriver から提供された外部 ID を入力します。
    • [Require MFA] はオフのままにします。
    • [Next: Permissions] をクリックします。
  3. [Policy name] プルダウン リストから、[ReadOnlyAccess] を選択します。

    ReadOnlyAccess ポリシー

  4. [Next: Review] をクリックして、次の情報を入力または確認します。

    • [Role name] フィールドに役割名(GoogleStackdriver など)を入力します。
    • [Role description] フィールドに、任意の説明を入力します。
    • [Trusted entities] フィールドの値が、先ほど [Account ID] フィールドに入力した ID であることを確認します。
    • [Policies] フィールドの値が ReadOnlyAccess であることを確認します。
  5. [AWS IAM] ページで、[Create Role] をクリックします。

  6. [Summary] ページで、[Role ARN] に表示されている文字列をコピーしておきます。これは後で AWS アカウントを接続するときに使用します。概要ページが表示されない場合は、AWS 役割のリストで、作成した役割の名前(例: GoogleStackdriver)をクリックします。

AWS アカウントの接続

既存のワークスペースに AWS アカウントを追加するには、次の手順に従います。

  1. Stackdriver Monitoring Console に移動します。

    Stackdriver Monitoring Console に移動

  2. ページの上部にある [Workspace] メニューからワークスペースを選択します。このクイックスタートで新しいワークスペースを作成した場合は、そのワークスペースを選択します。

  3. [Workspace] メニューの下部にある [Workspace Settings] をクリックします。

  4. [Settings] の下の [Monitored accounts] をクリックします。次のスクリーンショットのパネルは、1 つの GCP プロジェクト(ワークスペースのホスティング プロジェクト)をモニタリングしていることを示しています。AWS アカウントはまだモニタリングしていません。

    Stackdriver でモニタリングされるアカウント

  5. [Add AWS account] をクリックします。ワークスペースを作成したときにメモしたアカウント ID外部 ID を入力します。

  6. 次の情報をフォームに入力します。

    • [Role ARN] フィールドに、AWS 役割を作成したときにコピーしておいた Role ARN を入力します。または、[Add AWS account] ページの手順に従って役割を作成します。
    • [Description of account] フィールドに、AWS アカウントの簡単な説明を入力します。最初の 1~2 個の単語が新しいプロジェクト ID の作成に使用されます。

      Stackdriver でモニタリングされるアカウント

  7. [Add AWS account] をクリックします。すぐに接続が確立されます。

AWS コネクタ プロジェクト

AWS アカウントに接続すると、Monitoring によって AWS コネクタ プロジェクトが作成されます。[Workspace Settings] の [Monitored accounts] ページに、このプロジェクトの ID が次のように表示されます。

Your AWS account description [YOUR_AWS_ACCOUNT_NUMBER]
Connected to [CONNECTOR_PROJECT_ID]

ここで:

  • [YOUR_AWS_ACCOUNT_NUMBER] は、AWS アカウントのアカウント番号を表します。
  • [CONNECTOR_PROJECT_ID] は、AWS アカウントからのログや指標を受け取るコネクタ プロジェクトを表します。GCP にアクセスするエージェントやその他の AWS アプリケーションに対する承認の設定もこのコネクタ プロジェクトで行います。

    コネクタ プロジェクトの ID は常に aws- で始まり、プロジェクト名は AWS Link で始まります。

作業が終わったら、[Workspace Settings] ページを閉じます。

次のステップ: AWS アプリケーションの承認

トラブルシューティング

AWS アカウントがすでにモニタリングされているというメッセージが表示された場合は、次の操作を行います。

  • 別のワークスペースで AWS アカウントがモニタリングされている場合は、そのワークスペースと AWS アカウントの接続を解除する必要があります。1 つの AWS アカウントを複数のワークスペースからモニタリングすることはできません。AWS アカウントとワークスペースの接続を解除するには、ワークスペースからのプロジェクトの削除をご覧ください。

  • このメッセージは、AWS 役割を作成したときに現在のワークスペースの正しいアカウント ID外部 ID を入力しなかった場合にも表示されます。外部 ID は、ワークスペースごとに異なります。

AWS アプリケーションの承認

次のいずれかを行う場合は、以下の操作を実行する必要があります。

  • AWS VM インスタンスで Stackdriver エージェントを実行する
  • AWS アプリケーションから GCP サービスを使用する

AWS で実行されているアプリケーションに GCP サービスへのアクセスを許可するには、適切な GCP IAM 役割を持つ GCP サービス アカウントへのアクセス権をそれらのアプリケーションに付与します。

1 つのサービス アカウントで同じ AWS アカウントの複数の AWS VM インスタンスとアプリケーションを承認できます。また、複数のサービス アカウントを作成することもできます。

サービス アカウントの作成

サービス アカウントは、Stackdriver Monitoring Console ではなく、GCP Console で管理されます。

  1. サービス アカウントを作成するには、コネクタ プロジェクトで [IAM と管理] > [サービス アカウント] の順に移動します。

    [サービス アカウント] ページに移動

  2. AWS アカウントの AWS コネクタ プロジェクト(AWS Link... という名前のプロジェクト)を選択します。

  3. コネクタ プロジェクトには通常、サービス アカウントは設定されていません。そのため、サービス アカウントを作成するよう求められます。[サービス アカウントを作成] をクリックして、次の情報を入力します。

    • [サービス アカウント名] フィールドに「Stackdriver agent authorization」と入力します。
    • [役割] フィールドで、次の両方の値を追加します。

      • [モニタリング] > [モニタリング指標の書き込み]
      • [ログ] > [ログ書き込み]
    • [新しい秘密鍵の提供] チェックボックスを選択します。

    • [キーのタイプ] で、[JSON] をクリックします。

    • [G Suite ドメイン全体の委任を有効にする] チェックボックスをオフにします。

      サービス アカウントの作成

  4. [作成] をクリックします。サービス アカウントの秘密鍵ファイルが、Downloads/[PROJECT_NAME]-[KEY_ID].json のような名前でワークステーションにダウンロードされます。

    ここで:

    • [PROJECT_NAME] は、GCP プロジェクトの名前を表します。
    • [KEY_ID] は、生成された秘密鍵を表します。

    以降の操作を簡単にするため、ワークステーションの CREDS 変数に認証情報ファイルの場所を設定します。

    CREDS="Downloads/[PROJECT_NAME]-[KEY_ID].json"
    

VM インスタンスへのサービス アカウントの追加

ワークステーションに保存された Stackdriver 秘密鍵認証情報ファイルを AWS EC2 インスタンス上の場所にコピーします。パス名を格納する環境変数 GOOGLE_APPLICATION_CREDENTIALS を定義します。

  1. 認証情報ファイルをワークステーションから AWS EC2 インスタンスにコピーし、temp.json という名前のファイルに保存します。scp コマンドで、key.pem へのパス、AWS scp キーペア ファイル、AWS 認証情報を指定します。

    KEY="/path/to/key.pem"
    scp -i "$KEY" "$CREDS" AWS_USERNAME@AWS_HOSTNAME:temp.json
    
  2. EC2 インスタンスで、最終的な場所に $HOME/temp.json を移動します。次の名前と場所は任意です。

    GOOGLE_APPLICATION_CREDENTIALS="/etc/google/auth/application_default_credentials.json"
    sudo mkdir -p $(dirname $GOOGLE_APPLICATION_CREDENTIALS)
    sudo mv "$HOME/temp.json" "$GOOGLE_APPLICATION_CREDENTIALS"
    
  3. (省略可): サービス アカウントの秘密鍵認証情報へのアクセスを制限します。

    sudo chown root:root "$GOOGLE_APPLICATION_CREDENTIALS"
    sudo chmod 0400 "$GOOGLE_APPLICATION_CREDENTIALS"
    
  4. GCP の使用について承認を受けるエージェントやその他のアプリケーションが環境変数 GOOGLE_APPLICATION_CREDENTIALS を認識できるようにします。環境変数の名前は、標準の GCP クライアント ライブラリによって認識されます。

エージェントのインストール

  1. (省略可): EC2 インスタンスで次のコマンドを実行して、Stackdriver Monitoring エージェントと Stackdriver Logging エージェントをインストールします。

    curl -sSO https://dl.google.com/cloudagents/install-monitoring-agent.sh
    sudo bash install-monitoring-agent.sh
    
    curl -sSO https://dl.google.com/cloudagents/install-logging-agent.sh
    sudo bash install-logging-agent.sh --structured
    

    --structured フラグを指定すると、構造化されたデータが Logging エージェントから Stackdriver Logging に送信されます。詳細については、構造化ロギング オペレーションをご覧ください。

  2. エージェントが動作していることを確認します。

    ps ax | grep fluentd
    ps ax | grep collectd
    

    出力は次のようになります。

    [PROCESS_ID] ?    Sl   0:00 /opt/google-fluentd/embedded/bin/ruby /usr/sbin/google-fluentd ...
    [PROCESS_ID] ?    Ssl  0:00 /opt/stackdriver/collectd/sbin/stackdriver-collectd ...
    

AWS での Stackdriver サービスの使用

このセクションでは、AWS アカウントで Stackdriver サービスを使用する方法について説明します。

稼働時間チェックの作成

稼働時間チェックは、世界中のさまざまなロケーションからウェブサーバーにアクセスできることを確認します。アラート ポリシーにより、稼働時間チェックが失敗した場合に誰に通知するかを指定できます。

稼働時間チェックを使用するアラート ポリシーを作成するには、次の手順に従います。

  1. Stackdriver Monitoring Console に戻ります。

    Monitoring に移動

  2. [Create an Uptime Check] と表示された場合は、それをクリックします。それ以外の場合は、左側のメニューから [Uptime Checks] > [Uptime Check Overview] の順に選択して、[Add Uptime Check] または [Create an Uptime Check] をクリックします。

  3. [New Uptime Check] ウィンドウで、次のフィールドに入力します。

    • [Title] フィールドに「My Uptime Check」と入力します。
    • [Check Type] プルダウン リストで、[HTTP] を選択します。
    • [Resource Type] プルダウン リストで、使用可能なリソースを選択します。
    • 選択したリソースタイプに応じて、追加フィールドが表示されます。

      稼働時間チェックの作成

  4. 稼働時間チェックが機能していることを確認するには、[Test] をクリックします。「Connection error - refused」というメッセージが表示された場合は、Apache HTTP Server がインストールされていないか、チェックの種類として HTTP ではなく HTTPS が指定されている可能性があります。その他のエラーについては、稼働時間チェックの確認をご覧ください。

  5. [Save] をクリックします。

アラート ポリシーの作成

  1. [Uptime Check Created] パネルで、[Create Alerting Policy] をクリックします。

    作成される稼働時間チェック

  2. [Untitled Condition] フィールドにアラート ポリシー条件のタイトルを入力します。他のすべてのフィールドは、[Conditions] ペインにあり、作成した稼働時間チェックから自動的に入力されます。

    条件を作成する

  3. [Save] をクリックします。

  4. [Notification Channel Type] プルダウン リストで、[Email] を選択します。

    新しいアラート ポリシーを作成する

  5. メールアドレスを入力してから、[Add Notification Channel] をクリックします。

  6. [Name this policy] ペインに「My Uptime Check Policy」と入力します。

  7. [Save] をクリックします。ポリシーの概要が表示されます。

ダッシュボードとグラフの作成

Monitoring によって収集された指標を独自のグラフやダッシュボードに表示するには、次の手順に従います。

  1. Stackdriver Monitoring Console で、[Dashboards] > [Create Dashboard] の順に選択します。

    [Create Dashboard] ページに移動

  2. 右上隅にある [Add Chart] をクリックします。

  3. [Metric] タブをクリックします。

    空のグラフを追加する

  4. [Find resource type and metric] で、テキストボックスをクリックして AWS 指標を選択します。

  5. [Save] をクリックします。

  6. 新しいダッシュボードで、Untitled DashboardAWS Quickstart dashboard に変更します。

ログの表示

Monitoring と Logging は密接に統合されています。

  1. Stackdriver Monitoring Console の左側のメニューで、[Logging] > [AWS Link] に移動します。
  2. AWS のログを含む AWS コネクタ プロジェクトのログビューアが表示されます。ログビューアのフォーカスを変更して、目的のログを表示します。

    • [Google Project] > [All project_id] に移動します。AWS コネクタ プロジェクトの設定以降に記録された監査ログが少なくとも 1 つ表示されます。

      AWS ログビューア

    • サポートされている AWS VM インスタンスに Stackdriver Monitoring エージェントがすでにインストールされている場合は、他のログオプションも表示されます。

クリーンアップ

このクイックスタートで使用したリソースについて GCP アカウントに課金されないようにする手順は次のとおりです。

  1. Stackdriver のグラフとアラートを削除します。Stackdriver Monitoring Console で次のように操作します。

    1. [Alerting] > [Policy Overview] からアラート ポリシーを削除します。
    2. [Alerting] > [Uptime Checks] から稼働時間チェックを削除します。
    3. [Dashboards] > [AWS Quickstart example] からグラフを削除します。
  2. Stackdriver Monitoring Console で、ワークスペース aws-quickstart の [aws-quickstart] ページに移動します。[Monitored accounts] セクションで、AWS アカウントを削除します。

  3. Amazon アカウントで、このクイックスタートのために作成した AWS IAM 役割を削除します。

  4. Google Cloud Platform Console で、AWS コネクタ プロジェクトを削除します。このクイックスタートのために GCP プロジェクトを作成した場合は、そのプロジェクト(aws-quickstart)も削除します。プロジェクトを削除するには、そのプロジェクトを選択して [IAM と管理] > [設定] の順に移動し、ページの上部にある [プロジェクトの削除] をクリックします。

次のステップ

  • サポートされる指標で、組み込み指標の一覧を確認する。Amazon AWS には 500 以上の指標があります。独自の Monitoring 指標を作成する場合は、カスタム指標をご覧ください。

  • API リファレンスで、Monitoring API の使用方法を確認する。

  • Logging で、Logging と、Logging と Monitoring の関係についての詳細を確認する。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。