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_IDINSTANCE_NAME=YOUR_INSTANCE_NAMENAT_ID=1st_NAT_IP_IDExemplo
PROJECT_ID=apigee-saas-prod
ORG_ID=apigee-saas-prodINSTANCE_NAME=prod-us-west1-instance1NAT_ID=nat-1Em 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 listpara 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: trueexecutando 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"