Skip to content

Banco no seu Google Cloud

Com uma conta Google Cloud conectada, você pode criar um servidor de banco: uma instância Cloud SQL para PostgreSQL dentro do seu próprio projeto. Os bancos criados nele funcionam como qualquer banco do GoShip (bind, usuários, console SQL), mas os dados ficam no seu projeto e o GoShip não cobra nada por eles — o Google cobra a instância direto de você.

Um servidor de banco é da organização, não de um projeto, e é criado para um ambiente: assim que fica pronto, vira o servidor padrão daquele ambiente, e os bancos novos de qualquer projeto nesse ambiente nascem nele. Quem cria e apaga servidores é o dono ou um administrador da organização.

Antes de começar

  • Uma conta Google Cloud conectada em Cloud accounts, no grupo Infrastructure da barra lateral. Veja Contas de nuvem.

  • Contas conectadas antes de outubro de 2026 precisam rodar o comando de conexão de novo: ele ativa a API do Cloud SQL e dá ao GoShip as permissões cloudsql.* que faltavam. Sem isso, a criação falha com a mensagem “run the connect command again to update the permissions”.

  • Uma conta de faturamento ativa no projeto.

  • As políticas de organização do Google que bloqueiam IP público no Cloud SQL desligadas para o projeto. Organizações do Google Cloud criadas desde 2024 vêm com sql.restrictPublicIp e sql.restrictAuthorizedNetworks ativas por padrão, e o servidor do GoShip precisa das duas liberadas (ele só aceita conexões com TLS). Quem administra políticas na sua organização roda, no Cloud Shell:

    gcloud resource-manager org-policies disable-enforce sql.restrictPublicIp --project <id do projeto>
    gcloud resource-manager org-policies disable-enforce sql.restrictAuthorizedNetworks --project <id do projeto>

    Sem isso, a criação falha com “your Google Cloud organization policy sql.restrictPublicIp blocks it” e nenhuma instância é criada.

Custo

TamanhoMáquinaPreço aproximado (Google, São Paulo)
Micro (padrão)db-f1-micro, núcleo compartilhado, 0,6 GB~R$ 50/mês
Smalldb-g1-small, núcleo compartilhado, 1,7 GB~R$ 140/mês
Standard2 vCPU, 7,5 GB~R$ 500/mês

Preços de referência de outubro de 2026; confira na calculadora do Google. Disco inicial de 10 GB SSD com crescimento automático e backup diário (7 cópias).

Esses são exemplos: o formulário de criação lista todos os tamanhos da edição Enterprise do Cloud SQL que o Google oferece na região, com memória, vCPUs e o número de conexões que cada um aceita. O GoShip não mostra preço desses tamanhos; o link para a calculadora do Google fica ao lado.

Conexões por tamanho

O limite de conexões vem do Google, pela memória da instância: cerca de 25 no Micro, 50 no Small, 100 entre 3,75 e 6 GB e 400 entre 7,5 e 15 GB. Todas as conexões abertas contam: os pools das suas apps (a maior parte), até 2 do serviço de bancos do GoShip e as de monitoramento do próprio Cloud SQL.

Mudar o tamanho do servidor

Em Database servers, o botão Resize do servidor abre a lista de tamanhos, para cima ou para baixo, dentro da mesma edição. Ao confirmar, o Google reinicia a instância: as apps ficam sem o banco por alguns minutos. Enquanto isso o servidor aparece como resizing; bancos novos pedidos nele entram na fila e são criados quando ele volta. Disco, bancos, usuários e endereço continuam os mesmos.

Se o tamanho novo aceita menos conexões do que as abertas agora, a página avisa com os dois números: depois do reinício, as apps podem não conseguir conectar. Diminua o pool das apps antes, ou escolha um tamanho maior.

goship db server sizes pg-prod
goship db server resize pg-prod --tier db-g1-small

