O GCP configura um problema mestre externo

1

Estou seguindo o tutorial do GCP para criar uma instância de réplica a partir de um mestre externo. A Cloud SQL API está ativada e estou usando o google shell no console para executar os comandos. Eu também tentei de uma instância do mecanismo de computação usando gcloud auth login para obter credenciais, mas deparo com o mesmo problema exato.

Estou criando o mestre interno sem nenhum problema:

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

Mas quando configurar a réplica dessa maneira:

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

Recebo a seguinte mensagem de erro:

{
 "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."
 }
}

O suporte ao GCP sugeriu o uso de us-central-1a, pois eles tinham bugs relatados em outras regiões, mas isso não muda nada e o cara não parece entender meu pedido. Alguém tem uma ideia sobre o que há de errado lá?

EDIT: a conta usada para realizar tudo é a conta do proprietário, tem todas as permissões em todos os projetos.

    
por Vincent Teyssier 27.02.2017 / 09:12

2 respostas

0

A partir de agora, a resposta é que a replicação principal externa do Cloud SQL está corrompida. A sugestão da equipe de apoio é bem ... eu deixo você julgar.

* Olá, De acordo com a verificação com nossa equipe de back-end, há bugs similares já levantados para a preocupação na replicação mestre externa. A equipe em questão já está lidando com essa questão, no entanto, nenhum tempo estimado de resolução foi fornecido, embora isso já esteja em alta prioridade. Por enquanto, abaixo estão sendo sugeridas soluções alternativas:

a.) Use o mysqldump com um tempo de inatividade [1]

b.) Use a instância do GCE para replicação [2] *

Espero que isso seja útil. Por favor, deixe-me saber se você precisar de mais esclarecimentos. Atenciosamente, E. Suporte do Google Cloud Platform

    
por 07.03.2017 / 07:09
0

O exemplo usa $(gcloud auth application-default print-access-token) para obter o token de acesso para a solicitação, portanto, você deve usar gcloud auth application-default login , não gcloud auth login . Você também deve garantir que sua conta tenha permissões corretas para configurar o mestre externo.

    
por 27.02.2017 / 22:40