Como posso me conectar a uma instância de banco de dados do Amazon RDS a partir de uma instância de caderno do Amazon SageMaker que está em uma VPC diferente?

5 minuto de leitura
0

Quero conectar uma instância de caderno do Amazon SageMaker a uma instância de banco de dados do Amazon Relational Database Service (Amazon RDS) que esteja em uma nuvem privada virtual (VPC) diferente.

Resolução

1.    Crie uma conexão de emparelhamento da VPC.

2.    Depois que a conexão de emparelhamento da VPC ficar ativa, atualize as tabelas de rotas. A sub-rede da instância de banco de dados do RDS e a sub-rede da instância de caderno do SageMaker devem ter uma rota entre si. Por exemplo, para os seguintes blocos CIDR:

Bloco CIDR da VPC do SageMaker: 192.168.0.0/16

Bloco CIDR da VPC da instância de banco de dados do RDS: 10.0.0.0/24

A tabela de rotas de sub-rede da instância de banco de dados do Amazon RDS é assim:

DestinoAlvo
10.0.0.0/24local
192.168.0.0/16Selecione a conexão de emparelhamento da VPC na lista suspensa

A tabela de rotas de sub-rede da instância do caderno do SageMaker é assim:

DestinoAlvo
10.0.0.0/24Selecione a conexão de emparelhamento da VPC na lista suspensa
192.168.0.0/16local

3.    Confirme se os dois grupos de segurança estão configurados corretamente. Para permitir o tráfego da instância do caderno para a instância de banco de dados do RDS:

**No grupo de segurança da instância do caderno:**Certifique-se de que haja uma regra de saída que permita tráfego para a instância de banco de dados do RDS.

**No grupo de segurança da instância de banco de dados:**Certifique-se de que haja uma regra de entrada que permita o grupo de segurança da instância do caderno, o bloco CIDR da VPC ou o bloco CIDR da sub-rede.

4.    Para testar a conexão, execute o comando a seguir em um terminal na instância do caderno do SageMaker. Substitua os seguintes valores no exemplo:

mydatabase.c5y9vfc8igjj.ap-southeast-2.rds.amazonaws.com: o endpoint da instância de banco de dados

3306: a porta da instância de banco de dados

curl -v mydatabase.c5y9vfc8igjj.ap-southeast-2.rds.amazonaws.com:3306

Resolução de problemas

Se a instância do caderno tiver o acesso direto à Internet ativado, o comando de teste poderá falhar (por exemplo, “Tempo limite de conexão esgotado”). Se isso acontecer, execute o comando a seguir para verificar a tabela de roteamento da instância de caderno no nível do sistema operacional:

route -n

Quando o acesso direto à internet é ativado, a tabela de roteamento é semelhante à seguinte:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.16.0.1      0.0.0.0         UG    0      0        0 eth0
10.0.32.0       0.0.0.0         255.255.224.0   U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.255.0   U     0      0        0 veth_def_agent
169.254.169.254 0.0.0.0         255.255.255.255 UH    0      0        0 eth0
172.16.0.0      0.0.0.0         255.255.224.0   U     0      0        0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.18.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-5a785eca34a3
192.168.0.0     0.0.0.0         255.255.128.0   U     0      0        0 eth2
192.168.0.0     192.168.0.1     255.255.0.0     UG    0      0        0 eth2

Neste exemplo, o bloco CIDR da VPC da instância de banco de dados é 10.0.0.0/24. A tabela de roteamento do sistema operacional não tem uma rota para 10.0.0.0/24. Em vez disso, o tráfego para o bloco CIDR da VPC do RDS usa a interface de rede primária (eth0), que gerencia o tráfego público. Para resolver o problema de conexão, modifique a tabela de roteamento para usar eth2, que é a interface de rede elástica da VPC da instância do caderno:

1.    Anote o endereço do roteador da VPC do SageMaker. Neste exemplo, 192.168.0.0/16 (o bloco CIDR da VPC da instância do caderno) é roteado para 192.168.0.1. Isso significa que 192.168.0.1 é o endereço do roteador da VPC.

2.    Adicione a rota à tabela de roteamento no terminal da instância do caderno. Substitua esses valores no exemplo:

10.0.0.0/24: o bloco CIDR da VPC da instância de banco de dados do RDS

192.168.0.1: o endereço do roteador da VPC da instância do caderno do SageMaker

sudo ip route add 10.0.0.0/24 via 192.168.0.1 dev eth2

3.    Confirme se a nova rota está na tabela de roteamento:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.16.0.1      0.0.0.0         UG    0      0        0 eth0
10.0.0.0        192.168.0.1     255.255.255.0   UG    0      0        0 eth2
10.0.32.0       0.0.0.0         255.255.224.0   U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.255.0   U     0      0        0 veth_def_agent
169.254.169.254 0.0.0.0         255.255.255.255 UH    0      0        0 eth0
172.16.0.0      0.0.0.0         255.255.224.0   U     0      0        0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.18.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-5a785eca34a3
192.168.0.0     0.0.0.0         255.255.128.0   U     0      0        0 eth2
192.168.0.0     192.168.0.1     255.255.0.0     UG    0      0        0 eth2

4.    Teste a conexão novamente.

Observação: As alterações na tabela de roteamento do sistema operacional não persistem entre as sessões da instância do caderno. Isso significa que você perde as alterações ao interromper e iniciar a instância do caderno do SageMaker. Para mitigar isso, use uma configuração de ciclo de vida para adicionar a rota sempre que você iniciar a instância do caderno.


Informações relacionadas

Conecte uma instância de caderno a recursos em uma VPC

Conecte-se ao SageMaker por meio de um endpoint de interface da VPC

AWS OFICIAL
AWS OFICIALAtualizada há um ano