Esta página se aplica à Apigee, mas não à Apigee híbrida.
Confira a documentação da Apigee Edge.
Esta seção descreve como gerenciar os IPs NAT para instâncias da Apigee.
A Apigee fornece IPs efêmeros e IPs dedicados. Em muitos casos, IPs temporários são suficientes. Se o back-end não exigir a listagem de permissões de IP, você não precisará gerenciar IPs NAT, e a Apigee alocará automaticamente IPs temporários para saída.
Se você precisar de uma lista de permissões de IP, poderá reservar e ativar IPs para que a Apigee use IPs estáticos para o tráfego de saída.
Configurar o provisionamento de IP NAT da Apigee
Para definir o provisionamento de IP NAT para sua instância do Apigee:
- Crie e preencha as seguintes variáveis de ambiente:
Variáveis
PROJECT_ID=YOUR_PROJECT_ID
ORG_ID=YOUR_ORG_ID
INSTANCE_NAME=YOUR_INSTANCE_NAME
NAT_ID=1st_NAT_IP_ID
Exemplo
PROJECT_ID=apigee-saas-prod
ORG_ID=apigee-saas-prod
INSTANCE_NAME=prod-us-west1-instance1
NAT_ID=nat-1
Em que:
- YOUR_PROJECT_ID é o ID do projeto do Cloud que você criou como parte dos
pré-requisitos.
Se você não tiver certeza de qual é o ID do projeto, use o Console do Cloud ou
o comando
gcloud projects list
para encontrá-lo. - YOUR_ORG_ID é o ID da organização da Apigee
- YOUR_INSTANCE_NAME é o nome da instância da Apigee.
- 1st_NAT_IP_ID é o nome que você está atribuindo a esse endereço IP NAT, por exemplo:
nat-1
. O valor desse parâmetro não pode exceder 20 caracteres.
- YOUR_PROJECT_ID é o ID do projeto do Cloud que você criou como parte dos
pré-requisitos.
Se você não tiver certeza de qual é o ID do projeto, use o Console do Cloud ou
o comando
- Reserve um IP NAT com os seguintes comandos:
-
Na linha de comando, receba as credenciais de autenticação de
gcloud
. Veja o exemplo a seguir:TOKEN=$(gcloud auth print-access-token)
Para verificar se o token foi preenchido, use
echo
, como mostra o exemplo a seguir:echo $TOKEN
Isso exibirá seu token como uma string codificada.
Para mais informações, consulte a visão geral da ferramenta de linha de comando gcloud.
- O comando para reservar o IP NAT retorna a operação de longa duração. Portanto, o comando como mostrado aqui atribui a saída a uma variável
operation_name
:operation_name=$(curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/${ORG_ID}/instances/${INSTANCE_NAME}/natAddresses" \ -X POST -H "content-type:application/json" -d "{\"name\":\"${NAT_ID}\"}" | jq -r '.name')
- Pesquise a operação de longa duração até que ela mostre o status
done: true
executando a seguinte solicitação:curl -s -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/$operation_name"
-
- Depois que a operação for concluída, ative o IP NAT com os seguintes comandos:
- Ative o IP e atribua o nome da operação de longa duração a
operation_name
:operation_name=$(curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/${ORG_ID}/instances/${INSTANCE_NAME}/natAddresses/${NAT_ID}:activate" \ -X POST -H "content-type:application/json" -d "{}" | jq -r '.name')
- Pesquise a operação de longa duração até ver o status de
done: true
:curl -s -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/$operation_name"
- Ative o IP e atribua o nome da operação de longa duração a
- Repita este procedimento com um novo nome de IP NAT para cada IP NAT que você configurar.
Como buscar IPs NAT
Liste os IPs NAT de uma instância com o seguinte comando:
curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/${ORG_ID}/instances/${INSTANCE_NAME}/natAddresses"
Um exemplo de resposta seria:
{ "natAddresses": [ { "name": "nat-1", "ipAddress": "35.203.160.18", "state": "ACTIVE" }, { "name": "nat-2", "ipAddress": "35.230.14.174", "state": "RESERVED" }, { "name": "nat-3", "state": "CREATING" } ] }
Estados de um IP NAT
CREATING
: a criação do IP NAT está pendente. Não está pronto para ser usadoRESERVED
: o IP NAT foi criado, mas não foi usado. Isso dá a oportunidade de permitir a listagem desse IP antes de ativá-lo.ACTIVE
: o IP NAT está sendo usado para enviar tráfego de saída.DELETING
: o IP NAT está sendo excluído.
Como excluir IPs NAT
Exclua IPs NAT com o comando a seguir:
- Exclua o IP e atribua a saída a "
operation_name
".operation_name=$(curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/${ORG_ID}/instances/${INSTANCE_NAME}/natAddresses/${NAT_ID}" \ -X DELETE | jq -r '.name')
- Pesquise a operação de longa duração até ver o status de
done: true
.curl -s -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/$operation_name"