インフラストラクチャを診断して検証する

ガイドのトピック:

インフラストラクチャを診断する

このページでは、アグリゲーション サービス インフラストラクチャのトラブルシューティングと検証を行う方法について説明します。手順に沿って、問題を特定して解決します。

Terraform のトラブルシューティング

HashiCorp が作成した Infrastructure as Code(IaC)プラットフォームである Terraform は、選択したパブリック クラウドに Aggregation Service をデプロイするための主なドライバです。terraform がインストールされていない場合は、CLI をローカルで取得する方法に関する HashiCorp のドキュメントをご覧ください。

Terraform のバージョンを切り替える必要がある場合は、tfenv のインストールも検討してください。

集計サービスの問題の解決策が見つからない場合は、GitHub の問題を報告するか、技術サポート フォームを送信して、Google にお知らせください。

Terraform を手動で切り替える場合は、次の操作を行います。

rm -rf $(which terraform)
wget https://releases.hashicorp.com/terraform/1.2.3/terraform_1.2.3_linux_amd64.zip
unzip terraform_1.2.3_linux_amd64.zip
mv terraform /usr/local/bin/terraform
terraform --version

Terraform エラーが不明な場合は、TRACE レベルで Terraform ロギングを有効にすると、出力を確認できます。

Google Cloud

Google Cloud の Terraform プロバイダは、HashiCorp と Google が共同で開発しています。ご不明な点やトラブルシューティングのヒントについては、Cloud Terraform サポートにお問い合わせいただくか、Hashicorp Discuss ポータルの Google セクションをご覧ください。

Amazon Web Services

デバッグに関するドキュメントは、AWS サイトで確認できます。HashiCorp ディスカッション ポータルの AWS セクションもご覧ください。

Terraform に関するその他の質問については、HashiCorp コミュニティ ポータルをご覧ください。Terraform の一般的なトラブルシューティングのアドバイスについては、デバッグ ドキュメントをご覧ください。

これらのディレクトリを変更する際は、十分注意してください。これらのディレクトリを削除すると、Terraform が状態を認識できなくなります。すべてのリソースの再プロビジョニングが試行され、同じ名前のリソースがある場合はエラーが発生します。問題が解決しない場合は、テクニカル サポート フォームからお問い合わせください。

これらのディレクトリを変更する際は、十分注意してください。これらのディレクトリを削除すると、Terraform が状態を認識できなくなります。すべてのリソースの再プロビジョニングが試行され、同じ名前のリソースがある場合はエラーが発生します。この問題が解決しない場合は、テクニカル サポート フォームからお問い合わせください。

クラウド設定を検証する

選択したパブリック クラウドの集計サービス インフラストラクチャが正しくデプロイされているかどうかを確認します。これを行うには、サンプル デバッグ レポートを使用して、デバッグモードでジョブを実行します。集計サービスが API リクエストを受信して応答できる場合、集計サービスは稼働しています。まだ設定していない場合は、Postman または cURL を使用して、アグリゲーション サービスへの API 呼び出しを設定することをおすすめします。通常の集計オペレーションでは、デバッグモードをオフ(false に設定)にする必要があります。

次の手順に加えて、アグリゲーション サービス インフラストラクチャをさらに検証するには、パブリック クラウドでプロビジョニングされるすべてのクラウド コンポーネントを調査します。

手順

  1. サンプル デバッグ レポートを生成してドメイン ファイルを出力するには、次の Codelab の関連する手順に沿って操作します。

  2. この本文を使用して createJob リクエストを実行します。ハイライト表示されたプレースホルダは置き換えます。

    {
      "job_request_id": "<job_request_id>",
      "input_data_blob_prefix": "<report_folder>/<report_name>.avro",
      "input_data_bucket_name": "<input_bucket_name>",
      "output_data_blob_prefix": "<output_folder>/<summary_report_prefix>",
      "output_data_bucket_name": "<output_bucket_name>",
      "job_parameters": {
        "output_domain_blob_prefix": "<output_domain_folder>/<output_domain>.avro",
        "output_domain_bucket_name": "<output_domain_bucket_name>",
        "attribution_report_to": "<reporting_origin_domain>",
        "report_error_threshold_percentage": "10", // example value
        "debug_run": "true" // optional, but should be false by default
      }
    }
    
  3. getJob リクエストを実行してレスポンスを確認します。次のレスポンスが返された場合は、集計サービスが正しくデプロイされています。

    {
        "job_status": "FINISHED",
        "request_received_at": <utc_timestamp>,
        "request_updated_at": <utc_timestamp>,
        "job_request_id": "<job_request_id>",
        "input_data_blob_prefix": "<report_folder>/<input_report_prefix>.avro",
        "input_data_bucket_name": "<input_bucket_name>",
        "output_data_blob_prefix": "<output_folder>/<summary_report_prefix>",
        "output_data_bucket_name": "<output_bucket_name>",
        "postback_url": "",
        "result_info": {
            "return_code": "<return_code_and_message>",
            "return_message": "Aggregation job successfully processed",
            "error_summary": {
                "error_counts": [],
                "error_messages": []
            },
            "finished_at": <utc_timestamp>
        },
        "job_parameters": {
            "debug_run": "true", // optional, but should be false by default
            "output_domain_bucket_name": "<output_domain_bucket_name>",
            "output_domain_blob_prefix": "<output_domain_folder>/<output_domain>.avro",
            "attribution_report_to": "<reporting_origin_domain>"
        },
        "request_processing_started_at": <utc_timestamp>
    }
    

job_status: FINISHED を含むレスポンスが返ってこない場合は、選択したパブリック クラウドの Compute Engine または EC2 リソースに移動して、詳細情報を収集します。Aggregation Service インスタンスを検査し、ログを検査して、TEE container launcher initiatingTEE container launcher exiting の間に表示される情報を記録し、テクニカル サポート チームに提供します。

Google Cloud

  1. Google Cloud: Compute Engine に移動します。
  2. [VM インスタンス] をクリックし、Aggregation Service インスタンスを選択します。
  3. [詳細] > [ログ] > [ロギング] をクリックします(または、ログ エクスプローラを検索します)。

アマゾン ウェブ サービス

  1. Amazon Web Services: EC2 Enclave に移動します。
  2. [EC2 インスタンス] をクリックし、集計サービス インスタンスを選択します。
  3. [Actions] > [Monitor and troubleshoot] > [Get system log] をクリックします。

GitHub の公開ガイダンスで、エラー通知に一致するものが存在するかどうかを確認します。

注: 現在のバージョンの Aggregation Service をアップグレードしたばかりの場合、正しいインスタンス イメージが最終的なコンピューティング サービス インスタンスに反映されるまでに数時間かかることがあります。該当しない場合は、お問い合わせください

次のステップ

集計サービスの問題の解決策が見つからない場合は、GitHub の問題を報告するか、テクニカル サポート フォームを送信して、Google にお知らせください。