AWS のクイックスタート

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

始める前に

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

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

手順の概要

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

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

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

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

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

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

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

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

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

ワークスペースの構成

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

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

Google Cloud Project を作成する

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

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

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

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

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

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

AWS に必要な、信頼できるアカウント ID と外部 ID を識別するには、次の手順を行います。

  1. [モニタリング] に移動します。

    [モニタリング] に移動

    Google Cloud プロジェクトで [モニタリング] に初めてアクセスすると、Monitoring によってワークスペースが作成され、そのワークスペースがプロジェクトに関連付けられます。マルチプロジェクト ワークスペースがない限り、このプロセスは自動的に行われます。この場合、新しいワークスペースを作成するか、既存のワークスペースにプロジェクトを追加するかを選択するダイアログが表示されます。ワークスペースを作成するオプションを選択します。

  2. [設定] をクリックし、]概要] タブを選択します。

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

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

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

AWS 役割の作成

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

AWS 役割を次の手順に従って作成します。

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

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

  4. [Policy name] プルダウン リストから、[ReadOnlyAccess] を選択します。

  5. [Next: Tags] をクリックします。

  6. (省略可)タグを Key-Value ペアとして追加して、メタデータを役割に追加します。

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

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

  9. [Summary] ページで、[Role ARN] の文字列をコピーして、Monitoring に渡せるようにします。概要ページが表示されない場合は、AWS 役割のリストで、作成した役割の名前(例: GoogleStackdriver)をクリックします。

AWS アカウントの接続

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

  1. Cloud Console で、[モニタリング] に移動します。

    [モニタリング] に移動

  2. [設定] をクリックし、]概要] タブを選択します。

    次のスクリーンショットは、単一の Google Cloud プロジェクト、つまりワークスペースのホスティング プロジェクトをモニタリングしている状態を示しています。AWS アカウントはまだモニタリングしていません。

    モニタリング対象アカウントのモニタリング

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

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

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

      AWS モニタリング対象アカウントのモニタリング。

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

AWS コネクタ プロジェクト

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

AWS アカウントの説明 [YOUR_AWS_ACCOUNT_NUMBER]
[CONNECTOR_PROJECT_ID] に接続しました

ここで

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

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

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

トラブルシューティング

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

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

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

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

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

  • AWS VM インスタンスで Monitoring エージェントまたは Logging エージェントを実行する。
  • AWS アプリケーションから任意の Google Cloud サービスを使用する。

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

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

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

サービス アカウントを作成するには、次の手順を行います。

  1. コネクタ プロジェクトの [IAM と管理] > [サービス アカウント] ページに移動します。

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

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

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

    • [サービス アカウント名] フィールドに Monitoring agent authorization を入力し、[作成] をクリックします。

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

    • [サービス アカウントの権限] ダイアログで次の役割を選択し、[続行] をクリックします。

      • [モニタリング] > [モニタリング指標の書き込み]
      • [ロギング] > [ログ書き込み]

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

    • [鍵の作成] ダイアログで [鍵を作成] をクリックし、[JSON] を選択します。

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

    ここで

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

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

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

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

サービス アカウントを追加する方法は次のとおりです。

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

    KEY="/path/to/key.pem"
    scp -i "$KEY" "$CREDS" AWS_USERNAME@AWS_HOSTNAME:temp.json
    
  2. EC2 インスタンスで、認証情報を /etc/google/auth/application_default_credentials.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. Google Cloud の使用が許可されたエージェントやその他のアプリケーションに、環境変数 GOOGLE_APPLICATION_CREDENTIALS が公開されていることを確認します。この環境変数名は、標準の Google Cloud クライアント ライブラリで認識されます。

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

  1. (省略可)EC2 インスタンスに Cloud Monitoring エージェントをインストールします。Cloud Monitoring は、Monitoring エージェントがなくても、CPU 使用率や稼働時間情報など、一部のインスタンス指標にアクセスできますが、Monitoring エージェントがあれば幅広いシステム リソースとアプリケーション サービスに関する指標を利用できます。

    Cloud Monitoring エージェントをインストールするには、Cloud Monitoring エージェントのインストールをご覧になり、ご使用のオペレーティング システムに応じて手順を選択してください。これらの手順には、エージェントが実行されていることを確認する方法と、トラブルシューティング ガイドへのリンクが含まれています。

  2. (省略可): EC2 インスタンスに、Cloud Logging にログをストリーミングする Cloud Logging エージェントをインストールします。Cloud Logging エージェントのインストールを参照し、オペレーティング システムに基づいて手順を選択します。これらの手順には、エージェントが実行されていることを確認する方法と、トラブルシューティング ガイドへのリンクが含まれています。

AWS での Monitoring サービスの使用

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

稼働時間チェックとアラート ポリシーの作成

稼働時間チェックを作成するためのユーザーフローは 2 つあります。いずれかのフローにランダムに割り当てられます。このセクションでは、両方のフローの手順について説明します。