Os tamanhos da edição Enterprise Plus não aparecem: mudar de edição é com o suporte, por enquanto.

O disco cresce sozinho até um teto (100 GB por padrão; veja Limites do disco). No teto de 100 GB, o armazenamento SSD custa em torno de US$ 17 por mês no preço de referência do Google (EUA); confira o valor da sua região na calculadora do Google. O Google não devolve disco: ele nunca diminui.

Criar o servidor

O caminho mais curto é criar o banco direto: em Databases → New database, escolha em Server a opção Google Cloud · sua conta · new server. O formulário abre nome, região e tamanho do servidor (com o preço do Google), o teto do disco (Disk cap, 100 GB por padrão) e o Size limit opcional do banco; não há plano para escolher. Ao enviar, o GoShip cria o servidor e deixa o banco na fila: ele aparece em Databases como pending, com a etapa do servidor, e é criado sozinho assim que o servidor fica pronto — uns dez minutos, sem precisar voltar. Enquanto o servidor está sendo criado, novos bancos podem ser pedidos nele do mesmo jeito; entram na mesma fila.

Também dá para criar só o servidor: na página Database servers, no grupo Infrastructure da barra lateral (a página Cloud accounts só leva até ela), cada ambiente tem um cartão com Create server, com região e tamanho. A linha mostra em que etapa está.

Pela CLI:

goship db server create --account gcp --region southamerica-east1 --environment production
goship db server list

O nome da instância no Google começa com goship-.

Um servidor por ambiente

Cada ambiente tem no máximo um servidor, e o recomendado é que cada um tenha o seu: desenvolvimento, homologação e produção em instâncias separadas, como o Google e as boas práticas de operação sugerem. Uma instância só para produção isola carga, credenciais, janelas de manutenção e backups dos outros ambientes; para desenvolvimento, o tamanho Micro basta.

O servidor de produção é protegido: a instância nasce com deletion protection ligada no Cloud SQL e com recuperação pontual (point-in-time recovery) ativa, guardando sete dias de logs de transação, em qualquer tamanho. O GoShip desliga a proteção sozinho só na hora de apagar o servidor pelo GoShip.

Uma conta de nuvem pode ter vários servidores. Quem quer o layout mais estrito, um projeto do Google por ambiente, conecta cada projeto em Cloud accounts e cria o servidor de cada ambiente no projeto dele: com mais de uma conta conectada, o formulário pergunta em qual projeto criar.

Um banco só pode ir para o servidor do próprio ambiente ou para um servidor criado sem ambiente (os criados antes de novembro de 2026, ou pela API sem environment), que qualquer ambiente pode usar. Apagar o servidor de um ambiente devolve os bancos novos desse ambiente ao PostgreSQL do GoShip.

Dar um servidor existente a um ambiente

Um servidor criado sem ambiente pode entrar num ambiente sem mover dado nenhum: em Database servers, no cartão Other servers, escolha o ambiente em Join an environment. Os bancos continuam onde estão, e os bancos novos daquele ambiente passam a nascer nele. Só entram ambientes que ainda não têm servidor, e o GoShip recusa enquanto outro ambiente usar o servidor como padrão ou tiver bancos nele.

Entrar em produção liga a deletion protection da instância na hora, sem reiniciar nada. A recuperação pontual é outro passo: o botão Turn on point-in-time recovery liga, mas o Google reinicia a instância para isso, e as conexões caem por cerca de um minuto. Faça num horário tranquilo.

goship db server bind pg-prod --environment production
goship db server pitr pg-prod

Criar bancos nele

No formulário de novo banco, em Server, escolha o servidor: GoShip (managed, billed) é o PostgreSQL do GoShip, e cada servidor seu aparece como Google Cloud · nome · região. Um banco no seu servidor não tem plano: nada vai para a sua fatura do GoShip e os limites são os do próprio servidor (disco e conexões). Se quiser, defina um limite de tamanho para o banco (opcional).

