Replication
GCP 配置外部主問題
我正在按照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
。您還需要確保您的帳戶具有正確的權限來配置外部主機。