Como a resposta anterior é desordenada, colocarei outra com fluxo de trabalho, usando apenas o AWS CLI (você pode escrever um script de automação de ajuste fino usando o AWS SDK) ( link )
- Crie ENI com IP privado usando. ( aws ec2 create-network-interface ) Escreva o ID da ENI
- Alocar o EIP para o VPC. ( aws ec2 allocate-address - domínio vpc ) anote o EIP-id
- Vincular EIP a ENI-id, apontar para corrigir IP privado ( aws ec2 associate-address )
- Crie ou inicie a instância do EC2, anexe ao ENI. ( aws ec2 interface de rede anexada )
Depois de colocar tudo script no lugar, recriar a instância do EC2 com o ENI adequado é apenas uma questão de minutos.
(resposta atualizada abaixo)
No Linux, para atribuir vários endereços IP a uma interface, a atribuição correta à interface é adicionar um endereço IP adicional à interface física. Para o Ubuntu, etc, é algo como eth0: 0, eth0: 1, para a primeira interface, eth1: 0, eth1: 1 para interface subseqüente.
E isso é um pouco diferente para o Centos, ou seja,
enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether ....
inet 192.168.1.150/24 brd 192.168.1.255 scope global enp0s3
inet 192.168.1.151/24 brd 192.168.1.255 scope global secondary enp0s3
inet 192.168.1.152/24 brd 192.168.1.255 scope global secondary enp0s3
Portanto, a documentação correta deve ser essa.
link
Em resumo, o Centos criará automaticamente um arquivo de interface de rede para cada interface. Apenas vá em / etc / sysconfig / network-scripts / e verifique cada nome de arquivo como ifcfg-eth * (não me pergunte por que o link acima mostra enp0). A parte complicada é se o seu Centos reforça o uso do NetworkManager, e você deve configurar conforme requerido pela documentação do centos wiki.centos.org/FAQ/CentOS7
Portanto, você deve ver pelo menos 4 arquivos de interface para o seu m3.xlarge, por exemplo
/ etc / sysconfig / network-scripts / ifcfg-eth0
/ etc / sysconfig / network-scripts / ifcfg-eth1
/ etc / sysconfig / network-scripts / ifcfg-eth2
/ etc / sysconfig / network-scripts / ifcfg-eth3
Como a interface principal deve estar em execução, ela fornecerá a dica do endereço IP da instância em execução. Então, se você abrir / etc / sysconfig / network-scripts / ifcfg-eth0, se a instância configurar como IP 10.0.1.10, você deverá ver isso
IPADDR0="10.0.1.10"
Para adicionar mais endereços IP, basta fazer o que o link unixmen diz, por exemplo
IPADDR1="10.0.1.97"
IPADDR2="10.0.1.98"
IPADDR3="10.0.1.99"
Em seguida, abra ifcfg-eth1, ifcfg-eth2, ifcfg-eth3 e repita a tarefa. Depois disso, use "systemctl restart network" para reiniciar. (backup de todos os arquivos de configuração para que você apenas substitua o arquivo no futuro)
Em seguida, você joga com a parte de roteamento. Basta imprimir sua tabela de rotas VPC, Subnet. Agora dentro de / etc / sysconfig / network-scripts /, você lida com route-ethX, ou seja, route-eth0, route-eth1, route-eth2, route-eth3. Isso significa que você deve conhecer sua própria rede para configurar essa parte (que deve ser mostrada no layout do VPC). Desde que você mencionou apenas um gateway VPC 10.0.1.1, então para todo o arquivo route- *, deve ser algo como isto
# I just assume your put all your 10.0.1.x in the CIDR /24 segments
#
# file route-eth0
# Assume your first ENI IP address is 10.0.1.10
# format : default via gateway-ip dev dev-name table route-table-number
default via 10.0.1.1 dev eth0 table 0
# format : network cidr dev dev-name src ENI-intrace-IP route-table-number
10.0.1.0/24 dev eth0 src 10.0.1.10 table 0
# file route-eth1
# Assume your 2nd ENI IP address is 10.0.1.11
default via 10.0.1.1 dev eth1 table 1
10.0.1.0/24 dev eth1 src 10.0.1.15 table 1
# file route-eth2
# Assume your 2nd ENI IP address is 10.0.1.12
default via 10.0.1.1 dev eth1 table 2
10.0.1.0/24 dev eth2 src 10.0.1.12 table 2
Então você segue o documento que você mencionou instrução, em / etc / sysconfig / network-scripts, cria uma regra-ethX, ou seja, regra-eth0, regra-eth1
1. Incrementar o número da tabela para corresponder à rota-ethX
2. Altere o IP para o endereço da rede interna da ENI.
# file rule-eth0 ,but as the doc suggest, you should skip this file.
# format : from ENI_IP/CIDR table <table_number>
from 10.0.1.10/32 table 0
#file rule-eth1
from 10.0.1.11/32 table 1
Você deve executar a configuração de rede do Centos com seu adaptador de rede virtual VMware / virtual local. Então você não precisa se preocupar de repente