Como posso obter o intervalo do VPC CIDR dentro de uma instância do AWS?

1

Eu estou tentando programaticamente definir as rotas que um vpn deve empurrar para os clientes, sendo um dos principais a rede VPC. Existe uma maneira de obter o bloco VPC CIDR de dentro da minha instância vpn?

    
por c4urself 29.04.2016 / 22:34

2 respostas

6

Você pode obter o bloco CIDR de VPC fazendo, por exemplo,

$ metadata="http://169.254.169.254/latest/meta-data"
$ mac=$(curl -s $metadata/network/interfaces/macs/ | head -n1 | tr -d '/')
$ cidr=$(curl -s $metadata/network/interfaces/macs/$mac/vpc-ipv4-cidr-block/)
    
por 30.04.2016 / 20:26
0

Claro, use awscli, boto ou a API da AWS da sua linguagem favorita.

Primeiro, use o serviço de metadados do EC2 para obter o ID da instância. Com essa informação, você pode obter o VPC para a instância e, em seguida, a partir do ID do VPC, você pode obter o intervalo do CIDR.

Essas etapas obviamente precisam ser executadas a partir da própria instância, portanto, é necessário atribuir uma função de instância ao servidor com os privilégios apropriados do IAM para ler os dados acima.

    
por 30.04.2016 / 05:10