使用Terraform進行憑據驗證檢查錯誤失敗

當使用Terraform在AWS中部署Databricks工作空間時,您會收到“憑據驗證檢查失敗”錯誤消息。

寫的塞德裏克法律

最後發布日期:2022年10月4日

問題

您正在使用Terraform在AWS中部署工作空間,您將得到一個憑據驗證檢查失敗錯誤消息。

│www.ramcatwww.databricks_mws_credentials: Failed credential validation checks:請使用一個有效的跨帳戶IAM角色,並設置正確的權限。這是關於跨賬戶角色的。│29:資源“databricks_mws_credentials”“this”{│

導致

當Terraform應用跨帳戶角色配置時,由於競態條件而發生此問題。如果你重新運行起程拓殖應用在得到憑據驗證檢查失敗錯誤時,操作成功且沒有導致錯誤消息。

解決方案

您應該為跨帳戶角色配置添加一個人工延遲作為依賴項。這可以防止在使用Terraform時出現競態條件。

  1. 在本例跨帳戶角色配置文件中,time_sleep.wait已作為依賴項添加。
    / / cross-account-role。tf //正確配置跨帳戶角色,以便在您的AWS帳戶中創建新的工作區。//參考https://registry.terraform.io/providers/databrickslabs/databricks/latest/docs/resources/mws_credentials resource "databricks_mws_credentials" "this" {provider = databricks. xml "MWS account_id = var.databricks_account_id role_arn = aws_iam_role.cross_account_role。Arn credentials_name = "${local. "前綴}-creds" depends_on = [time_sleep. quot;等待]}
  2. 延遲時間設置為10秒。您可以根據需要調整延遲長度。
    資源“time_sleep”“wait”{depends_on = [aws_iam_role. net]Cross_account_role] create_duration = "10s"}
  3. 保存修改後的跨帳號角色配置文件。
  4. 運行起程拓殖init
  5. 運行起程拓殖應用

將人工延遲添加到跨帳戶角色配置後,您可以恢複使用Terraform的正常部署。

檢查Terraform time_sleep文檔獲取更多信息。

您還可以查看Databricks Terraform文檔


這篇文章有用嗎?