Назад | Перейти на главную страницу

GCP настроить внешний главный вопрос

я следую Руководство по GCP для создания экземпляра реплики из внешнего мастера. Cloud SQL API включен, и я использую оболочку Google из консоли для выполнения команд. Я также пробовал использовать экземпляр вычислительного движка с использованием входа в систему gcloud auth для получения учетных данных, но столкнулся с той же проблемой.

Я без проблем создаю внутренний мастер:

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 нарушена. Предложение от службы поддержки вполне ... хммм, я вам судить.

* Здравствуйте! Согласно проверке нашей бэкэнд-команды, похожие ошибки уже были подняты в отношении внешней главной репликации. Соответствующая группа уже занимается этим вопросом, однако примерное время решения не сообщается, хотя этот вопрос уже имеет высокий приоритет. А пока предлагаются обходные пути ниже:

а.) Используйте mysqldump с временем простоя [1]

б.) Используйте экземпляр GCE для репликации [2] *

Я надеюсь, что это поможет. Пожалуйста, дайте мне знать, если вам нужны дополнительные разъяснения. С уважением, E. Служба поддержки Google Cloud Platform

В образце используется $(gcloud auth application-default print-access-token) чтобы получить токен доступа для запроса, поэтому вы хотите использовать gcloud auth application-default loginне gcloud auth login. Вы также захотите убедиться, что в вашей учетной записи есть правильные разрешения настроить внешний мастер.