新しいフロー

  1. Cloud Console で、[モニタリング] を選択します。

    [モニタリング] に移動

    Google Cloud プロジェクトで [モニタリング] に初めてアクセスすると、Monitoring によってワークスペースが作成され、そのワークスペースがプロジェクトに関連付けられます。マルチプロジェクト ワークスペースがない限り、このプロセスは自動的に行われます。この場合、新しいワークスペースを作成するか、既存のワークスペースにプロジェクトを追加するかを選択するダイアログが表示されます。ワークスペースを作成するオプションを選択します。

  2. [稼働時間チェック] をクリックします。

  3. [稼働時間チェックの作成] をクリックします。

  4. [稼働時間チェックの作成] ウィンドウが次のスクリーンショットのような場合は、次の手順に進みます。そうではない場合は、このテーブルの [Classic flow] タブをクリックして、次の手順に進みます。

    稼働時間チェック ダイアログを作成。

  5. タイトルに「My Uptime Check」と入力し、[次へ] をクリックします。

  6. ターゲット:

    1. プロトコルに [HTTP] が選択されていることを確認します。
    2. [リソースタイプ] で使用可能なリソースを選択します。
    3. 必要に応じて追加フィールドに入力します。
    4. [次へ] をクリックします。
  7. レスポンスの検証: これらのフィールドはデフォルト値のままにして、[次へ] をクリックします。

  8. アラートと通知:

    • トグルのラベルが [アラートが有効] になっていることを確認します。
    • 名前と期間のフィールドはデフォルト値のままにします。
    • アラート ポリシーに通知チャネルを追加するには、[通知チャネル] というラベルのテキスト ボックスでメニュー をクリックします。追加するチャネルを選択し、[OK] をクリックします。通知は、チャネルタイプごとにアルファベット順にグループ化されます。

      チェックボックス リストにエントリを追加するには、[通知チャネルの管理] をクリックし、手順に従います。このダイアログに戻ったら、[更新] をクリックします。

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

  10. [作成] をクリックします。作成アクションが成功すると、バナーに「Check and alert created」と表示されます。[稼働時間チェック] ウィンドウに新しいチェックが一覧表示され、稼働時間チェックのダッシュボードへのリンクが表示されます。[アラート] ウィンドウに新しいアラート ポリシーが一覧表示され、ポリシーのダッシュボードへのリンクが表示されます。必須データがない場合、作成アクションは失敗し、データを必要とするフィールドのリストがダイアログ ボタンの横に表示されます。

従来のフロー

稼働時間チェックを作成するには、次の手順に従います。

  1. [モニタリング] に移動します。

    [モニタリング] に移動

    Google Cloud プロジェクトで [モニタリング] に初めてアクセスすると、Monitoring によってワークスペースが作成され、そのワークスペースがプロジェクトに関連付けられます。マルチプロジェクト ワークスペースがない限り、このプロセスは自動的に行われます。この場合、新しいワークスペースを作成するか、既存のワークスペースにプロジェクトを追加するかを選択するダイアログが表示されます。ワークスペースを作成するオプションを選択します。

  2. [稼働時間チェック] をクリックします。

  3. [稼働時間チェックの作成] をクリックします。

  4. [New uptime check] ウィンドウが次のスクリーンショットのようになっている場合は、次の手順に進みます。それ以外の場合は、この表の [New flow] タブをクリックして、次の手順に進みます。

    デフォルトのフィールドでの、[New Uptime Check] ダイアログの表示。

  5. 新しい稼働時間チェックのために、次のフィールドに入力します。

    • [Title] フィールドに「My Uptime Check」と入力します。
    • [Check Type] メニューで [HTTP] を選択します。
    • [リソースタイプ] で使用可能なリソースを選択します。
    • 必要に応じて追加フィールドに入力します。
    • 他のフィールドはデフォルト値のままにします。
  6. 稼働時間チェックが機能していることを確認するには、[Test] をクリックします。「Connection error - refused」というメッセージが表示された場合は、Apache HTTP Server がインストールされていないか、チェックタイプとして HTTP ではなく HTTPS が選択されている可能性があります。その他のエラーについては、稼働時間チェックの確認をご覧ください。

  7. [Save] をクリックします。確認ダイアログが表示されます。

    [Uptime Check Created] ダイアログの表示。

アラート ポリシーの作成

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

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

    デフォルト設定での [create condition] ダイアログの表示。

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

  4. アラート ポリシーの [名前] として、「My Uptime Check Policy」と入力します。

    デフォルト設定での [新しいアラート ポリシーの作成] ダイアログの表示。

  5. (省略可)メール通知を構成するには、[Add notification channel] をクリックして、メニューから [Email] を選択し、メールアドレスを入力して、[Add] をクリックします。

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

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

Monitoring によって収集された指標を表示するには、次の手順を行います。

  1. [モニタリング] に移動します。

    [モニタリング] に移動

  2. [ダッシュボード] を選択し、[Create dashboard] を選択します。

  3. ダッシュボードの名前として「Quickstart dashboard」を入力し、[確認] をクリックします。

  4. [Add Chart] をクリックします。

  5. [Metric] タブが選択されていることを確認します。

    デフォルト設定での [Add Chart] ダイアログの表示。

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

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

ログの表示

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

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

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

      AWS ログビューア

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

クリーンアップ

このクイックスタートで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順を行います。

  1. Monitoring のチャートとアラートを削除します。[モニタリング] に移動します。

    1. [アラート] からアラート ポリシーを削除します。
    2. [アラート] から稼働時間チェックを削除します。
    3. [ダッシュボード] からグラフを削除します。
  2. [設定] をクリックし、]概要] タブを選択します。

  3. [AWS アカウント] というタイトルのセクションで、このクイックスタートで使用した AWS アカウントを指定して、[その他] をクリックして [ワークスペースから削除] を選択します。

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

  5. Google Cloud Console で、AWS コネクタ プロジェクトと、このクイック スタート用に作成した場合は、Google Cloud プロジェクト aws-quickstart を削除します。プロジェクトを削除するには、プロジェクトを選択し、[IAM と管理] に移動した後、[設定] を選択して [シャットダウン] をクリックします。

次のステップ

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

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

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