goship db create meu-banco --server pg-prod
goship db create meu-banco --server pg-prod --size-limit 2GB
goship db bind meu-banco -a minha-app

O banco nasce no ambiente em que você está e só se liga a apps do mesmo ambiente. Se o servidor for o padrão do ambiente, nem o --server é preciso (veja abaixo).

Se o servidor ainda está sendo criado, o pedido fica na fila e o banco é criado quando ele ficar pronto. Se a criação do banco falhar depois disso, a linha em Databases vira failed com o motivo e um botão Discard; crie de novo normalmente. Apagar o servidor descarta os bancos na fila dele.

A app recebe DATABASE_URL apontando para o IP público da instância, sempre com sslmode=require.

Servidor padrão de um ambiente

Um ambiente pode ter um servidor seu como servidor de banco padrão: os bancos novos do ambiente vão pra ele, sem --server. Sem um, vão pro PostgreSQL do GoShip.

goship environment create qa --db-server pg-prod
goship db create meu-banco --environment qa    # cai em pg-prod

Dá pra definir o servidor padrão ao criar o ambiente ou depois, na página Environments ou pela API (Ambientes). Mudar o padrão vale só pros bancos criados depois; os que já existem ficam onde estão. O --server de um banco sobrepõe o padrão do ambiente.

Limites do disco

O disco começa com 10 GB e cresce sozinho até o teto do servidor: 100 GB por padrão. Servidores que já existiam recebem o teto de 100 GB, a não ser que o disco deles já seja maior.

goship db server list                    # DISK, CAP (GB) e USED
goship db server disk-limit pg-prod 200  # novo teto, em GB
goship db server disk-limit pg-prod none # sem teto

O teto precisa ser no mínimo o tamanho atual do disco e no máximo 65536 GB; 0 ou none tira o teto. Mudar o teto vale na hora e não reinicia o servidor. Um teto alterado no console do Google é mantido pelo GoShip.

Você recebe um e-mail e um aviso no painel quando o disco passa de 80% e de 95% do teto. Ao chegar no teto o disco para de crescer e os bancos do servidor deixam de aceitar escrita; suba o teto para voltar. goship db info mostra o limite de tamanho do banco e as conexões do servidor (server connections: x of y).

Rede

A instância tem IP público, aceita só conexões TLS e libera 0.0.0.0/0: é a mesma postura do servidor gerenciado do GoShip, e o que permite que apps em qualquer cluster — e você, do seu computador — se conectem. Para restringir, edite as redes autorizadas no console do Google; mantenha o IP do GoShip (148.230.73.224) para o painel continuar administrando os bancos.

Apagar

Apague primeiro os bancos do servidor; depois Delete na linha do servidor, na página Database servers (ou goship db server delete pg-prod). O GoShip remove a instância do seu projeto. Desconectar a conta de nuvem com um servidor ativo é recusado.

Se o GoShip não consegue mais alcançar a instância (a conta de nuvem foi desconectada, o projeto não existe mais ou a exclusão falha sempre), goship db server delete pg-prod --force apaga o servidor só do GoShip, sem tocar na sua nuvem. A instância, se ainda existir, continua rodando (e custando) no seu projeto até você apagá-la no console do Google; o comando imprime o gcloud sql instances delete correspondente. Os bancos do servidor precisam ter sido apagados antes, como na exclusão normal; goship db delete funciona mesmo com o servidor inacessível, removendo só o registro no GoShip.

Se der errado

A linha do servidor mostra o erro. Quando a instância já existe, a mensagem diz o nome dela: ela continua rodando (e custando) no seu projeto até você clicar em Retry ou Delete. “Does not allow this action”: rode o comando de conexão de novo. “No active billing account”: vincule uma no console do Google. “Organization policy … blocks it”: peça a quem administra a organização do Google para desligar a política para o projeto (comando em Antes de começar) e clique em Retry.