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á.
Configuração de rede e configurações de porta
Esta seção aborda as opções de configuração de rede para migrações do IIS, incluindo configurações de VPC, configurações de portas e implantações em vários sites.
Configuração de VPC
O eb migrate comando fornece opções flexíveis de configuração de VPC para seu ambiente do Elastic Beanstalk. A ferramenta pode detectar configurações de VPC de uma EC2 instância de origem ou aceitar configurações personalizadas de VPC por meio de parâmetros de linha de comando. Analise Usar o Elastic Beanstalk com Amazon VPC para entender como configurar o Elastic Beanstalk com a VPC.
Detecção automática de VPC
Quando eb migrate executado em uma EC2 instância, ele descobre e usa automaticamente a configuração de VPC das instâncias do ambiente EC2 de origem. O exemplo de saída a seguir ilustra as informações de configuração que ele detecta:
PS C:\migrations_workspace > eb migrate
Identifying VPC configuration of this EC2 instance (i-0123456789abcdef0):
id: vpc-1234567890abcdef0
publicip: true
elbscheme: public
ec2subnets: subnet-123,subnet-456,subnet-789
securitygroups: sg-123,sg-456
elbsubnets: subnet-123,subnet-456,subnet-789
...
A configuração detectada inclui:
-
Identificador VPC
-
Configurações de atribuição de IP público
-
Esquema de balanceamento de carga (público/privado)
-
EC2 atribuições de sub-rede de instância
-
Associações de grupos de segurança
-
Atribuições de sub-rede do balanceador de carga
Hosts locais ou fora AWS da nuvem
Quando eb migrate executado a partir de um servidor local ou de um host fora da AWS nuvem, o serviço Elastic Beanstalk usará a VPC padrão em sua conta. AWS A lista a seguir mostra um exemplo de comando e saída:
PS C:\migrations_worspace> eb migrate `
-k windows-test-pem `
--region us-east-1 `
-a EBMigratedEnv `
-e EBMigratedEnv-test2 `
--copy-firewall-config
Determining EB platform based on host machine properties
Using .\migrations\latest to contain artifacts for this migration run.
...
Analise Usar o Elastic Beanstalk com Amazon VPC para entender como o Elastic Beanstalk configura a VPC padrão para seu ambiente.
Configuração de VPC personalizada
Para qualquer ambiente de origem (EC2local ou não na AWS nuvem) em que você precise de configurações específicas de VPC, forneça um arquivo de configuração de VPC como o mostrado no exemplo a seguir:
{ "id": "vpc-12345678", "publicip": "true", "elbscheme": "public", "ec2subnets": ["subnet-a1b2c3d4", "subnet-e5f6g7h8"], "securitygroups": "sg-123456,sg-789012", "elbsubnets": ["subnet-a1b2c3d4", "subnet-e5f6g7h8"] }
Aplique essa configuração usando o seguinte comando:
PS C:\migrations_workspace>
eb migrate --vpc-config vpc-config.json
nota
O arquivo de configuração da VPC exige o id
campo que especifica a ID da VPC. Todos os outros campos são opcionais, e o Elastic Beanstalk usará valores padrão para qualquer campo que você não especificar.
Importante
A migração ignorará todas as configurações de VPC existentes do ambiente de origem quando você especificar o --vpc-config
parâmetro. Quando você usa esse parâmetro, a migração usará somente as configurações de VPC especificadas no arquivo de configuração que você está transmitindo. O uso desse parâmetro substitui o comportamento padrão de descobrir a configuração da VPC da instância de origem ou usar a VPC padrão.
Use o --vpc-config
parâmetro nos seguintes cenários:
-
Quando você migra EC2 ambientes que não têm configurações de VPC detectáveis
-
Quando você migra para uma VPC diferente daquela usada pelo ambiente de origem
-
Quando você precisa personalizar seleções de sub-rede ou configurações de grupos de segurança
-
Quando a descoberta automática não identifica corretamente as configurações de VPC desejadas
-
Quando você migra do local e não quer usar a VPC padrão
Configuração de segurança de rede
Por padrão, eb migrate abre a porta 80 nas instâncias de destino, mas não copia outras regras do Firewall do Windows da máquina de origem. Para incluir todas as configurações de firewall, use o seguinte comando:
PS C:\migrations_workspace>
eb migrate --copy-firewall-config
Esse comando executa as seguintes ações:
-
Identifica as portas usadas pelas vinculações de sites do IIS
-
Recupera as regras de firewall correspondentes
-
Gera PowerShell scripts para recriar regras nas instâncias de destino
-
Preserva todas as regras DENY para a porta 80 da máquina de origem (caso contrário, a porta 80 é permitida por padrão)
Considere um caso de uso em que sua máquina de origem tenha as regras de firewall especificadas no exemplo a seguir:
# Source machine firewall configuration Get-NetFirewallRule | Where-Object {$_.Enabled -eq 'True'} | Get-NetFirewallPortFilter | Where-Object {$_.LocalPort -eq 80 -or $_.LocalPort -eq 443 -or $_.LocalPort -eq 8081} # Output shows rules for ports 80, 443, and 8081
A migração cria um script (modify_firewall_config.ps1
) que contém a seguinte configuração:
New-NetFirewallRule -DisplayName "Allow Web Traffic" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 80,443 New-NetFirewallRule -DisplayName "Allow API Traffic" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 8081
A ferramenta de migração executa automaticamente as seguintes ações:
-
Extrai portas HTTP/HTTPS de todas as ligações de sites do IIS
-
Usa a interface do Firewall do Windows INetFwPolicy2
para enumerar as regras de firewall -
Filtra as regras para incluir somente aquelas que fazem referência explícita às portas especificadas
-
Processa somente associações de sites HTTP e HTTPS e suas regras de firewall associadas
-
Preserva as propriedades da regra, incluindo nome de exibição, ação, protocolo e estado ativado
-
Lida com portas individuais e intervalos de portas nas regras de firewall
-
Adiciona o script de configuração do firewall ao manifesto de implantação
Configuração do balanceador de carga
Você pode especificar a configuração do Load Balancer por meio do --vpc-config
argumento. Os exemplos a seguir demonstram os parâmetros.
- Seleção do esquema
-
Escolha entre esquemas de balanceador de carga públicos e privados:
{ "id": "vpc-12345678", "elbscheme": "private", "elbsubnets": ["subnet-private1", "subnet-private2"] }
- Distribuição de sub-rede
-
Para obter alta disponibilidade, distribua sub-redes do balanceador de carga entre as zonas de disponibilidade:
{ "elbsubnets": [ "subnet-az1", // Availability Zone 1 "subnet-az2", // Availability Zone 2 "subnet-az3" // Availability Zone 3 ] }
nota
Embora o Elastic Beanstalk ofereça suporte à criação de ambientes com Application Load Balancers, Network Load Balancers e Classic Load Balancers, o comando só oferece suporte a Application Load Balancerseb migrate. Para obter mais informações sobre os tipos de balanceador de carga, consulte Balanceador de carga do ambiente do Elastic Beanstalk.
Implantações em vários locais com configurações de portas
O eb migrate comando manipula implantações complexas do IIS em vários sites, nas quais os aplicativos podem compartilhar dependências ou usar portas não padrão. Considere o exemplo a seguir de uma configuração corporativa típica com vários sites:
<!-- IIS Configuration --> <sites> <site name="Default Web Site" id="1"> <bindings> <binding protocol="http" bindingInformation="*:80:www.example.com" /> </bindings> </site> <site name="InternalAPI" id="2"> <bindings> <binding protocol="http" bindingInformation="*:8081:api.internal" /> </bindings> </site> <site name="ReportingPortal" id="3"> <bindings> <binding protocol="http" bindingInformation="*:8082:reports.internal" /> </bindings> </site> </sites>
Para migrar essa configuração, use o comando e os parâmetros de exemplo a seguir:
PS C:\migrations_workspace>
eb migrate ` --sites "Default Web Site,InternalAPI,ReportingPortal" ` --copy-firewall-config ` --instance-type "c5.large"
O eb migrate comando cria um pacote de implantação que preserva a identidade e a configuração de cada site. O comando gera um aws-windows-deployment-manifest.json
que define como esses sites devem ser implantados. O exemplo a seguir demonstra um arquivo json gerado:
{ "manifestVersion": 1, "deployments": { "msDeploy": [ { "name": "DefaultWebSite", "parameters": { "appBundle": "DefaultWebSite.zip", "iisPath": "/", "iisWebSite": "Default Web Site" } } ], "custom": [ { "name": "InternalAPI", "scripts": { "install": { "file": "ebmigrateScripts\\install_site_InternalAPI.ps1" }, "restart": { "file": "ebmigrateScripts\\restart_site_InternalAPI.ps1" }, "uninstall": { "file": "ebmigrateScripts\\uninstall_site_InternalAPI.ps1" } } }, { "name": "ReportingPortal", "scripts": { "install": { "file": "ebmigrateScripts\\install_site_ReportingPortal.ps1" }, "restart": { "file": "ebmigrateScripts\\restart_site_ReportingPortal.ps1" }, "uninstall": { "file": "ebmigrateScripts\\uninstall_site_ReportingPortal.ps1" } } } ] } }
O processo de migração cria as seguintes regras de ouvinte do Application Load Balancer que mantêm sua lógica de roteamento original:
-
Rotas de tráfego da porta 80 para o site padrão
-
Rotas de tráfego da porta 8081 para a API interna
-
Rotas de tráfego da porta 8082 para ReportingPortal
Configuração e dependências compartilhadas
Quando os sites compartilham configurações ou dependências, eb migrate gerencia esses relacionamentos adequadamente. Consulte o exemplo a seguir em que vários sites compartilham uma configuração comum:
<!-- Shared configuration in applicationHost.config --> <location path="Default Web Site"> <system.webServer> <asp enableSessionState="true" /> <caching enabled="true" enableKernelCache="true" /> </system.webServer> </location>
O processo de migração conclui as seguintes tarefas:
-
Identifica configurações compartilhadas entre sites
-
Gera PowerShell scripts apropriados para aplicar essas configurações
-
Mantém a hierarquia e a herança da configuração
Práticas recomendadas
Recomendamos que você siga as melhores práticas para a configuração de rede do seu aplicativo migrado. Os agrupamentos a seguir fornecem diretrizes resumidas.
- Design em VPC
-
-
Siga as AWS melhores práticas de design de VPC
-
Use sub-redes separadas para balanceadores de carga e instâncias EC2
-
Implemente tabelas de rotas adequadas e NACLs
-
Considere os endpoints de VPC para serviços AWS
-
- Alta disponibilidade
-
-
Implantar em diversas zonas de disponibilidade
-
Use pelo menos duas sub-redes para balanceadores de carga
-
Configure o auto-scaling em AZs
-
Implemente verificações de saúde adequadas
-
- Segurança
-
-
Siga as melhores práticas de segurança
-
Use grupos de segurança como controle de acesso primário
-
Implemente listas de controle de acesso à rede (ACLs) para segurança adicional
-
Monitore os registros de fluxo da VPC
-
Solução de problemas
Os problemas comuns de configuração de rede incluem as seguintes áreas. Seguindo cada assunto, há exemplos de comandos para obter mais informações sobre a configuração da rede e a integridade do seu ambiente.
- Configuração de sub-rede
-
# Verify subnet availability
PS C:\migrations_workspace>
aws ec2 describe-subnets --subnet-ids subnet-id
# Check available IP addresses
PS C:\migrations_workspace>
aws ec2 describe-subnets --subnet-ids subnet-id --query 'Subnets[].AvailableIpAddressCount'
- Acesso ao grupo de segurança
-
# Verify security group rules
PS C:\migrations_workspace>
aws ec2 describe-security-groups --group-ids sg-id
# Test network connectivity
PS C:\migrations_workspace>
aws ec2 describe-network-interfaces --filters Name=group-id,Values=sg-id
- Integridade do balanceador de carga
-
# Check load balancer health
PS C:\migrations_workspace>
aws elbv2 describe-target-health --target-group-arn arn:aws:elasticloadbalancing:region:account-id:targetgroup/group-name/group-id