Amazon EC2 用のクイックスタート

このクイックスタートでは、既存の Amazon EC2 インスタンスからシステム指標を収集する方法と、Cloud Monitoring でこれらの指標を表示する方法を説明します。

新しい AWS ユーザーの方は、クイックスタート AWS モニタリングのスタートガイドをご覧ください。

このクイックスタートでは、以下のすべての作業を行います。

  1. EC2 インスタンスに Monitoring エージェントと Logging エージェントをインストールします。
  2. エージェントが収集したデータを Monitoring に送信するように、Amazon Web Services(AWS)アカウントを構成します。
  3. そのデータを表示して表示します。

このページでは、接続という用語は、Monitoring エージェントと Logging エージェントによって収集されたデータが Cloud Monitoring に送信されるように AWS アカウントが構成されていることを意味します。

始める前に

現在ワークスペースによってモニタリングされていない 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. Monitoring に移動

    [モニタリング] に移動

    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] をクリックします。

  4. [プロジェクトを選択] をクリックして、Google Cloud プロジェクトを作成するか、AWS コネクタ プロジェクトとして使用する既存のプロジェクトを選択します。

    1 つの Google Cloud プロジェクトは、1 つの AWS アカウントに対してのみコネクタ プロジェクトとして使用できます。

    他の目的にコネクタ プロジェクトを使用しないでください。また、ワークスペースが AWS アカウントに接続している間は削除しないでください。

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

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

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

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

AWS コネクタ プロジェクト

ワークスペース設定の [モニタリング対象アカウント] ページに、AWS コネクタ プロジェクトの ID が含まれるようになりました。

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

ここで

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

次のステップ: 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 コネクタ プロジェクトを選択します。

  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. (省略可): ログを Cloud Logging にストリーミングする Cloud Logging エージェントを EC2 インスタンスにインストールします。Cloud Logging エージェントのインストールをご覧になり、ご使用のオペレーティング システムに応じて手順を選択してください。これらの手順には、エージェントが実行されていることを確認する方法と、トラブルシューティング ガイドへのリンクが含まれています。

AWS での Monitoring サービスの使用

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

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

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

  1. Cloud Console で、[Monitoring] を選択します。

    [Monitoring] に移動

    Cloud Monitoring を初めて使用する場合は、Google Cloud Console の Monitoring への最初のアクセス時に、ワークスペースが自動的に作成され、プロジェクトがそのワークスペースに関連付けられます。それ以外の場合に、プロジェクトがワークスペースに関連付けられていないときは、ダイアログが表示され、新しいワークスペースを作成するか、このプロジェクトを既存のワークスペースに追加できるようになります。ワークスペースを作成することをおすすめします。選択したら、[追加] をクリックします。

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

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

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

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

  5. ターゲット:

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

  7. アラートと通知:

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

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

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

  9. [作成] をクリックします。作成アクションが成功すると、Check and alert created というメッセージが表示され、その後 [Uptime checks] ダッシュボード ページが表示されます。

    この [Uptime checks] ダッシュボードには、新しい稼働時間チェックが一覧表示されます。チェック名をクリックすると、その稼働時間チェックの詳細ビューが開きます。このビューには複数のグラフが表示され、稼働時間の割合と構成情報が表示されます。また、構成済みのアラート ポリシーも一覧表示されます。ポリシーを表示するには、その名前をクリックします。

    [アラート] ページから開始しても、アラート ポリシーを確認できます。アラートページの [ポリシー] ペインには、ポリシーのサブセットが一覧表示されます。すべてのポリシーを一覧表示するには、[すべてのポリシーを見る] をクリックします。

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

Monitoring で収集した指標を表示するには、グラフとダッシュボードを作成します。

ダッシュボード エディタには、クラシックプレビューの 2 種類があります。プレビュー エディタは、段階的にデプロイされています。プレビュー エディタは、クラシック エディタと比較してより多くのダッシュボード ウィジェットをサポートしています。

プレビュー

プレビュー エディタを使用してダッシュボードを作成する方法は次のとおりです。

  1. Monitoring に移動

    [モニタリング] に移動

  2. [ダッシュボードの概要] ページで、[Create dashboard] をクリックします。

  3. ダッシュボードのツールバーに [プレビュー] と表示されていることを確認します。

  4. (省略可)Untitled Dashboard をダッシュボードのわかりやすい名前に置き換えます。

  5. ウィジェット ライブラリからグラフ領域にエントリをドラッグすることで、折れ線グラフをダッシュボードに追加します。

  6. [What data do you want to view?] というセクションで、次の操作を行います。

    1. [Clear resource and metric] をクリックします。
    2. [Resource type] に「Amazon」と入力し、Amazon のリソースタイプを選択します。
    3. [Metric] で、メニューからエントリを選択します。

    ポインタを使用して、グラフのサイズまたは位置を変更できます。

  7. 2 つ目の折れ線グラフをダッシュボードに追加するには、ダッシュボードのツールバーをクリックして [ウィジェット ライブラリ] を有効にし、プロット タイプを選択してエントリを [ウィジェット ライブラリ] からグラフ領域にドラッグします。

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

以前のログビューア

クラシック エディタを使用してダッシュボードを作成する方法は次のとおりです。

  1. Monitoring に移動

    [モニタリング] に移動

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

  3. ダッシュボードのツールバーに [クラシック] と表示されていることを確認します。

  4. (省略可)ダッシュボードの名前を入力し、[確認] をクリックします。

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

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

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

  7. [Find resource type and metric] で、[instance, cpu, usage, etc.] をクリックします。

    1. [Clear resource and metric] をクリックします。
    2. [Resource type] に「Amazon」と入力し、Amazon のリソースタイプを選択します。
    3. [Metric] で、メニューからエントリを選択します。

  8. [保存] をクリックします。

    構成されたグラフの表示。

  9. 2 つ目のグラフを作成するには、[Add Chart] をクリックし、[Metric] タブを選択されていることを確認して、指標としてリソースを入力します。

  10. [保存] をクリックします。

ログの表示

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

  1. Cloud Console で、[Logging] に移動し、AWS コネクタ プロジェクトを選択します。
  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 の関係についての詳細を確認する。

  • DevOps に関するリソースを読む。また、研究プログラムについて確認する。