このクイックスタートでは、既存の Amazon EC2 インスタンスからシステム指標を収集する方法と、Cloud Monitoring でこれらの指標を表示する方法を説明します。
新しい AWS ユーザーの方は、クイックスタート AWS モニタリングのスタートガイドをご覧ください。
このクイックスタートでは、以下のすべての作業を行います。
- EC2 インスタンスに Monitoring エージェントと Logging エージェントをインストールします。
- エージェントが収集したデータを Monitoring に送信するように、Amazon Web Services(AWS)アカウントを構成します。
- そのデータを表示して表示します。
このページでは、接続という用語は、Monitoring エージェントと Logging エージェントによって収集されたデータが Cloud Monitoring に送信されるように AWS アカウントが構成されていることを意味します。
始める前に
現在ワークスペースによってモニタリングされていない AWS アカウントが必要です。1 つの AWS アカウントを複数のワークスペースからモニタリングすることはできません。
AWS アカウントとワークスペースの接続を解除するには、ワークスペースからのプロジェクトの削除をご覧ください。
手順の概要
AWS アカウントをワークスペースに追加するには、ワークスペースのホスト プロジェクトとなる Google Cloud プロジェクトを作成する必要があります。ワークスペースを作成したら、AWS アカウントをワークスペースに追加します。
次の手順で、AWS のアカウントを Monitoring に接続します。
新しいワークスペースを作成する(推奨)か、AWS アカウントに接続します(既存のワークスペースを使用する場合)。
信頼できるアカウント ID と外部 ID を指定します。
アカウント ID と外部 ID を使用して AWS 役割を作成します。
AWS コネクタ プロジェクトを使用して、AWS ロールでワークスペースと AWS アカウントを接続します。
AWS コネクタ プロジェクトでサービス アカウントを作成し、Google Cloud へのアクセスを承認します。
それぞれの手順について以下に詳しく説明します。
ワークスペースの構成
このクイックスタート用の新しいワークスペースを作成することをおすすめします。既存のワークスペースを使用する場合は、AWS アカウントへの接続に進みます。
どちらの場合も、AWS アカウントに必要なアカウント ID と外部 ID を必ず取得してください。詳細については、アカウント ID と外部 ID を取得するをご覧ください。
Google Cloud Project を作成する
Google Cloud プロジェクトを作成するには、次の手順を行います。
Cloud Console で [新しいプロジェクト] に移動します。
[プロジェクト名] フィールドに「
Quickstart
」と入力します。[作成] をクリックします。
アカウント ID と外部 ID を取得する
AWS に必要な、信頼できるアカウント ID と外部 ID を識別するには、次の手順を行います。
Monitoring に移動
Google Cloud プロジェクトで [モニタリング] に初めてアクセスすると、Monitoring によってワークスペースが作成され、そのワークスペースがプロジェクトに関連付けられます。マルチプロジェクト ワークスペースがない限り、このプロセスは自動的に行われます。この場合、新しいワークスペースを作成するか、既存のワークスペースにプロジェクトを追加するかを選択するダイアログが表示されます。ワークスペースを作成するオプションを選択します。
[設定] をクリックし、]概要] タブを選択します。
[Add AWS account] をクリックします。
[Account ID] と [External ID] に示されている ID をそれぞれメモします。このデータは AWS 役割を作成するときに必要になります。
[Cancel] をクリックします。AWS 役割を作成した後に AWS アカウントを追加します。
AWS 役割の作成
Cloud Monitoring の承認に必要な AWS 役割を作成するには、ワークスペース用のアカウント ID と外部 ID が必要です。まだ取得していない場合は、アカウント ID と外部 ID を取得するの手順に従って取得してください。
AWS 役割を次の手順に従って作成します。
- AWS IAM コンソールにログインし、左側のメニューで [Roles] をクリックします。
[Create role] をクリックして、次の操作を行います。
- [Role type] で、[Another AWS account] を選択します。
- [Account ID] フィールドに、Monitoring から提供されたアカウント ID を入力します。
- [Require external ID] チェックボックスをオンにします。
- [External ID] フィールドに、Monitoring から提供された外部 ID を入力します。
- [Require MFA] はオフのままにします。
[Next: Permissions] をクリックします。
[Policy name] プルダウン リストから、[ReadOnlyAccess] を選択します。
[Next: Tags] をクリックします。
(省略可)タグを Key-Value ペアとして追加して、メタデータを役割に追加します。
[Next: Review] をクリックして、次の情報を入力または確認します。
- [Role name] フィールドに役割名(
GoogleStackdriver
など)を入力します。 - (省略可)[Role description] フィールドに、任意の説明を入力します。
- [Trusted entities] フィールドの値が、先ほど [Account ID] フィールドに入力した ID であることを確認します。
- [Policies] フィールドの値が ReadOnlyAccess であることを確認します。
- [Role name] フィールドに役割名(
[AWS IAM] ページで、[Create Role] をクリックします。
[Summary] ページで、[Role ARN] の文字列をコピーして、Monitoring に渡せるようにします。概要ページが表示されない場合は、AWS 役割のリストで、作成した役割の名前(例: GoogleStackdriver)をクリックします。
AWS アカウントの接続
既存のワークスペースに AWS アカウントを追加するには、次の操作を行います。
Cloud Console で、[モニタリング] に移動します。
[設定] をクリックし、]概要] タブを選択します。
次のスクリーンショットは、単一の Google Cloud プロジェクト、つまりワークスペースのホスティング プロジェクトをモニタリングしている状態を示しています。AWS アカウントはまだモニタリングしていません。
[Add AWS account] をクリックします。
[プロジェクトを選択] をクリックして、Google Cloud プロジェクトを作成するか、AWS コネクタ プロジェクトとして使用する既存のプロジェクトを選択します。
1 つの Google Cloud プロジェクトは、1 つの AWS アカウントに対してのみコネクタ プロジェクトとして使用できます。
他の目的にコネクタ プロジェクトを使用しないでください。また、ワークスペースが AWS アカウントに接続している間は削除しないでください。
次の情報をフォームに入力します。
- [Role ARN] フィールドに、AWS 役割を作成したときにコピーしておいた Role ARN を入力します。または、[AWS アカウントの追加] ページの手順に従って役割を作成します。
[Description of account] フィールドに、AWS アカウントの簡単な説明を入力します。最初の 1~2 個の単語が新しいプロジェクト ID の作成に使用されます。
[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 インスタンスとアプリケーションを承認できます。また、複数のサービス アカウントを作成することもできます。
サービス アカウントを作成する
サービス アカウントを作成するには、次の手順を行います。
コネクタ プロジェクトの [IAM と管理] > [サービス アカウント] ページに移動します。
AWS アカウントの AWS コネクタ プロジェクトを選択します。
コネクタ プロジェクトには通常、サービス アカウントは設定されていません。そのため、サービス アカウントを作成するよう求められます。[サービス アカウントを作成] をクリックして、次の情報を入力します。
[サービス アカウント名] フィールドに
Monitoring agent authorization
を入力し、[作成] をクリックします。[サービス アカウントの権限] ダイアログで次の役割を選択し、[続行] をクリックします。
- [モニタリング] > [モニタリング指標の書き込み]
- [ロギング] > [ログ書き込み]
[鍵の作成] ダイアログで [鍵を作成] をクリックし、[JSON] を選択します。
[完了] をクリックします。サービス アカウントの秘密鍵ファイルは、
Downloads/[PROJECT_NAME]-[KEY_ID].json
などの名前でワークステーションにダウンロードされます。ここで
[PROJECT_NAME]
は Google Cloud プロジェクトの名前です。[KEY_ID]
は、生成された秘密鍵を表します。
以降の操作を簡単にするため、ワークステーションの
CREDS
変数に認証情報ファイルの場所を設定します。CREDS="Downloads/[PROJECT_NAME]-[KEY_ID].json"
VM インスタンスへのサービス アカウントの追加
サービス アカウントを追加する方法は次のとおりです。
秘密鍵の認証情報ファイルをワークステーションから 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
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"
(省略可): サービス アカウントの秘密鍵認証情報へのアクセスを制限します。例:
sudo chown root:root "$GOOGLE_APPLICATION_CREDENTIALS" sudo chmod 0400 "$GOOGLE_APPLICATION_CREDENTIALS"
Google Cloud の使用が許可されたエージェントやその他のアプリケーションに、環境変数
GOOGLE_APPLICATION_CREDENTIALS
が公開されていることを確認します。この環境変数名は、標準の Google Cloud クライアント ライブラリで認識されます。
エージェントのインストール
(省略可)EC2 インスタンスに Cloud Monitoring エージェントをインストールします。Cloud Monitoring は、Monitoring エージェントがなくても、CPU 使用率や稼働時間情報など、一部のインスタンス指標にアクセスできますが、Monitoring エージェントがあれば幅広いシステム リソースとアプリケーション サービスに関する指標を利用できます。
Cloud Monitoring エージェントをインストールするには、Cloud Monitoring エージェントのインストールをご覧になり、ご使用のオペレーティング システムに応じて手順を選択してください。これらの手順には、エージェントが実行されていることを確認する方法と、トラブルシューティング ガイドへのリンクが含まれています。
(省略可): ログを Cloud Logging にストリーミングする Cloud Logging エージェントを EC2 インスタンスにインストールします。Cloud Logging エージェントのインストールをご覧になり、ご使用のオペレーティング システムに応じて手順を選択してください。これらの手順には、エージェントが実行されていることを確認する方法と、トラブルシューティング ガイドへのリンクが含まれています。
AWS での Monitoring サービスの使用
このセクションでは、AWS アカウントで Monitoring サービスを使用する方法を説明します。
稼働時間チェックとアラート ポリシーの作成
稼働時間チェックを作成するには、次の手順に従います。
Cloud Console で、[Monitoring] を選択します。
Cloud Monitoring を初めて使用する場合は、Google Cloud Console の Monitoring への最初のアクセス時に、ワークスペースが自動的に作成され、プロジェクトがそのワークスペースに関連付けられます。それ以外の場合に、プロジェクトがワークスペースに関連付けられていないときは、ダイアログが表示され、新しいワークスペースを作成するか、このプロジェクトを既存のワークスペースに追加できるようになります。ワークスペースを作成することをおすすめします。選択したら、[追加] をクリックします。
[稼働時間チェック] をクリックします。
[稼働時間チェックの作成] をクリックします。
タイトルに「
My Uptime Check
」と入力し、[次へ] をクリックします。ターゲット:
- プロトコルに [HTTP] が選択されていることを確認します。
- [リソースタイプ] で使用可能なリソースを選択します。
- 必要に応じて、追加フィールドに入力します。
- [次へ] をクリックします。
レスポンスの検証: これらのフィールドはデフォルト値のままにして、[次へ] をクリックします。
アラートと通知:
- トグルのラベルが [アラートが有効] になっていることを確認します。
- 名前と期間のフィールドはデフォルト値のままにします。
アラート ポリシーに通知チャネルを追加するには、[通知チャネル] というラベルのテキスト ボックスでメニュー arrow_drop_down をクリックします。追加するチャネルを選択し、[OK] をクリックします。通知は、チャネルタイプごとにアルファベット順にグループ化されます。
チェックボックス リストにエントリを追加するには、[通知チャネルを管理] をクリックし、指示に従います。このダイアログに戻ったら、[更新] refresh をクリックします。
稼働時間チェックの構成を確認するには、[TEST] をクリックします。「Connection error - refused」というメッセージが表示された場合は、Apache HTTP Server がインストールされていないか、チェックタイプとして HTTP ではなく HTTPS が選択されている可能性があります。その他のエラーについては、稼働時間チェックの確認をご覧ください。
[作成] をクリックします。作成アクションが成功すると、Check and alert created というメッセージが表示され、その後 [Uptime checks] ダッシュボード ページが表示されます。
この [Uptime checks] ダッシュボードには、新しい稼働時間チェックが一覧表示されます。チェック名をクリックすると、その稼働時間チェックの詳細ビューが開きます。このビューには複数のグラフが表示され、稼働時間の割合と構成情報が表示されます。また、構成済みのアラート ポリシーも一覧表示されます。ポリシーを表示するには、その名前をクリックします。
[アラート] ページから開始しても、アラート ポリシーを確認できます。アラートページの [ポリシー] ペインには、ポリシーのサブセットが一覧表示されます。すべてのポリシーを一覧表示するには、[すべてのポリシーを見る] をクリックします。
ダッシュボードとグラフの作成
Monitoring で収集した指標を表示するには、グラフとダッシュボードを作成します。ダッシュボード エディタには、クラシックとプレビューの 2 種類があります。プレビュー エディタは、段階的にデプロイされています。プレビュー エディタは、クラシック エディタと比較してより多くのダッシュボード ウィジェットをサポートしています。
プレビュー
プレビュー エディタを使用してダッシュボードを作成する方法は次のとおりです。
Monitoring に移動
[ダッシュボードの概要] ページで、[Create dashboard] をクリックします。
ダッシュボードのツールバーに [プレビュー] と表示されていることを確認します。
(省略可)
Untitled Dashboard
をダッシュボードのわかりやすい名前に置き換えます。ウィジェット ライブラリからグラフ領域にエントリをドラッグすることで、折れ線グラフをダッシュボードに追加します。
[What data do you want to view?] というセクションで、次の操作を行います。
- [Clear resource and metric] をクリックします。
- [Resource type] に「
Amazon
」と入力し、Amazon のリソースタイプを選択します。 - [Metric] で、メニューからエントリを選択します。
ポインタを使用して、グラフのサイズまたは位置を変更できます。
2 つ目の折れ線グラフをダッシュボードに追加するには、ダッシュボードのツールバーをクリックして [ウィジェット ライブラリ] を有効にし、プロット タイプを選択してエントリを [ウィジェット ライブラリ] からグラフ領域にドラッグします。
[Save dashboard] をクリックします。
以前のログビューア
クラシック エディタを使用してダッシュボードを作成する方法は次のとおりです。
Monitoring に移動
[ダッシュボード] を選択し、[Create dashboard] を選択します。
ダッシュボードのツールバーに [クラシック] と表示されていることを確認します。
(省略可)ダッシュボードの名前を入力し、[確認] をクリックします。
[ADD CHART] をクリックします。
[Metric] タブが選択されていることを確認します。
[Find resource type and metric] で、[instance, cpu, usage, etc.] をクリックします。
- [Clear resource and metric] をクリックします。
- [Resource type] に「
Amazon
」と入力し、Amazon のリソースタイプを選択します。 - [Metric] で、メニューからエントリを選択します。
[保存] をクリックします。
2 つ目のグラフを作成するには、[Add Chart] をクリックし、[Metric] タブを選択されていることを確認して、指標としてリソースを入力します。
[保存] をクリックします。
ログの表示
Monitoring と Logging は密接に統合されています。
- Cloud Console で、[Logging] に移動し、AWS コネクタ プロジェクトを選択します。
AWS のログを含む AWS コネクタ プロジェクトのログ エクスプローラが表示されます。ログ エクスプローラのフォーカスを変更して、目的のログを表示します。
[Google Project] > [All project_id] に移動します。AWS コネクタ プロジェクトの設定以降に記録された監査ログが少なくとも 1 つ表示されます。
サポートされている AWS VM インスタンスに Cloud Monitoring エージェントがすでにインストールされている場合は、他のログオプションも表示されます。
クリーンアップ
このクイックスタートで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順を行います。
Monitoring のチャートとアラートを削除します。[モニタリング] に移動します。
- [アラート] からアラート ポリシーを削除します。
- [アラート] から稼働時間チェックを削除します。
- [ダッシュボード] からグラフを削除します。
[設定] をクリックし、]概要] タブを選択します。
[AWS アカウント] というタイトルのセクションで、このクイックスタートで使用した AWS アカウントを指定して、[その他] more_vertをクリックして [ワークスペースから削除] を選択します。
Amazon アカウントで、このクイックスタートのために作成した AWS IAM 役割を削除します。
Google Cloud Console で、AWS コネクタ プロジェクトと、このクイック スタート用に作成した場合は、Google Cloud プロジェクト
aws-quickstart
を削除します。プロジェクトを削除するには、プロジェクトを選択し、[IAM と管理] に移動した後、[設定] を選択して [シャットダウン] をクリックします。