指南主題:
診斷基礎架構
本頁面提供如何排解及驗證匯集服務基礎架構的相關指南。請按照步驟找出並解決問題。
排解 Terraform 問題
Terraform 是 HashiCorp 開發的基礎架構即程式碼 (IaC) 平台,是將匯總服務部署至所選公用雲端的主要驅動力。如果您尚未安裝 terraform,請參閱 HashiCorp 說明文件,瞭解如何在本機取得 CLI。
如果您需要切換 Terraform 版本,也可以考慮安裝 tfenv。
如果您無法解決匯總服務問題,請提交 GitHub 問題或技術支援表單,通知我們。
如果您想手動切換 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 Discuss 入口網站的 AWS 專區。
如有其他 Terraform 相關問題,請前往 HashiCorp 社群入口網站。如需一般 Terraform 的疑難排解建議,請參閱偵錯說明文件。
修改這些目錄時請務必小心,因為移除這些目錄會導致 Terraform 無法再辨識狀態。它會嘗試重新佈建所有資源,並在您擁有完全相同名稱的資源時傳回錯誤。如果問題仍未解決,請透過技術支援表單與我們聯絡。
修改這些目錄時請務必小心,因為移除這些目錄會導致 Terraform 無法再辨識狀態。系統會嘗試重新佈建所有資源,如果您有名稱完全相同的資源,則會發生錯誤。如果問題仍未解決,請透過技術支援表單與我們聯絡
驗證 Cloud 設定
確認所選公用雲端中的匯總服務基礎架構是否已正確部署。為此,我們將使用偵錯報表範例,並在偵錯模式下執行工作。如果匯總服務能夠接收 API 要求並回應,我們就知道該服務已啟用並運作。如果您尚未設定,建議您使用 Postman 或 cURL
設定匯總服務的 API 呼叫。請注意,在正常的匯總作業期間,應關閉偵錯模式,並將其設為 false。
除了下列步驟之外,如要進一步驗證匯總服務基礎架構,請調查在公用雲端中佈建的所有雲端元件。
步驟
如要產生偵錯報表範例和輸出網域檔案,請按照程式碼研究室的相關步驟操作:
- Google Cloud:請按照Aggregation Service Google Cloud Codelab 的步驟 3.1.1 至 3.1.4 操作。
- Amazon Web Services:請按照Aggregation Service AWS Codelab 的步驟 4.1 至 4.4 操作
請使用此主體執行
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 } }
執行
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 資源,收集更多資訊。請檢查匯總服務例項,並查看記錄檔,記錄 TEE container launcher initiating
和 TEE container launcher exiting
之間顯示的資訊,以便提供給我們的技術支援團隊。
Google Cloud
- 前往 Google Cloud:Compute Engine。
- 按一下「VM 執行個體」,然後選取匯總服務執行個體。
- 依序按一下「Details」 >「Logs」 >「Logging」 (或搜尋「Logs Explorer」)。
Amazon Web Services
- 前往 Amazon Web Services:EC2 Enclave。
- 按一下「EC2 執行個體」,然後選取匯總服務執行個體。
- 依序點選「動作」 >「監控及疑難排解」 >「取得系統記錄」。
檢查是否有任何與 GitHub 上的公開指南中錯誤通知相符的內容。
注意:如果您剛升級目前的 Aggregation Service 版本,完整的佈建程序可能需要數小時,才能在最終的運算服務執行個體中顯示正確的執行個體映像檔。如果不是這種情況,請與我們聯絡。