Por padrão, recursos de VPC com endereço IP público comunicam-se diretamente com a Internet via IPv4. Em ambientes corporativos, métodos não gerenciados de acesso à Internet — como equipes de negócios que atribuem endereços IP públicos a instâncias ECS sem aprovação — introduzem riscos de segurança. Um gateway IPv4 permite rotear todo o tráfego destinado à Internet por um único ponto de controle usando tabelas de rotas, o que reduz os riscos de segurança do acesso descentralizado.
Por que usar um gateway IPv4
|
Comparação |
Acesso direto à Internet (padrão da VPC) |
Controle centralizado com gateway IPv4 |
|
Exemplo |
Sem um gateway IPv4, as instâncias ECS acessam a Internet diretamente por meio de um endereço IP público estático, um EIP ou um gateway NAT da Internet. |
Gerenciamento centralizado de todo o tráfego de acesso à Internet. |
|
Casos de uso |
Poucas instâncias ECS precisam de acesso direto e independente à Internet. Ideal quando os requisitos de acesso à Internet mudam frequentemente. |
Arquiteturas de rede em grande escala e com múltiplas camadas. Ambientes corporativos com requisitos rigorosos de segurança de rede e conformidade. |
|
Complexidade |
Simples e rápido. Nenhuma configuração de rota necessária. |
Exige planejamento de rede e configuração de regras de rota. |
|
Flexibilidade |
Cada instância é gerenciada independentemente, sem impacto nas demais. |
Alterações na política de rede afetam todas as instâncias na VPC. |
|
Segurança |
A segurança depende principalmente das regras do grupo de segurança configuradas para cada instância. |
O gateway IPv4 aplica políticas de rede consistentes em toda a VPC por meio de controle centralizado. |
Diferença entre gateway IPv4 e gateway NAT da Internet
Um gateway IPv4 e um gateway NAT da Internet podem ser usados juntos. Consulte Internet access para obter detalhes sobre como esses componentes de rede se relacionam.
|
Componente |
Gateway IPv4 |
Gateway NAT da Internet |
|
Finalidade |
Um componente de limite da VPC que controla o tráfego IPv4 público |
Um dispositivo de Network Address Translation (NAT) dentro da VPC |
|
Cenários |
Controle centralizado do tráfego de acesso à Internet |
Saída unificada para tráfego destinado à Internet |
|
Fornece acesso à Internet |
Não. Apenas controla o tráfego. |
Fornece acesso à Internet associando EIPs (Os EIPs fornecem a conectividade; o próprio gateway NAT não fornece acesso à Internet.) |
Após criar um gateway IPv4, os vSwitches enquadram-se em duas categorias:
vSwitch público: A tabela de rotas associada contém uma entrada de rota com Destination CIDR Block definido como
0.0.0.0/0e Next Hop definido como o gateway IPv4. Os recursos neste vSwitch podem acessar a Internet após a associação de um endereço IP público.vSwitch privado: A tabela de rotas associada não contém uma rota apontando para o gateway IPv4. Os recursos neste vSwitch não podem acessar a Internet diretamente, mesmo que tenham um endereço IP público.
Ao usar um gateway NAT da Internet junto com um gateway IPv4, implante o gateway NAT da Internet em um vSwitch público. As instâncias ECS em um vSwitch privado devem ter uma rota apontando para o gateway NAT da Internet para que seu tráfego destinado à Internet flua através do gateway NAT, que usa seu endereço IP público associado para alcançar a Internet. Observe o seguinte:
-
Certifique-se de que o
EipBindModedo gateway NAT da Internet esteja definido como modoNATpara compatibilidade com o gateway IPv4.Gateways NAT da Internet criados no console usam o modo
NATpor padrão. Ao chamar CreateNatGateway, definaEipBindModecomoNAT. Após a criação, chame ModifyNatGatewayAttribute para alterar oEipBindMode.Se já existir um gateway NAT da Internet com
EipBindModedefinido como modoMULTI_BINDED, ele será incompatível com o gateway IPv4 e não será possível criar um gateway IPv4.Se já existir um gateway IPv4 e você chamar CreateNatGateway para criar um gateway NAT da Internet com
EipBindModedefinido como modoMULTI_BINDED, não será possível associar EIPs a esse gateway NAT.
Para evitar que recursos em vSwitches privados percam o acesso à Internet após a ativação do gateway IPv4, conclua a configuração de rotas antes da ativação.
Como funciona
Controlar o acesso à Internet com um gateway IPv4
Depois de criar e ativar um gateway IPv4 para uma VPC, o gateway controla centralmente todo o tráfego de acesso à Internet. Apenas vSwitches cuja tabela de rotas associada contenha uma rota apontando para o gateway IPv4 podem acessar a Internet diretamente. Na página de detalhes da VPC, verifique IPv4 Internet Access Mode para confirmar se o gateway IPv4 está controlando ativamente o tráfego da Internet.
Antes da ativação, o tráfego da Internet na VPC não é afetado. No entanto, pode ocorrer uma breve interrupção de rede durante a ativação devido à troca dos caminhos de tráfego.
Excluir um gateway IPv4
Antes da exclusão, desassocie a tabela de rotas do gateway. Na coluna Actions do gateway IPv4 alvo, clique em Delete ou chame DeleteIpv4Gateway. O modo de exclusão escolhido determina como a VPC lidará com o acesso à Internet posteriormente.
Modo público: O sistema remove automaticamente todas as entradas de rota que apontam para o gateway IPv4. A VPC retorna ao seu estado inicial, onde instâncias com endereço IP público podem acessar a Internet diretamente.
-
Modo privado: Exclua manualmente todas as entradas de rota que apontam para o gateway IPv4 das tabelas de rotas antes de prosseguir. Após a exclusão, todos os recursos da VPC perdem o acesso à Internet. Para restaurar o acesso direto à Internet, crie um novo gateway IPv4 e exclua-o no modo público.
ImportanteApós a exclusão no modo privado, todos os recursos da VPC perdem o acesso à Internet, independentemente de terem ou não um endereço IP público. Proceda com cautela.
Controlar centralmente o acesso à Internet
Em ambientes corporativos, métodos não gerenciados de acesso à Internet — como equipes de negócios que atribuem endereços IP públicos a instâncias ECS sem aprovação — dificultam a aplicação de políticas consistentes pelas equipes de operações. Use um gateway IPv4 para centralizar o controle de acesso à Internet, reduzindo os riscos de segurança do acesso descentralizado.
Console
Acesse a página VPC console - IPv4 Gateway. Selecione a região onde sua VPC está implantada e clique em Create IPv4 Gateway.
Criar gateway IPv4: Selecione a VPC para a qual deseja centralizar o controle de acesso à Internet.
-
Ativar gateway IPv4: Selecione as tabelas de rotas associadas aos vSwitches públicos. O sistema adiciona automaticamente uma rota
0.0.0.0/0apontando para o gateway IPv4, garantindo que os recursos nos vSwitches públicos possam acessar a Internet após a associação de um endereço IP público. Se a tabela de rotas já contiver uma rota0.0.0.0/0, clique em Activate Later, atualize o próximo salto dessa rota para o gateway IPv4 e, em seguida, ative. Após a ativação, o gateway IPv4 controlará o acesso à Internet da VPC.Se uma instância ECS usar um gateway NAT da Internet para acesso à Internet, implante a instância ECS e o gateway NAT em vSwitches diferentes. Adicione uma rota
0.0.0.0/0apontando para o gateway IPv4 na tabela de rotas associada ao vSwitch do gateway NAT. Adicione uma rota apontando para o gateway NAT no vSwitch público na tabela de rotas associada ao vSwitch da instância ECS.Se uma instância ECS usar um endereço IP público estático ou um EIP associado diretamente, adicione uma rota
0.0.0.0/0apontando para o gateway IPv4.
API
Chame CreateIpv4Gateway para criar um gateway IPv4.
Chame EnableVpcIpv4Gateway para ativar o gateway IPv4. Defina
RouteTableListcomo a tabela de rotas associada ao vSwitch público. Se omitido, chame CreateRouteEntry para adicionar manualmente uma rota0.0.0.0/0apontando para o gateway IPv4.
Terraform
Diferentemente do console, ativar um gateway IPv4 via Terraform não adiciona automaticamente uma rota 0.0.0.0/0 apontando para o gateway IPv4. Configure a rota manualmente.
Resource: alicloud_vpc , alicloud_vswitch , alicloud_vpc_ipv4_gateway , alicloud_route_table , alicloud_route_table_attachment , alicloud_vpc_route_entry , alicloud_instance , alicloud_security_group , alicloud_security_group_rule , alicloud_eip_address , alicloud_eip_association , alicloud_nat_gateway , alicloud_snat_entry
Data Sources: alicloud_zones
# Specify the region for the IPv4 gateway
provider "alicloud" {
region = "cn-hangzhou"
}
# Automatically obtain zones that support vSwitch creation
data "alicloud_zones" "available_zones" {
available_resource_creation = "VSwitch" # Query zones available for VPC resources
}
# Create a VPC
resource "alicloud_vpc" "example_vpc" {
vpc_name = "example_vpc_name"
cidr_block = "10.0.0.0/16" # Specify the CIDR block
}
# Define vSwitch configurations
locals {
vswitches = {
vsw1 = {
name = "example_vsw1_name"
cidr_block = "10.0.0.0/24"
zone_index = 0
}
vsw2 = {
name = "example_vsw2_name"
cidr_block = "10.0.1.0/24"
zone_index = 1
}
vsw3 = {
name = "example_vsw3_name"
cidr_block = "10.0.2.0/24"
zone_index = 0
}
vsw4 = {
name = "example_vsw4_name"
cidr_block = "10.0.3.0/24"
zone_index = 0
}
}
# Define route table configurations
route_tables = {
rt1 = {
name = "example_rt1_name"
vswitch_key = "vsw1"
}
rt2 = {
name = "example_rt2_name"
vswitch_key = "vsw2"
}
rt3 = {
name = "example_rt3_name"
vswitch_key = "vsw3"
}
rt4 = {
name = "example_rt4_name"
vswitch_key = "vsw4"
}
}
# Define instance configurations
instances = {
instance1 = {
name = "example_instance1_name"
vswitch_key = "vsw1"
}
instance2 = {
name = "example_instance2_name"
vswitch_key = "vsw3"
}
instance3 = {
name = "example_instance3_name"
vswitch_key = "vsw4"
}
}
# Define EIP configurations
eips = {
eip1 = {
name = "example_eip1_name"
}
eip2 = {
name = "example_eip2_name"
}
}
# Define SNAT entry configurations
snat_entries = {
snat1 = {
instance_key = "instance2"
}
snat2 = {
instance_key = "instance3"
}
}
}
# Create multiple vSwitches
resource "alicloud_vswitch" "example_vsw" {
for_each = local.vswitches
vswitch_name = each.value.name
cidr_block = each.value.cidr_block
vpc_id = alicloud_vpc.example_vpc.id
zone_id = data.alicloud_zones.available_zones.zones[each.value.zone_index].id
}
# Create multiple custom route tables
resource "alicloud_route_table" "example_route_table" {
for_each = local.route_tables
route_table_name = each.value.name
vpc_id = alicloud_vpc.example_vpc.id
}
# Associate route tables with vSwitches
resource "alicloud_route_table_attachment" "example_route_table_attachment" {
for_each = local.route_tables
vswitch_id = alicloud_vswitch.example_vsw[each.value.vswitch_key].id
route_table_id = alicloud_route_table.example_route_table[each.key].id
}
# Specify instance type
variable "instance_type" {
default = "ecs.e-c1m1.large"
}
# Specify image ID
variable "image_id" {
default = "aliyun_3_x64_20G_alibase_20221102.vhd"
}
# Create a security group
resource "alicloud_security_group" "example_security_group" {
security_group_name = "example_security_group_name"
vpc_id = alicloud_vpc.example_vpc.id
}
# Create a security group rule. Modify the protocol and port as needed.
resource "alicloud_security_group_rule" "allow_internet" {
type = "ingress"
ip_protocol = "icmp"
nic_type = "intranet"
policy = "accept"
port_range = "-1/-1"
priority = 1
security_group_id = alicloud_security_group.example_security_group.id
cidr_ip = "0.0.0.0/0"
}
# Create multiple ECS instances
resource "alicloud_instance" "example_instance" {
for_each = local.instances
instance_name = each.value.name
vswitch_id = alicloud_vswitch.example_vsw[each.value.vswitch_key].id
instance_type = var.instance_type
image_id = var.image_id
system_disk_category = "cloud_essd"
security_groups = [alicloud_security_group.example_security_group.id]
instance_charge_type = "PostPaid" # Pay-as-you-go billing
spot_strategy = "SpotWithPriceLimit" # Spot instance with price cap
}
# Create multiple EIPs
resource "alicloud_eip_address" "example_eip" {
for_each = local.eips
address_name = each.value.name
isp = "BGP"
netmode = "public"
bandwidth = "1"
payment_type = "PayAsYouGo"
}
# Associate the ECS instance with an EIP
resource "alicloud_eip_association" "example_eip_ecs_association" {
allocation_id = alicloud_eip_address.example_eip["eip1"].id
instance_type = "EcsInstance"
instance_id = alicloud_instance.example_instance["instance1"].id
}
# Create an Internet NAT gateway
resource "alicloud_nat_gateway" "example_natgw" {
nat_gateway_name = "example_natgw_name"
vpc_id = alicloud_vpc.example_vpc.id
vswitch_id = alicloud_vswitch.example_vsw["vsw2"].id
nat_type = "Enhanced"
eip_bind_mode = "NAT" # EIP binding mode must be NAT
payment_type = "PayAsYouGo"
}
# Associate the EIP with the Internet NAT gateway
resource "alicloud_eip_association" "example_eip_natgw_association" {
allocation_id = alicloud_eip_address.example_eip["eip2"].id
instance_type = "NAT"
instance_id = alicloud_nat_gateway.example_natgw.id
}
# Add a route pointing to the NAT gateway
resource "alicloud_route_entry" "example_rt3_route" {
route_table_id = alicloud_route_table.example_route_table["rt3"].id
destination_cidrblock = "0.0.0.0/0"
nexthop_type = "NatGateway"
nexthop_id = alicloud_nat_gateway.example_natgw.id
}
# Add a route pointing to the NAT gateway
resource "alicloud_route_entry" "example_rt4_route" {
route_table_id = alicloud_route_table.example_route_table["rt4"].id
destination_cidrblock = "0.0.0.0/0"
nexthop_type = "NatGateway"
nexthop_id = alicloud_nat_gateway.example_natgw.id
}
# Create SNAT entries
resource "alicloud_snat_entry" "example_snat_entry" {
for_each = local.snat_entries
snat_table_id = alicloud_nat_gateway.example_natgw.snat_table_ids
source_cidr = alicloud_instance.example_instance[each.value.instance_key].primary_ip_address
snat_ip = alicloud_eip_address.example_eip["eip2"].ip_address
}
# Create an IPv4 gateway
resource "alicloud_vpc_ipv4_gateway" "example_ipv4gw" {
ipv4_gateway_name = "example_ipv4gw_name"
vpc_id = alicloud_vpc.example_vpc.id
enabled = true
}
# Add a route pointing to the IPv4 gateway
resource "alicloud_route_entry" "example_rt1_route" {
route_table_id = alicloud_route_table.example_route_table["rt1"].id
destination_cidrblock = "0.0.0.0/0"
nexthop_type = "Ipv4Gateway"
nexthop_id = alicloud_vpc_ipv4_gateway.example_ipv4gw.id
}
# Add a route pointing to the IPv4 gateway
resource "alicloud_route_entry" "example_rt2_route" {
route_table_id = alicloud_route_table.example_route_table["rt2"].id
destination_cidrblock = "0.0.0.0/0"
nexthop_type = "Ipv4Gateway"
nexthop_id = alicloud_vpc_ipv4_gateway.example_ipv4gw.id
}
Bloco CIDR público de uso privado
As VPCs usam blocos CIDR privados RFC 1918 por padrão: 10.0.0.0/8, 172.16.0.0/12 e 192.168.0.0/16. Quando uma VPC se conecta a um data center on-premises ou a outra VPC que usa um bloco CIDR não RFC 1918 (por exemplo, 30.0.0.0/16), os recursos da nuvem com acesso à Internet enviam solicitações para o bloco não padrão pela Internet pública, em vez de seguir a rota privada configurada.
Depois de criar e ativar um gateway IPv4, ele controla centralmente o acesso à Internet e todo o tráfego é encaminhado com base nas tabelas de rotas. Os vSwitches devem ter uma rota 0.0.0.0/0 apontando para o gateway IPv4 para que seus recursos acessem a Internet. Com base na regra de correspondência de prefixo mais longo, o tráfego destinado ao ECS02 corresponde à rota 30.0.0.0/16 e é encaminhado para a VPC par, em vez de passar pela Internet.
Console
Acesse a página VPC console - IPv4 Gateway. Selecione a região onde sua VPC está implantada e clique em Create IPv4 Gateway.
Criar gateway IPv4: Selecione a VPC que precisa acessar o bloco CIDR privado não padrão.
-
Ativar gateway IPv4: Selecione a tabela de rotas associada ao vSwitch que precisa acessar o bloco CIDR privado não padrão. O sistema adiciona automaticamente uma rota
0.0.0.0/0apontando para o gateway IPv4, permitindo que os recursos no vSwitch alcancem o bloco CIDR não padrão por meio de rotas mais específicas.Certifique-se de que a tabela de rotas ainda não contenha uma rota
0.0.0.0/0. Se contiver, clique em Activate Later, exclua essa rota e, em seguida, ative.Após a ativação, o gateway IPv4 controla centralmente o acesso à Internet e todo o tráfego é encaminhado com base nas tabelas de rotas.
API
Chame CreateIpv4Gateway para criar um gateway IPv4.
Chame EnableVpcIpv4Gateway para ativá-lo. Defina
RouteTableListcomo a tabela de rotas associada ao vSwitch público. Se omitido, chame CreateRouteEntry para adicionar manualmente uma rota0.0.0.0/0apontando para o gateway IPv4.
Terraform
Diferentemente do console, ativar um gateway IPv4 via Terraform não adiciona automaticamente uma rota 0.0.0.0/0 apontando para o gateway IPv4. Configure a rota manualmente.
Resource: alicloud_vpc , alicloud_vswitch , alicloud_vpc_ipv4_gateway , alicloud_route_table , alicloud_route_table_attachment , alicloud_vpc_route_entry , alicloud_instance , alicloud_security_group , alicloud_security_group_rule , alicloud_eip_address , alicloud_eip_association , alicloud_vpc_peer_connection
Data Sources: alicloud_zones
Neste exemplo, as VPCs na conexão de peering pertencem à mesma conta. Para uma conexão de peering entre contas, crie também um alicloud_vpc_peer_connection_accepter para que a conta par aceite a solicitação de conexão.
# Specify the region for the IPv4 gateway
provider "alicloud" {
region = "cn-hangzhou"
}
# Automatically obtain zones that support vSwitch creation
data "alicloud_zones" "available_zones" {
available_resource_creation = "VSwitch" # Query zones available for VPC resources
}
# Specify instance type
variable "instance_type" {
default = "ecs.e-c1m1.large"
}
# Specify image ID
variable "image_id" {
default = "aliyun_3_x64_20G_alibase_20221102.vhd"
}
# Create a VPC
resource "alicloud_vpc" "example_vpc1" {
vpc_name = "example_vpc1_name"
cidr_block = "10.0.0.0/16" # Specify the CIDR block
}
# Create a VPC
resource "alicloud_vpc" "example_vpc2" {
vpc_name = "example_vpc2_name"
cidr_block = "30.0.0.0/16" # Specify the CIDR block
}
# Create a vSwitch
resource "alicloud_vswitch" "example_vsw1" {
vswitch_name = "example_vsw1_name"
cidr_block = "10.0.1.0/24"
vpc_id = alicloud_vpc.example_vpc1.id
zone_id = data.alicloud_zones.available_zones.zones.0.id
}
# Create a vSwitch
resource "alicloud_vswitch" "example_vsw2" {
vswitch_name = "example_vsw2_name"
cidr_block = "30.0.1.0/24"
vpc_id = alicloud_vpc.example_vpc2.id
zone_id = data.alicloud_zones.available_zones.zones.1.id
}
# Create a security group
resource "alicloud_security_group" "example_security_group1" {
security_group_name = "example_security_group1_name"
vpc_id = alicloud_vpc.example_vpc1.id
}
# Create a security group rule. Modify the protocol and port as needed.
resource "alicloud_security_group_rule" "allow_internet1" {
type = "ingress"
ip_protocol = "icmp"
nic_type = "intranet"
policy = "accept"
port_range = "-1/-1"
priority = 1
security_group_id = alicloud_security_group.example_security_group1.id
cidr_ip = "0.0.0.0/0"
}
# Create a security group
resource "alicloud_security_group" "example_security_group2" {
security_group_name = "example_security_group2_name"
vpc_id = alicloud_vpc.example_vpc2.id
}
# Create a security group rule. Modify the protocol and port as needed.
resource "alicloud_security_group_rule" "allow_internet2" {
type = "ingress"
ip_protocol = "icmp"
nic_type = "intranet"
policy = "accept"
port_range = "-1/-1"
priority = 1
security_group_id = alicloud_security_group.example_security_group2.id
cidr_ip = "0.0.0.0/0"
}
# Create an ECS instance
resource "alicloud_instance" "example_instance1" {
instance_name = "example_instance1_name"
vswitch_id = alicloud_vswitch.example_vsw1.id
instance_type = var.instance_type
image_id = var.image_id
system_disk_category = "cloud_essd"
security_groups = [alicloud_security_group.example_security_group1.id]
instance_charge_type = "PostPaid"
spot_strategy = "SpotWithPriceLimit"
}
# Create an EIP
resource "alicloud_eip_address" "example_eip" {
address_name = "example_eip_name"
isp = "BGP"
netmode = "public"
bandwidth = "1"
payment_type = "PayAsYouGo"
}
# Associate the ECS instance with an EIP
resource "alicloud_eip_association" "example_eip_ecs_association" {
allocation_id = alicloud_eip_address.example_eip.id
instance_type = "EcsInstance"
instance_id = alicloud_instance.example_instance1.id
}
# Create an ECS instance
resource "alicloud_instance" "example_instance2" {
instance_name = "example_instance2_name"
vswitch_id = alicloud_vswitch.example_vsw2.id
instance_type = var.instance_type
image_id = var.image_id
system_disk_category = "cloud_essd"
security_groups = [alicloud_security_group.example_security_group2.id]
instance_charge_type = "PostPaid"
spot_strategy = "SpotWithPriceLimit"
}
# Create a custom route table
resource "alicloud_route_table" "example_route_table1" {
route_table_name = "example_route_table1_name"
vpc_id = alicloud_vpc.example_vpc1.id
}
# Associate the route table with the vSwitch
resource "alicloud_route_table_attachment" "example_route_table_attachment1" {
vswitch_id = alicloud_vswitch.example_vsw1.id
route_table_id = alicloud_route_table.example_route_table1.id
}
# Create a custom route table
resource "alicloud_route_table" "example_route_table2" {
route_table_name = "example_route_table2_name"
vpc_id = alicloud_vpc.example_vpc2.id
}
# Associate the route table with the vSwitch
resource "alicloud_route_table_attachment" "example_route_table_attachment2" {
vswitch_id = alicloud_vswitch.example_vsw2.id
route_table_id = alicloud_route_table.example_route_table2.id
}
# Create a VPC peering connection
resource "alicloud_vpc_peer_connection" "example_vpc_peer" {
peer_connection_name = "example_vpc_peer_name"
vpc_id = alicloud_vpc.example_vpc1.id
accepting_ali_uid = "1234****" # The ID of the account that owns the peer VPC. This example creates a same-account peering connection. For cross-account peering, create an alicloud_vpc_peer_connection_accepter so the peer account accepts the request.
accepting_region_id = "cn-hangzhou"
accepting_vpc_id = alicloud_vpc.example_vpc2.id
}
# Configure a route for the peering connection
resource "alicloud_route_entry" "example_peer_route1" {
route_table_id = alicloud_route_table.example_route_table1.id
destination_cidrblock = "30.0.0.0/16"
nexthop_type = "VpcPeer"
nexthop_id = alicloud_vpc_peer_connection.example_vpc_peer.id
}
# Configure a route for the peering connection
resource "alicloud_route_entry" "example_peer_route2" {
route_table_id = alicloud_route_table.example_route_table2.id
destination_cidrblock = "10.0.0.0/16"
nexthop_type = "VpcPeer"
nexthop_id = alicloud_vpc_peer_connection.example_vpc_peer.id
}
# Create an IPv4 gateway
resource "alicloud_vpc_ipv4_gateway" "example_ipv4gw" {
ipv4_gateway_name = "example_ipv4gw_name"
vpc_id = alicloud_vpc.example_vpc1.id
enabled = true
}
# Add a route pointing to the IPv4 gateway
resource "alicloud_route_entry" "example_igw_route" {
route_table_id = alicloud_route_table.example_route_table1.id
destination_cidrblock = "0.0.0.0/0"
nexthop_type = "Ipv4Gateway"
nexthop_id = alicloud_vpc_ipv4_gateway.example_ipv4gw.id
}
Redirecionamento de tráfego de entrada da Internet (dispositivos de segurança de terceiros)
Um gateway IPv4 só pode controlar centralmente o tráfego de saída para a Internet. Para o tráfego de entrada na VPC, associe uma gateway route table ao gateway IPv4 para redirecionar o tráfego de entrada para um dispositivo de segurança, permitindo inspeção profunda e filtragem, prevenindo ataques maliciosos e acessos não autorizados. Combinado com tabelas de rotas personalizadas, você também pode redirecionar o tráfego de saída para o dispositivo de segurança, garantindo proteção abrangente de entrada e saída.
Um gateway IPv4 só pode ser associado a uma tabela de rotas de gateway (uma tabela de rotas do tipo border gateway). Cada VPC suporta apenas um gateway IPv4 e uma tabela de rotas de gateway, em uma vinculação um para um.
Para configurar o redirecionamento de tráfego de entrada, modifique a entrada de rota do sistema na tabela de rotas do gateway e defina o próximo salto do bloco CIDR do vSwitch alvo como o dispositivo de segurança. A tabela de rotas do gateway não suporta a criação de rotas personalizadas via Add Route Entry .
Arquitetura de ponto único
Arquitetura de alta disponibilidade GWLB
Em uma arquitetura de ponto único, uma falha no dispositivo de segurança afeta a disponibilidade de todo o sistema. Use Deploy security devices behind a Gateway Load Balancer (GWLB) para garantir alta disponibilidade e eliminar pontos únicos de falha.
Caminho do tráfego IPv4 de entrada da Internet | Caminho do tráfego IPv4 de saída da Internet |
1. O tráfego IPv4 entra na VPC de negócios através do gateway IPv4. 2. A tabela de rotas do gateway direciona o tráfego para o GWLBe. 3. O GWLBe encaminha o tráfego para o GWLB, que o distribui para um dispositivo de segurança. 4. Após a inspeção, o tráfego retorna ao GWLB e depois ao GWLBe através do PrivateLink. 5. A tabela de rotas da sub-rede do GWLBe encaminha o tráfego para o servidor de negócios. | 1. A tabela de rotas da sub-rede do servidor de negócios direciona o tráfego para o GWLBe. 2. O GWLBe encaminha o tráfego para o GWLB, que o distribui para um dispositivo de segurança. 3. Após a inspeção, o tráfego retorna ao GWLB e depois ao GWLBe através do PrivateLink. 4. A tabela de rotas da sub-rede do GWLBe encaminha o tráfego para o gateway IPv4. 5. O gateway IPv4 roteia o tráfego para a Internet. |
Para configurar a tabela de rotas do gateway: localize a rota do sistema para o bloco CIDR do vSwitch alvo, clique em Edit na coluna Actions e defina o próximo salto como o GWLBe. Após salvar, a entrada de rota aparece na aba Custom Route.
Console
Associar uma tabela de rotas de gateway
Na página de detalhes do gateway IPv4 alvo, clique em Bind. Alternativamente, na aba Associated Border Gateway da página de detalhes da tabela de rotas de gateway alvo, clique em Associate Border Gateway e selecione o gateway IPv4 alvo.
Desassociar uma tabela de rotas de gateway
Na página de detalhes do gateway IPv4 alvo, ou na aba Associated Border Gateway da página de detalhes da tabela de rotas de gateway alvo, clique em Unbind.
API
Chame AssociateRouteTableWithGateway para associar uma tabela de rotas de gateway.
Chame DissociateRouteTableFromGateway para desassociar uma tabela de rotas de gateway.
Terraform
Resource: alicloud_vpc_gateway_route_table_attachment
# Specify the region where the IPv4 gateway is deployed
provider "alicloud" {
region = "cn-hangzhou"
}
# Specify the IPv4 gateway ID
variable "ipv4_gateway_id" {
default = "ipv4gw-hp3v******" # Replace with the actual IPv4 gateway ID
}
# Specify the gateway route table ID
variable "route_table_id" {
default = "vtb-hp3w******" # Replace with the actual gateway route table ID
}
# Associate the gateway route table
resource "alicloud_vpc_gateway_route_table_attachment" "example_attachment" {
ipv4_gateway_id = var.ipv4_gateway_id
route_table_id = var.route_table_id
}
Informações adicionais
Limites
Cada VPC suporta apenas um gateway IPv4, e um gateway IPv4 pode ser associado a apenas uma VPC.
-
Não é possível criar um gateway IPv4 se qualquer recurso na VPC usar EIP cut-through mode.
Por exemplo, se um gateway NAT da Internet na VPC tiver seu modo de vinculação de EIP definido como multi-EIP-to-ENI, ele será incompatível com o gateway IPv4. Chame ModifyNatGatewayAttribute para alterar o
EipBindModepara o modoNATpara garantir compatibilidade. Em um cenário de VPC compartilhada, apenas o proprietário do recurso pode criar, modificar ou excluir um gateway IPv4. Os usuários do recurso não têm essas permissões.
-
Quando um EIP ou Anycast EIP está associado a uma instância CLB voltada para privado:
-
Nas regiões a seguir, o tráfego de acesso à Internet também está sujeito às restrições do gateway IPv4. As regiões suportadas estão sujeitas a alterações.
Ásia-Pacífico - China: China (Hangzhou) , China (Shanghai) , China (Qingdao) , China (Hohhot) , China (Ulanqab) , China (Shenzhen) , China (Guangzhou) , China (Chengdu) , China (Hong Kong)
Ásia-Pacífico - Outros: Japan (Tokyo) , Malaysia (Kuala Lumpur) , Indonesia (Jakarta) , Malaysia (Johor) , Thailand (Bangkok) , Philippines (Manila)
Europa e Américas: UK (London) , France (Paris) , US (Virginia) , US (Silicon Valley)
Oriente Médio: SAU (Riyadh - Partner Region)
Um CLB voltado para privado implantado em um vSwitch público pode acessar a Internet após a associação de um endereço IP público.
-
Um CLB voltado para privado implantado em um vSwitch privado não pode acessar a Internet, mesmo com um endereço IP público. Configure uma rota apontando para um gateway NAT da Internet para rotear o tráfego destinado à Internet através do gateway NAT e use seu endereço IP público associado para acesso à Internet.
Em outras regiões, o tráfego de acesso à Internet não está sujeito às restrições do gateway IPv4.
-
Faturamento
Os gateways IPv4 são gratuitos.
Os custos de tráfego da Internet são gerados pelos endereços IP públicos associados (como EIPs ou endereços IP públicos estáticos de instâncias ECS/CLB). Consulte a documentação de faturamento do respectivo product.
Regiões suportadas
Área | Regiões |
Ásia-Pacífico - China | China (Hangzhou), China (Shanghai), China (Nanjing - Local Region, Closing Down), China (Qingdao), China (Beijing), China (Zhangjiakou), China (Hohhot), China (Ulanqab), China (Shenzhen), China (Heyuan), China (Guangzhou), China (Chengdu), China (Zhongwei), China (Hong Kong), China (Wuhan - Local Region), China (Fuzhou - Local Region, Closing Down) |
Ásia-Pacífico - Outros | Japan (Tokyo), South Korea (Seoul), Singapore (Singapore), Malaysia (Kuala Lumpur), Indonesia (Jakarta), Philippines (Manila), Thailand (Bangkok), Malaysia (Johor) |
Europa e Américas | Germany (Frankfurt), UK (London), France (Paris), US (Silicon Valley), US (Virginia), Mexico e Brazil (São Paulo) |
Oriente Médio | UAE (Dubai) e SAU (Riyadh - Partner Region) |
Cotas
Nome da cota | Descrição | Limite padrão | Ajustável |
Nenhum | O número máximo de gateways IPv4 por VPC. | 1 | Não |
O número máximo de tabelas de rotas de gateway por gateway IPv4. | 1 |