Replication

GCP 配置外部主問題

  • March 7, 2017

我正在按照GCP 教程從外部主伺服器創建副本實例。Cloud SQL API 已啟用,我正在使用控制台中的 google shell 來執行命令。我還嘗試使用 gcloud auth login 從計算引擎實例獲取憑據,但遇到了完全相同的問題。

我正在創建內部主人沒有任何問題:

ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header 'Content-Type: application/json' \
--data '{"name": "int-clouddb5",
         "region": "us-central1-a",
         "databaseVersion": "MYSQL_5_5",
         "onPremisesConfiguration": {"hostPort": "79.xx.xx.xx:3306"}}' \
-X POST \
https://www.googleapis.com/sql/v1beta4/projects/my-project-222/instances

但是當以這種方式設置副本時:

curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header 'Content-Type: application/json' \
--data '{"replicaConfiguration":
          {"mysqlReplicaConfiguration":
            {"username": "xxxx", "password": "xxxxx",
             "dumpFilePath": "gs://xxxbucket-data/xxxxmpv2.sql" }},
         "settings": {"tier": "D4","activationPolicy": "ALWAYS"},
         "databaseVersion": "MYSQL_5_5",
         "masterInstanceName": "int-clouddb5", "name": "sla-clouddb3"}' \
-X POST \
https://www.googleapis.com/sql/v1beta4/projects/xxxxxx/instances

我收到以下錯誤消息:

{
"error": {
 "errors": [
  {
   "domain": "global",
   "reason": "notAuthorized",
   "message": "The client is not authorized to make this request."
  }
 ],
 "code": 403,
 "message": "The client is not authorized to make this request."
}
}

GCP 支持建議使用 us-central-1a,因為他們在其他地區報告了錯誤,但這並沒有改變任何東西,而且那個人似乎不理解我的要求。有人知道那裡出了什麼問題嗎?

編輯:用於執行所有操作的帳戶是所有者帳戶,它擁有所有項目的所有權限。

截至目前,答案是 Cloud SQL 外部主複製已損壞。支持團隊的建議相當……嗯,我讓你判斷。

*您好,根據與我們的後端團隊的檢查,對於外部主複製的關注,已經提出了類似的錯誤。相關團隊已經在處理此問題,但尚未提供預計的解決時間,儘管這已經處於高度優先地位。同時,建議採用以下解決方法:

a.) 在停機時間使用 mysqldump

$$ 1 $$ b.) 使用 GCE 實例進行複制

$$ 2 $$* 我希望這會有所幫助。如果您需要進一步說明,請告訴我。此致 E. Google 雲平台支持

該範例用於$(gcloud auth application-default print-access-token)獲取請求的訪問令牌,因此您要使用gcloud auth application-default login,而不是gcloud auth login。您還需要確保您的帳戶具有正確的權限來配置外部主機。

引用自:https://serverfault.com/questions/835108