

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configurar redes, grupos de segurança e autenticação do IAM
<a name="best-practices-ecs-eks-networking-iam"></a>

Implantações em contêineres no Amazon ECS ou no Amazon EKS exigem a configuração correta da rede e o gerenciamento de credenciais do IAM para se conectar ao Neptune.

**Lista de verificação de grupos de segurança**
+ O grupo de segurança do cluster Neptune deve permitir a entrada de TCP na porta 8182 (ou na porta personalizada configurada para seu cluster Neptune) a partir do nó ou do pod CIDR do Amazon EKS.
+ Se você usa o plug-in CNI da Amazon VPC com rede personalizada, verifique se a sub-rede do pod tem uma rota para a sub-rede Neptune.
+ O Neptune deve estar na mesma Amazon VPC que seu cluster Amazon ECS ou Amazon EKS, ou conectado por meio do emparelhamento do Amazon VPC ou do Transit Gateway.

**Verifique a conectividade de dentro do contêiner**

Antes de depurar problemas no nível do aplicativo, confirme o caminho da rede executando um dos seguintes comandos de dentro do contêiner:

------
#### [ AWS CLI ]

```
aws neptunedata get-engine-status \
  --endpoint-url https://{{your-neptune-endpoint}}:8182
```

Para obter mais informações, consulte [get-engine-status](https://docs.aws.amazon.com/cli/latest/reference/neptunedata/get-engine-status.html) na Referência de comandos. AWS CLI 

------
#### [ SDK ]

```
import boto3
from botocore.config import Config

client = boto3.client(
    'neptunedata',
    region_name='{{us-east-1}}',
    endpoint_url='https://{{your-neptune-endpoint}}:8182',
    config=Config(read_timeout=10)
)

response = client.get_engine_status()
print(response['status'])
```

------
#### [ awscurl ]

```
awscurl https://{{your-neptune-endpoint}}:8182/status \
  --region {{us-east-1}} \
  --service neptune-db
```

**nota**  
Este exemplo pressupõe que suas AWS credenciais estejam configuradas em seu ambiente. {{us-east-1}}Substitua pela região do seu cluster Neptune.

------
#### [ curl ]

```
curl -k https://{{your-neptune-endpoint}}:8182/status
```

**nota**  
A `-k` bandeira ignora a verificação do certificado. Use isso somente para testes de conectividade, não no código de produção.

------

Uma resposta bem-sucedida confirma que os grupos de segurança, o roteamento e a resolução de DNS estão funcionando. Um tempo limite indica um problema no nível da rede.

**Atualização de credenciais do IAM**

Se você usa a [autenticação do IAM](iam-auth.md) com o Neptune, seus pods precisam atualizar as credenciais antes que elas expirem. Recomendamos o [Amazon EKS Pod Identity](https://docs.aws.amazon.com/eks/latest/userguide/pod-identities.html) para novas implantações. O IAM Roles for Service Accounts (IRSA) também é suportado e amplamente usado.

Com qualquer uma das abordagens, recupere as credenciais *dentro* da função do gerador de autenticação, não uma vez na inicialização. Os tokens IRSA e Pod Identity expiram após 1 hora. Se você armazenar as credenciais em cache na inicialização, as solicitações falharão `AccessDeniedException: security token expired` depois que o token expirar.
+ Para gremlin-go: chame `cfg.Credentials.Retrieve(ctx)` dentro da função passada para. `gen` `NewDynamicAuth`
+ Para Java: use `NeptuneGremlinClient` com um `HandshakeInterceptor` que atualize a assinatura SigV4 em cada nova conexão.

**Cross-account access**

O Neptune não oferece suporte à autenticação IAM direta entre contas. Se seu cluster Amazon EKS estiver em uma AWS conta diferente do seu cluster Neptune, o pod deve primeiro assumir uma função na conta Neptune antes de se autenticar.

**Configuração de entrada para o Graph Explorer**

Se você executar o [Graph Explorer](https://github.com/aws/graph-explorer) em um ambiente em contêiner, certifique-se de que todos os caminhos estejam acessíveis ao proxy, não apenas. `/explorer` No Amazon EKS, configure as regras do controlador de entrada para permitir todos os caminhos. No Amazon ECS, configure seu grupo-alvo do Application Load Balancer e as regras de ouvinte para encaminhar todos os caminhos para o contêiner do Graph Explorer. O proxy do Graph Explorer faz chamadas para `/summary` `/gremlin``/openCypher`,, `/sparql` e. Path-restricted as regras de roteamento quebram o proxy silenciosamente.