Esempio avanzato - Amazon Virtual Private Cloud

Esempio avanzato

Questa sezione contiene un esempio avanzato che ti aiuterà a capire come opera la funzionalità Blocco dell'accesso pubblico VPC in diversi scenari. Ogni scenario si basa sullo scenario precedente, quindi è importante completare i passaggi in ordine.

Importante

Non utilizzare questo esempio in un account di produzione. Ti consigliamo di esaminare attentamente i carichi di lavoro che richiedono l'accesso a Internet prima di abilitare VPC BPA nei tuoi account di produzione.

Nota

Per comprendere appieno la funzionalità VPC BPA, avrai bisogno di determinate risorse nel tuo account. In questa sezione, viene illustrato un modello CloudFormation che puoi utilizzare per fornire le risorse necessarie per comprendere appieno come funziona questa funzionalità. Esistono costi associati alle risorse fornite con il modello CloudFormation e alle analisi eseguite con Strumento di analisi degli accessi alla rete e Reachability Analyzer. Se utilizzi il modello in questa sezione, assicurati di completare i passaggi di pulizia al termine di questo esempio.

Implementazione del modello CloudFormation (facoltativa)

Per dimostrare come funziona questa funzionalità, sono necessari un VPC, sottoreti, istanze e altre risorse. Per semplificare il completamento di questa dimostrazione, abbiamo fornito di seguito un modello CloudFormation che puoi utilizzare per aumentare rapidamente le risorse necessarie per gli scenari di questa demo. Questo passaggio è facoltativo e puoi decidere di limitarti a visualizzare i diagrammi negli Scenari di questa sezione.

Nota
  • Esistono costi associati alle risorse create in questa sezione con il modello CloudFormation, come il costo del gateway NAT e gli indirizzi IPv4 pubblici. Per evitare costi eccessivi, assicurati di completare i passaggi di pulizia per rimuovere tutte le risorse create ai fini di questo esempio.

  • Questo modello CloudFormation crea le risorse sottostanti necessarie per VPC BPA, ma non abilita la funzionalità VPC BPA di per sé. Le risorse disponibili in questa sezione ti aiuteranno a comprendere e testare la funzionalità VPC BPA dopo aver scelto di abilitarla separatamente.

Il modello crea le seguenti risorse nel tuo account:

  • Gateway Internet Egress-only

  • Internet Gateway

  • Gateway NAT

  • Due sottoreti pubbliche

  • Una sottorete privata

  • Due istanze EC2 con indirizzi IPv4 pubblici e privati

  • Un'istanza EC2 con un indirizzo IPv6 e un indirizzo IPv4 privato

  • Un'istanza EC2 solo con un indirizzo IPv4 privato

  • Gruppo di sicurezza con traffico SSH e ICMP in entrata consentito e TUTTO il traffico in uscita consentito

  • Log di flusso VPC

  • 1 endpoint EC2 Instance Connect nella sottorete B

Copia il modello seguente e salvalo in un file .yaml.

AWSTemplateFormatVersion: '2010-09-09' Description: Creates a VPC with public and private subnets, NAT gateway, and EC2 instances for VPC BPA. Parameters: InstanceAMI: Description: ID of the Amazone Machine Image (AMI) to use with the instances launched by this template Type: AWS::EC2::Image::Id InstanceType: Description: EC2 Instance type to use with the instances launched by this template Type: String Default: t2.micro Resources: # VPC VPCBPA: Type: AWS::EC2::VPC Properties: CidrBlock: 10.0.0.0/16 EnableDnsHostnames: true EnableDnsSupport: true InstanceTenancy: default Tags: - Key: Name Value: VPC BPA # VPC IPv6 CIDR VPCBPAIpv6CidrBlock: Type: AWS::EC2::VPCCidrBlock Properties: VpcId: !Ref VPCBPA AmazonProvidedIpv6CidrBlock: true # EC2 Key Pair VPCBPAKeyPair: Type: AWS::EC2::KeyPair Properties: KeyName: vpc-bpa-key # Internet Gateway VPCBPAInternetGateway: Type: AWS::EC2::InternetGateway Properties: Tags: - Key: Name Value: VPC BPA Internet Gateway VPCBPAInternetGatewayAttachment: Type: AWS::EC2::VPCGatewayAttachment Properties: VpcId: !Ref VPCBPA InternetGatewayId: !Ref VPCBPAInternetGateway # Egress-Only Internet Gateway VPCBPAEgressOnlyInternetGateway: Type: AWS::EC2::EgressOnlyInternetGateway Properties: VpcId: !Ref VPCBPA # Subnets VPCBPAPublicSubnetA: Type: AWS::EC2::Subnet Properties: VpcId: !Ref VPCBPA CidrBlock: 10.0.1.0/24 MapPublicIpOnLaunch: true Tags: - Key: Name Value: VPC BPA Public Subnet A VPCBPAPublicSubnetB: Type: AWS::EC2::Subnet Properties: VpcId: !Ref VPCBPA CidrBlock: 10.0.2.0/24 MapPublicIpOnLaunch: true Tags: - Key: Name Value: VPC BPA Public Subnet B VPCBPAPrivateSubnetC: Type: AWS::EC2::Subnet Properties: VpcId: !Ref VPCBPA CidrBlock: 10.0.3.0/24 MapPublicIpOnLaunch: false Ipv6CidrBlock: !Select [0, !GetAtt VPCBPA.Ipv6CidrBlocks] AssignIpv6AddressOnCreation: true Tags: - Key: Name Value: VPC BPA Private Subnet C # NAT Gateway VPCBPANATGateway: Type: AWS::EC2::NatGateway Properties: AllocationId: !GetAtt VPCBPANATGatewayEIP.AllocationId SubnetId: !Ref VPCBPAPublicSubnetB Tags: - Key: Name Value: VPC BPA NAT Gateway VPCBPANATGatewayEIP: Type: AWS::EC2::EIP Properties: Domain: vpc Tags: - Key: Name Value: VPC BPA NAT Gateway EIP # Route Tables VPCBPAPublicRouteTable: Type: AWS::EC2::RouteTable Properties: VpcId: !Ref VPCBPA Tags: - Key: Name Value: VPC BPA Public Route Table VPCBPAPublicRoute: Type: AWS::EC2::Route DependsOn: VPCBPAInternetGatewayAttachment Properties: RouteTableId: !Ref VPCBPAPublicRouteTable DestinationCidrBlock: 0.0.0.0/0 GatewayId: !Ref VPCBPAInternetGateway VPCBPAPublicSubnetARouteTableAssoc: Type: AWS::EC2::SubnetRouteTableAssociation Properties: SubnetId: !Ref VPCBPAPublicSubnetA RouteTableId: !Ref VPCBPAPublicRouteTable VPCBPAPublicSubnetBRouteTableAssoc: Type: AWS::EC2::SubnetRouteTableAssociation Properties: SubnetId: !Ref VPCBPAPublicSubnetB RouteTableId: !Ref VPCBPAPublicRouteTable VPCBPAPrivateRouteTable: Type: AWS::EC2::RouteTable Properties: VpcId: !Ref VPCBPA Tags: - Key: Name Value: VPC BPA Private Route Table VPCBPAPrivateRoute: Type: AWS::EC2::Route Properties: RouteTableId: !Ref VPCBPAPrivateRouteTable DestinationCidrBlock: 0.0.0.0/0 NatGatewayId: !Ref VPCBPANATGateway VPCBPAPrivateSubnetCRoute: Type: AWS::EC2::Route Properties: RouteTableId: !Ref VPCBPAPrivateRouteTable DestinationIpv6CidrBlock: ::/0 EgressOnlyInternetGatewayId: !Ref VPCBPAEgressOnlyInternetGateway VPCBPAPrivateSubnetCRouteTableAssociation: Type: AWS::EC2::SubnetRouteTableAssociation Properties: SubnetId: !Ref VPCBPAPrivateSubnetC RouteTableId: !Ref VPCBPAPrivateRouteTable # EC2 Instances Security Group VPCBPAInstancesSecurityGroup: Type: AWS::EC2::SecurityGroup Properties: GroupName: VPC BPA Instances Security Group GroupDescription: Allow SSH and ICMP access SecurityGroupIngress: - IpProtocol: tcp FromPort: 22 ToPort: 22 CidrIp: 0.0.0.0/0 - IpProtocol: icmp FromPort: -1 ToPort: -1 CidrIp: 0.0.0.0/0 VpcId: !Ref VPCBPA Tags: - Key: Name Value: VPC BPA Instances Security Group # EC2 Instances VPCBPAInstanceA: Type: AWS::EC2::Instance Properties: ImageId: !Ref InstanceAMI InstanceType: t2.micro KeyName: !Ref VPCBPAKeyPair SubnetId: !Ref VPCBPAPublicSubnetA SecurityGroupIds: - !Ref VPCBPAInstancesSecurityGroup Tags: - Key: Name Value: VPC BPA Instance A VPCBPAInstanceB: Type: AWS::EC2::Instance Properties: ImageId: !Ref InstanceAMI InstanceType: !Ref InstanceType KeyName: !Ref VPCBPAKeyPair SubnetId: !Ref VPCBPAPublicSubnetB SecurityGroupIds: - !Ref VPCBPAInstancesSecurityGroup Tags: - Key: Name Value: VPC BPA Instance B VPCBPAInstanceC: Type: AWS::EC2::Instance Properties: ImageId: !Ref InstanceAMI InstanceType: !Ref InstanceType KeyName: !Ref VPCBPAKeyPair SubnetId: !Ref VPCBPAPrivateSubnetC SecurityGroupIds: - !Ref VPCBPAInstancesSecurityGroup Tags: - Key: Name Value: VPC BPA Instance C VPCBPAInstanceD: Type: AWS::EC2::Instance Properties: ImageId: !Ref InstanceAMI InstanceType: !Ref InstanceType KeyName: !Ref VPCBPAKeyPair NetworkInterfaces: - DeviceIndex: '0' GroupSet: - !Ref VPCBPAInstancesSecurityGroup SubnetId: !Ref VPCBPAPrivateSubnetC Ipv6AddressCount: 1 Tags: - Key: Name Value: VPC BPA Instance D # Flow Logs IAM Role VPCBPAFlowLogRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: vpc-flow-logs.amazonaws.com Action: 'sts:AssumeRole' Tags: - Key: Name Value: VPC BPA Flow Logs Role VPCBPAFlowLogPolicy: Type: AWS::IAM::Policy Properties: PolicyName: VPC-BPA-FlowLogsPolicy PolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Action: - 'logs:CreateLogGroup' - 'logs:CreateLogStream' - 'logs:PutLogEvents' - 'logs:DescribeLogGroups' - 'logs:DescribeLogStreams' Resource: '*' Roles: - !Ref VPCBPAFlowLogRole # Flow Logs VPCBPAFlowLog: Type: AWS::EC2::FlowLog Properties: ResourceId: !Ref VPCBPA ResourceType: VPC TrafficType: ALL LogDestinationType: cloud-watch-logs LogGroupName: /aws/vpc-flow-logs/VPC-BPA DeliverLogsPermissionArn: !GetAtt VPCBPAFlowLogRole.Arn LogFormat: '${version} ${account-id} ${interface-id} ${srcaddr} ${dstaddr} ${srcport} ${dstport} ${protocol} ${packets} ${bytes} ${start} ${end} ${action} ${log-status} ${vpc-id} ${subnet-id} ${instance-id} ${tcp-flags} ${type} ${pkt-srcaddr} ${pkt-dstaddr} ${region} ${az-id} ${sublocation-type} ${sublocation-id} ${pkt-src-aws-service} ${pkt-dst-aws-service} ${flow-direction} ${traffic-path} ${reject-reason}' Tags: - Key: Name Value: VPC BPA Flow Logs # EC2 Instance Connect Endpoint VPCBPAEC2InstanceConnectEndpoint: Type: AWS::EC2::InstanceConnectEndpoint Properties: SecurityGroupIds: - !Ref VPCBPAInstancesSecurityGroup SubnetId: !Ref VPCBPAPublicSubnetB Outputs: VPCBPAVPCId: Description: A reference to the created VPC Value: !Ref VPCBPA Export: Name: vpc-id VPCBPAPublicSubnetAId: Description: The ID of the public subnet A Value: !Ref VPCBPAPublicSubnetA VPCBPAPublicSubnetAName: Description: The name of the public subnet A Value: VPC BPA Public Subnet A VPCBPAPublicSubnetBId: Description: The ID of the public subnet B Value: !Ref VPCBPAPublicSubnetB VPCBPAPublicSubnetBName: Description: The name of the public subnet B Value: VPC BPA Public Subnet B VPCBPAPrivateSubnetCId: Description: The ID of the private subnet C Value: !Ref VPCBPAPrivateSubnetC VPCBPAPrivateSubnetCName: Description: The name of the private subnet C Value: VPC BPA Private Subnet C VPCBPAInstanceAId: Description: The ID of instance A Value: !Ref VPCBPAInstanceA VPCBPAInstanceBId: Description: The ID of instance B Value: !Ref VPCBPAInstanceB VPCBPAInstanceCId: Description: The ID of instance C Value: !Ref VPCBPAInstanceC VPCBPAInstanceDId: Description: The ID of instance D Value: !Ref VPCBPAInstanceD
Console di gestione AWS
  1. Aprire la console CloudFormation all'indirizzo https://console.aws.amazon.com/cloudformation/.

  2. Scegli Crea stack e carica il file modello .yaml.

  3. Segui i passaggi per avviare il modello. Dovrai inserire un ID immagine e un tipo di istanza (come t2.micro). Dovrai inoltre consentire a CloudFormation di creare un ruolo IAM per la creazione del log di flusso e l’autorizzazione ad accedere a CloudWatch.

  4. Una volta avviato lo stack, apri la scheda Eventi per visualizzare lo stato di avanzamento e assicurati che lo stack sia completato prima di continuare.

AWS CLI
  1. Esegui il comando seguente per creare lo stack CloudFormation:

    aws cloudformation create-stack --stack-name VPC-BPA-stack --template-body file://sampletemplate.yaml --capabilities CAPABILITY_IAM --region us-east-2

    Output:

    { "StackId": "arn:aws:cloudformation:us-east-2:470889052923:stack/VPC-BPA-stack/8a7a2cc0-8001-11ef-b196-06386a84b72f" }
  2. Visualizza lo stato di avanzamento e assicurati che lo stack sia completato prima di continuare:

    aws cloudformation describe-stack-events --stack-name VPC-BPA-stack --region us-east-2

Visualizza l'impatto di VPC BPA con Strumento di analisi degli accessi alla rete

In questa sezione, userai Strumento di analisi degli accessi alla rete per visualizzare le risorse del tuo account che utilizzano il gateway Internet. Utilizza questa analisi per comprendere l'impatto dell'attivazione di VPC BPA nel tuo account e del blocco del traffico.

Per informazioni sulla disponibilità regionale dello Strumento di analisi degli accessi alla rete, consulta Limitazioni nella Guida dello Strumento di analisi degli accessi alla rete.

Console di gestione AWS
  1. Apri la console AWS Network Insights all'indirizzo https://console.aws.amazon.com/networkinsights/.

  2. Scegli Strumento di analisi degli accessi alla rete.

  3. Scegli Crea ambito di accesso alla rete.

  4. Scegli Valuta l'impatto di Blocco dell'accesso pubblico VPC e scegli Avanti.

  5. Il modello è già configurato per analizzare il traffico da e verso i gateway Internet del tuo account. Puoi visualizzarlo in Origine e Destinazione.

  6. Scegli Next (Successivo).

  7. Scegli Crea ambito di accesso alla rete.

  8. Scegli l'ambito che hai appena creato e scegli Analizza.

  9. Attendi il completamento del processo.

  10. Visualizza gli esiti dell'analisi. Ogni riga in Esiti mostra un percorso di rete che un pacchetto può percorrere in una rete da o verso un gateway Internet del tuo account. In questo caso, se attivi VPC BPA e nessuno dei VPC e/o delle sottoreti che appaiono in questi esiti è configurato come esclusione VPC BPA, il traffico verso tali VPC e sottoreti sarà limitato.

  11. Analizza ogni esito per comprendere l’impatto di VPC BPA sulle risorse dei VPC.

L'analisi dell'impatto è completa.

AWS CLI
  1. Crea un ambito di accesso alla rete:

    aws ec2 create-network-insights-access-scope --match-paths "Source={ResourceStatement={ResourceTypes=["AWS::EC2::InternetGateway"]}}" "Destination={ResourceStatement={ResourceTypes=["AWS::EC2::InternetGateway"]}}" --region us-east-2

    Output:

    { "NetworkInsightsAccessScope": { "NetworkInsightsAccessScopeId": "nis-04cad3c4b3a1d5e3e", "NetworkInsightsAccessScopeArn": "arn:aws:ec2:us-east-2:470889052923:network-insights-access-scope/nis-04cad3c4b3a1d5e3e", "CreatedDate": "2024-09-30T15:55:53.171000+00:00", "UpdatedDate": "2024-09-30T15:55:53.171000+00:00" }, "NetworkInsightsAccessScopeContent": { "NetworkInsightsAccessScopeId": "nis-04cad3c4b3a1d5e3e", "MatchPaths": [ { "Source": { "ResourceStatement": { "ResourceTypes": [ "AWS::EC2::InternetGateway" ] } } }, { "Destination": { "ResourceStatement": { "ResourceTypes": [ "AWS::EC2::InternetGateway" ] } } } ] } }
  2. Inizia l'analisi dell'ambito:

    aws ec2 start-network-insights-access-scope-analysis --network-insights-access-scope-id nis-04cad3c4b3a1d5e3e --region us-east-2

    Output:

    { "NetworkInsightsAccessScopeAnalysis": { "NetworkInsightsAccessScopeAnalysisId": "nisa-0aa383a1938f94cd1", "NetworkInsightsAccessScopeAnalysisArn": "arn:aws:ec2:us-east-2:470889052923:network-insights-access-scope-analysis/nisa-0aa383a1938f94cd", "NetworkInsightsAccessScopeId": "nis-04cad3c4b3a1d5e3e", "Status": "running", "StartDate": "2024-09-30T15:56:59.109000+00:00", "AnalyzedEniCount": 0 } }
  3. Ottieni i risultati dell'analisi:

    aws ec2 get-network-insights-access-scope-analysis-findings --network-insights-access-scope-analysis-id nisa-0aa383a1938f94cd1 --region us-east-2 --max-items 1

    Output:

    { "AnalysisFindings": [ { "NetworkInsightsAccessScopeAnalysisId": "nisa-0aa383a1938f94cd1", "NetworkInsightsAccessScopeId": "nis-04cad3c4b3a1d5e3e", "FindingId": "AnalysisFinding-1", "FindingComponents": [ { "SequenceNumber": 1, "Component": { "Id": "igw-04a5344b4e30486f1", "Arn": "arn:aws:ec2:us-east-2:470889052923:internet-gateway/igw-04a5344b4e30486f1", "Name": "VPC BPA Internet Gateway" }, "OutboundHeader": { "DestinationAddresses": [ "10.0.1.85/32" ] }, "InboundHeader": { "DestinationAddresses": [ "10.0.1.85/32" ], "DestinationPortRanges": [ { "From": 22, "To": 22 } ], "Protocol": "6", "SourceAddresses": [ "0.0.0.0/5", "100.0.0.0/10", "96.0.0.0/6" ], "SourcePortRanges": [ { "From": 0, "To": 65535 } ] }, "Vpc": { "Id": "vpc-0762547ec48b6888d", "Arn": "arn:aws:ec2:us-east-2:470889052923:vpc/vpc-0762547ec48b6888d", "Name": "VPC BPA" } }, { "SequenceNumber": 2, "AclRule": { "Cidr": "0.0.0.0/0", "Egress": false, "Protocol": "all", "RuleAction": "allow", "RuleNumber": 100 }, "Component": { "Id": "acl-06194fc3a4a03040b", "Arn": "arn:aws:ec2:us-east-2:470889052923:network-acl/acl-06194fc3a4a03040b" } }, { "SequenceNumber": 3, "Component": { "Id": "sg-093dde06415d03924", "Arn": "arn:aws:ec2:us-east-2:470889052923:security-group/sg-093dde06415d03924", "Name": "VPC BPA Instances Security Group" }, "SecurityGroupRule": { "Cidr": "0.0.0.0/0", "Direction": "ingress", "PortRange": { "From": 22, "To": 22 }, "Protocol": "tcp" } }, { "SequenceNumber": 4, "AttachedTo": { "Id": "i-058db34f9a0997895", "Arn": "arn:aws:ec2:us-east-2:470889052923:instance/i-058db34f9a0997895", "Name": "VPC BPA Instance A" }, "Component": { "Id": "eni-0fa23f2766f03b286", "Arn": "arn:aws:ec2:us-east-2:470889052923:network-interface/eni-0fa23f2766f03b286" }, "InboundHeader": { "DestinationAddresses": [ "10.0.1.85/32" ], "DestinationPortRanges": [ { "From": 22, "To": 22 } ], "Protocol": "6", "SourceAddresses": [ "0.0.0.0/5", "100.0.0.0/10", "96.0.0.0/6" ], "SourcePortRanges": [ { "From": 0, "To": 65535 } ] }, "Subnet": { "Id": "subnet-035d235a762eeed04", "Arn": "arn:aws:ec2:us-east-2:470889052923:subnet/subnet-035d235a762eeed04", "Name": "VPC BPA Public Subnet A" }, "Vpc": { "Id": "vpc-0762547ec48b6888d", "Arn": "arn:aws:ec2:us-east-2:470889052923:vpc/vpc-0762547ec48b6888d", "Name": "VPC BPA" } } ] } ], "AnalysisStatus": "succeeded", "NetworkInsightsAccessScopeAnalysisId": "nisa-0aa383a1938f94cd1", "NextToken": "eyJOZXh0VG9rZW4iOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAxfQ==" }

    I risultati mostrano il traffico da e verso i gateway Internet in tutti i VPC del tuo account. I risultati sono organizzati come “esiti”. “Findingid”: “AnalysisFinding-1” indica che questo è il primo esito dell'analisi. Tieni presente che esistono diversi esiti e ognuno indica un flusso di traffico che verrà influenzato dall'attivazione di VPC BPA. Il primo esito mostrerà che il traffico è iniziato da un gateway Internet (“SequenceNumber”: 1), passato a un NACL (“SequenceNumber”: 2) a un gruppo di sicurezza (“SequenceNumber”: 3) e terminato in un'istanza (“SequenceNumber”: 4).

  4. Analizza gli esiti per comprendere l’impatto di VPC BPA sulle risorse dei VPC.

L'analisi dell'impatto è completa.

Scenario 1: connessione a istanze senza la funzionalità VPC BPA attivata

In questa sezione, le istanze EC2 nelle sottoreti pubbliche A e B sono raggiungibili da Internet tramite il gateway Internet, che abilita il traffico sia in entrata che in uscita. Le istanze C e D nella sottorete privata possono avviare il traffico in uscita attraverso il gateway NAT o il gateway Internet egress-only, ma non sono raggiungibili direttamente da Internet. Questa configurazione consente l’accesso a Internet ad alcune risorse proteggendone altre. Questa sezione si propone di definire parametri di riferimento e garantire che, prima di abilitare VPC BPA, tutte le istanze possano essere raggiunte, e che dovrai connetterti a tutte le istanze e inviare il ping a un indirizzo IP pubblico.

Diagramma di un VPC senza VPC BPA attivato:

Diagramma che mostra un VPC senza la funzionalità VPC BPA abilitata.

1.1 Connessione alle istanze

Completa questa sezione per connetterti alle tue istanze con VPC BPA disattivato per avere la certezza di poterti connettere senza problemi. Tutte le istanze create con CloudFormation per questo esempio hanno nomi come “Istanza VPC BPA A”.

Console di gestione AWS
  1. Aprire la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Apri i dettagli dell'istanza A.

  3. Connettiti all'istanza A utilizzando l'opzione EC2 Instance Connect Connessione tramite l'endpoint EC2 Instance Connect.

  4. Scegliere Connetti. Una volta stabilita la connessione all'istanza, invia il ping a www.amazon.com per verificare che sia possibile inviare richieste in uscita a Internet.

  5. Usa lo stesso metodo utilizzato per connetterti all'istanza A per connetterti a B, C e D. Da ciascuna istanza, esegui il ping a www.amazon.com per verificare di poter inviare le richieste in uscita su Internet.

AWS CLI
  1. Esegui il ping dell'istanza A utilizzando l'indirizzo IPv4 pubblico per controllare il traffico in entrata:

    ping 18.225.8.244

    Output:

    Pinging 18.225.8.244 with 32 bytes of data: Reply from 18.225.8.244: bytes=32 time=51ms TTL=110 Reply from 18.225.8.244: bytes=32 time=61ms TTL=110

    Nota che il ping riesce correttamente e il traffico non è bloccato.

  2. Usa l'indirizzo IPv4 privato per connetterti e controllare il traffico in uscita:

    aws ec2-instance-connect ssh --instance-id i-058db34f9a0997895 --region us-east-2 --connection-type eice

    Output:

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , #_ ~_ ####_ Amazon Linux 2023 ~~ _#####\ ~~ ###| ~~ #/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ / / /m/' Last login: Fri Sep 27 18:27:57 2024 from 3.16.146.5 [ec2-user@ip-10-0-1-85 ~]$ ping www.amazon.com PING www-amazon-com.customer.fastly.net (18.65.233.187) 56(84) bytes of data. 64 bytes from 18.65.233.187 (18.65.233.187): icmp_seq=15 ttl=58 time=2.06 ms 64 bytes from 18.65.233.187 (18.65.233.187): icmp_seq=16 ttl=58 time=2.26 ms

    Nota che il ping riesce correttamente e il traffico non è bloccato.

  3. Esegui il ping dell'istanza B utilizzando l'indirizzo IPv4 pubblico per controllare il traffico in entrata:

    ping 3.18.106.198

    Output:

    Pinging 3.18.106.198 with 32 bytes of data: Reply from 3.18.106.198: bytes=32 time=83ms TTL=110 Reply from 3.18.106.198: bytes=32 time=54ms TTL=110

    Nota che il ping riesce correttamente e il traffico non è bloccato.

  4. Usa l'indirizzo IPv4 privato per connetterti e controllare il traffico in uscita:

    aws ec2-instance-connect ssh --instance-id i-08552a0774b5c8f72 --region us-east-2 --connection-type eice

    Output:

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , # ~_ #### Amazon Linux 2023 ~~ _#####\ ~~ ###| ~~ #/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~.. _/ / / /m/' Last login: Fri Sep 27 18:12:27 2024 from 3.16.146.5 [ec2-user@ip-10-0-2-98 ~]$ ping www.amazon.com PING d3ag4hukkh62yn.cloudfront.net (18.65.233.187) 56(84) bytes of data. 64 bytes from server-3-160-24-126.cmh68.r.cloudfront.net (18.65.233.187): icmp_seq=1 ttl=249 time=1.55 ms 64 bytes from server-3-160-24-126.cmh68.r.cloudfront.net (18.65.233.187): icmp_seq=2 ttl=249 time=1.67 ms

    Nota che il ping riesce correttamente e il traffico non è bloccato.

  5. Connessione all'istanza C. Poiché non esiste un indirizzo IP pubblico a cui inviare il ping, usa EC2 Instance Connect in modo da connetterti e poi esegui il ping di un IP pubblico dall'istanza per controllare il traffico in uscita:

    aws ec2-instance-connect ssh --instance-id i-04eca55f2a482b2c4 --region us-east-2 --connection-type eice

    Output:

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , # ~_ #### Amazon Linux 2023 ~~ _#####\ ~~ ###| ~~ #/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~.. _/ / / /m/' Last login: Thu Sep 19 20:31:26 2024 from 10.0.2.86 [ec2-user@ip-10-0-3-180 ~]$ ping www.amazon.com PING d3ag4hukkh62yn.cloudfront.net (18.65.233.187) 56(84) bytes of data. 64 bytes from server-3-160-24-126.cmh68.r.cloudfront.net (18.65.233.187): icmp_seq=1 ttl=248 time=1.75 ms 64 bytes from server-3-160-24-126.cmh68.r.cloudfront.net (18.65.233.187): icmp_seq=2 ttl=248 time=1.97 ms 64 bytes from server-3-160-24-26.cmh68.r.cloudfront.net (18.65.233.187): icmp_seq=3 ttl=248 time=1.08 ms

    Nota che il ping riesce correttamente e il traffico non è bloccato.

  6. Connessione all'istanza D. Poiché non esiste un indirizzo IP pubblico a cui inviare il ping, usa EC2 Instance Connect per connetterti e poi esegui il ping di un IP pubblico dall'istanza per controllare il traffico in uscita:

    aws ec2-instance-connect ssh --instance-id i-05f9e6a9cfac1dba0 --region us-east-2 --connection-type eice

    Output:

    The authenticity of host '10.0.3.59 can't be established. ECDSA key fingerprint is SHA256:c4naBCqbC61/cExDyccEproNU+1HHSpMSzl2J6cOtIZA8g. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '10.0.3.59' (ECDSA) to the list of known hosts. A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , # ~_ #### Amazon Linux 2023 ~~ _#####\ ~~ ###| ~~ #/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~.. _/ _/ _/ _/m/' [ec2-user@ip-10-0-3-59 ~]$ ping www.amazon.com PING www.amazon.com(2600:9000:25f3:ee00:7:49a5:5fd4:b121 (2600:9000:25f3:ee00:7:49a5:5fd4:b121)) 56 data bytes 64 bytes from 2600:9000:25f3:ee00:7:49a5:5fd4:b121 (2600:9000:25f3:ee00:7:49a5:5fd4:b121): icmp_seq=1 ttl=58 time=1.19 ms 64 bytes from 2600:9000:25f3:ee00:7:49a5:5fd4:b121 (2600:9000:25f3:ee00:7:49a5:5fd4:b121): icmp_seq=2 ttl=58 time=1.38 ms

    Nota che il ping riesce correttamente e il traffico non è bloccato.

Scenario 2: attivazione di VPC BPA in modalità bidirezionale

In questa sezione attiverai VPC BPA e bloccherai il traffico da e verso i gateway Internet del tuo account.

Diagramma che mostra la modalità bidirezionale VPC BPA attivata:

Diagramma che mostra VPC con la modalità bidirezionale VPC BPA abilitata.

2.1 Abilitazione della modalità bidirezionale VPC BPA

Completa questa sezione per abilitare VPC BPA. La modalità bidirezionale VPC BPA blocca tutto il traffico da e verso i gateway Internet e i gateway Internet egress-only in questa Regione (a eccezione dei VPC e delle sottoreti esclusi).

Console di gestione AWS
  1. Apri la console Amazon VPC all’indirizzo https://console.aws.amazon.com/vpc/.

  2. Nel riquadro di navigazione a sinistra, scegli Impostazioni.

  3. Scegli Modifica impostazioni di accesso pubblico.

  4. Scegli Attiva il blocco dell'accesso pubblico e Bidirezionale, quindi scegli Salva modifiche.

  5. Attendi che lo stato passi su Abilitato. Potrebbero essere necessari alcuni minuti prima che le impostazioni VPC BPA si attivino e lo stato venga aggiornato.

VPC BPA è ora attivo.

AWS CLI
  1. Usa il comando modify-vpc-block-public-access-options per attivare VPC BPA:

    aws ec2 --region us-east-2 modify-vpc-block-public-access-options --internet-gateway-block-mode block-bidirectional

    Potrebbero essere necessari alcuni minuti prima che le impostazioni VPC BPA si attivino e lo stato venga aggiornato.

  2. Visualizza lo stato di VPC BPA:

    aws ec2 --region us-east-2 describe-vpc-block-public-access-options

2.2 Connessione alle istanze

Completa questa sezione per connetterti alle tue istanze.

Console di gestione AWS
  1. Esegui il ping dell'indirizzo IPv4 pubblico dell'istanza A e dell'istanza B come hai fatto nello Scenario 1. Tieni presente che il traffico è bloccato.

  2. Connettiti all'istanza A utilizzando l'opzione EC2 Instance Connect Connessione tramite l'endpoint EC2 Instance Connect come hai fatto nello Scenario 1. Assicurati di utilizzare l'opzione endpoint.

  3. Scegliere Connetti. Dopo aver eseguito la connessione all'istanza, esegui il ping su www.amazon.com. Nota che tutto il traffico in uscita è bloccato.

  4. Usa lo stesso metodo che hai usato per connetterti all'istanza A per connetterti alle istanze B, C e D e verifica le richieste in uscita su Internet. Nota che tutto il traffico in uscita è bloccato.

AWS CLI
  1. Esegui il ping dell'istanza A utilizzando l'indirizzo IPv4 pubblico per controllare il traffico in entrata:

    ping 18.225.8.244

    Output:

    Pinging 18.225.8.244 with 32 bytes of data: Request timed out.

    Nota che il ping non riesce e il traffico è bloccato.

  2. Usa l'indirizzo IPv4 privato per connetterti e controllare il traffico in uscita:

    aws ec2-instance-connect ssh --instance-id i-058db34f9a0997895 --region us-east-2 --connection-type eice

    Output:

    The authenticity of host '10.0.1.85' can't be established. ECDSA key fingerprint is SHA256:3zo/gSss+HAZ+7eTyWlOB/Ke04IM+hadjsoLJeRTWBk. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '10.0.1.85' (ECDSA) to the list of known hosts. A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , #_ ~_ ####_ Amazon Linux 2023 ~~ _#####\ ~~ ###| ~~ #/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ / / /m/' Last login: Fri Sep 27 14:16:53 2024 from 3.16.146.5 [ec2-user@ip-10-0-1-85 ~]$ ping www.amazon.com PING d3ag4hukkh62yn.cloudfront.net (18.65.233.187) 56(84) bytes of data.

    Nota che il ping non riesce e il traffico è bloccato.

  3. Esegui il ping dell'istanza B utilizzando l'indirizzo IPv4 pubblico per controllare il traffico in entrata:

    ping 3.18.106.198

    Output:

    Pinging 3.18.106.198 with 32 bytes of data: Request timed out.

    Nota che il ping non riesce e il traffico è bloccato.

  4. Usa l'indirizzo IPv4 privato per connetterti e controllare il traffico in uscita:

    aws ec2-instance-connect ssh --instance-id i-08552a0774b5c8f72 --region us-east-2 --connection-type eice

    Output:

    The authenticity of host '10.0.2.98' can't be established. ECDSA key fingerprint is SHA256:0IjXKKyVlDthcCfI0IPIJMUiItAOLYKRNLGTYURnFXo. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '10.0.2.98' (ECDSA) to the list of known hosts. A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , # ~_ #### Amazon Linux 2023 ~~ _#####\ ~~ ###| ~~ #/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~.. _/ / / /m/' Last login: Fri Sep 27 14:18:16 2024 from 3.16.146.5 [ec2-user@ip-10-0-2-98 ~]$ ping www.amazon.com PING d3ag4hukkh62yn.cloudfront.net (18.65.233.187) 56(84) bytes of data.

    Nota che il ping non riesce e il traffico è bloccato.

  5. Connessione all'istanza C. Poiché non esiste un indirizzo IP pubblico a cui inviare il ping, usa EC2 Instance Connect in modo da connetterti e poi esegui il ping di un IP pubblico dall'istanza per controllare il traffico in uscita:

    aws ec2-instance-connect ssh --instance-id i-04eca55f2a482b2c4 --region us-east-2 --connection-type eice

    Output:

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , # ~_ #### Amazon Linux 2023 ~~ _#####\ ~~ ###| ~~ #/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~.. _/ / / /m/' Last login: Tue Sep 24 15:17:56 2024 from 10.0.2.86 [ec2-user@ip-10-0-3-180 ~]$ ping www.amazon.com PING d3ag4hukkh62yn.cloudfront.net (18.65.233.187) 56(84) bytes of data.

    Nota che il ping non riesce e il traffico è bloccato.

  6. Connessione all'istanza D. Poiché non esiste un indirizzo IP pubblico a cui inviare il ping, usa EC2 Instance Connect per connetterti e poi esegui il ping di un IP pubblico dall'istanza per controllare il traffico in uscita:

    aws ec2-instance-connect ssh --instance-id i-05f9e6a9cfac1dba0 --region us-east-2 --connection-type eice

    Output:

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , # ~_ #### Amazon Linux 2023 ~~ _#####\ ~~ ###| ~~ #/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~.. _/ _/ _/ _/m/' Last login: Fri Sep 27 16:42:01 2024 from 3.16.146.5 [ec2-user@ip-10-0-3-59 ~]$ ping www.amazon.com PING www.amazon.com(2600:9000:25f3:8200:7:49a5:5fd4:b121 (2600:9000:25f3:8200:7:49a5:5fd4:b121)) 56 data bytes

    Nota che il ping non riesce e il traffico è bloccato.

2.3 Opzionale: Verifica del blocco della connettività con Reachability Analyzer

VPC Reachability Analyzer può essere utilizzato per comprendere se determinati percorsi di rete possono essere raggiunti o meno in base alla configurazione di rete, incluse le impostazioni VPC BPA. In questo esempio analizzerai lo stesso percorso di rete che è stato tentato in precedenza per confermare che VPC BPA è il motivo del fallimento della connettività.

Console di gestione AWS
  1. Vai alla console Network Insights all'indirizzo https://console.aws.amazon.com/networkinsights/home#ReachabilityAnalyzer.

  2. Fai clic su Crea e analizza il percorso.

  3. In Tipo di origine, seleziona Gateway Internet e seleziona il gateway Internet con il tag Gateway Internet VPC BPA dal menu a discesa Origine.

  4. In Tipo di destinazione, seleziona Istanze e seleziona l’istanza con il tag Istanza VPC BPA A dal menu a discesa Destinazione.

  5. Fai clic su Crea e analizza il percorso.

  6. Attendi il completamento del processo. Il processo può richiedere alcuni minuti.

  7. Una volta completato, dovresti vedere che lo stato di raggiungibilità è non raggiungibile e che i dettagli del percorso indicano che VPC_BLOCK_PUBLIC_ACCESS_ENABLED è la causa.

AWS CLI
  1. Crea un percorso di rete utilizzando l'ID del gateway Internet denominato Gateway Internet VPC BPA e l'ID dell'istanza etichettata Istanza VPC BPA A:

    aws ec2 --region us-east-2 create-network-insights-path --source igw-id --destination instance-id --protocol TCP
  2. Avvia un'analisi sul percorso di rete:

    aws ec2 --region us-east-2 start-network-insights-analysis --network-insights-path-id nip-id
  3. Richiama i risultati dell'analisi:

    aws ec2 --region us-east-2 describe-network-insights-analyses --network-insights-analysis-ids nia-id
  4. Verifica che VPC_BLOCK_PUBLIC_ACCESS_ENABLED sia il ExplanationCode della mancanza di raggiungibilità.

Potrai selezionare anche Monitoraggio dell’impatto di VPC BPA con log di flusso.

Scenario 3: modifica della modalità VPC BPA in Ingress-only

In questa sezione cambierai la direzione del traffico VPC BPA e consentirai solo il traffico che utilizza un gateway NAT o un gateway Internet egress-only. Le istanze EC2 A e B nelle sottoreti pubbliche non saranno raggiungibili da Internet perché BPA blocca il traffico in entrata attraverso il gateway Internet. Le istanze C e D nella sottorete privata saranno ancora in grado di avviare il traffico in uscita attraverso il gateway NAT e il gateway Internet egress-only, e quindi potranno ancora accedere a Internet.

Diagramma della modalità VPC BPA Ingress-only attivata:

Diagramma che mostra VPC con la modalità VPC BPA ingress-only abilitata.

3.1 Modifica della modalità in ingress-only

Completa questa sezione per cambiare la modalità.

Console di gestione AWS
  1. Apri la console Amazon VPC all’indirizzo https://console.aws.amazon.com/vpc/.

  2. Nel riquadro di navigazione a sinistra, scegli Impostazioni.

  3. Nella scheda Blocca accesso pubblico, seleziona Modifica impostazioni di accesso pubblico.

  4. Modifica le impostazioni di accesso pubblico nella console VPC e cambia la direzione in Ingress-only.

  5. Salva le modifiche e attendi che lo stato venga aggiornato. Potrebbero essere necessari alcuni minuti prima che le impostazioni VPC BPA si attivino e lo stato venga aggiornato.

AWS CLI
  1. Modifica la modalità VPC BPA:

    aws ec2 --region us-east-2 modify-vpc-block-public-access-options --internet-gateway-block-mode block-ingress

    Potrebbero essere necessari alcuni minuti prima che le impostazioni VPC BPA si attivino e lo stato venga aggiornato.

  2. Visualizza lo stato di VPC BPA:

    aws ec2 --region us-east-2 describe-vpc-block-public-access-options

3.2 Connessione alle istanze

Completa questa sezione per connetterti alle istanze.

Console di gestione AWS
  1. Esegui il ping dell'indirizzo IPv4 pubblico dell'istanza A e dell'istanza B come hai fatto nello Scenario 1. Tieni presente che il traffico è bloccato.

  2. Connettiti alle istanze A e B utilizzando l'istanza EC2, connettiti come hai fatto nello Scenario 1 e invia il ping a www.amazon.com da queste istanze. Tieni presente che non puoi inviare il ping a un sito pubblico su Internet dall'istanza A o B e che il traffico è bloccato.

  3. Connettiti alle istanze C e D utilizzando l'istanza EC2, connettiti come hai fatto nello Scenario 1 e invia il ping a www.amazon.com. Tieni presente che puoi inviare il ping a un sito pubblico su Internet dall'istanza C o D e che il traffico è consentito.

AWS CLI
  1. Esegui il ping dell'istanza A utilizzando l'indirizzo IPv4 pubblico per controllare il traffico in entrata:

    ping 18.225.8.244

    Output:

    Pinging 18.225.8.244 with 32 bytes of data: Request timed out.

    Nota che il ping non riesce e il traffico è bloccato.

  2. Usa l'indirizzo IPv4 privato per connetterti e controllare il traffico in uscita:

    aws ec2-instance-connect ssh --instance-id i-058db34f9a0997895 --region us-east-2 --connection-type eice

    Output:

    The authenticity of host '10.0.1.85' can't be established. ECDSA key fingerprint is SHA256:3zo/gSss+HAZ+7eTyWlOB/Ke04IM+hadjsoLJeRTWBk. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '10.0.1.85' (ECDSA) to the list of known hosts. A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , #_ ~_ ####_ Amazon Linux 2023 ~~ _#####\ ~~ ###| ~~ #/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ / / /m/' Last login: Fri Sep 27 14:16:53 2024 from 3.16.146.5 [ec2-user@ip-10-0-1-85 ~]$ ping www.amazon.com PING d3ag4hukkh62yn.cloudfront.net (18.65.233.187) 56(84) bytes of data.

    Nota che il ping non riesce e il traffico è bloccato.

  3. Esegui il ping dell'istanza B utilizzando l'indirizzo IPv4 pubblico per controllare il traffico in entrata:

    ping 3.18.106.198

    Output:

    Pinging 3.18.106.198 with 32 bytes of data: Request timed out.

    Nota che il ping non riesce e il traffico è bloccato.

  4. Usa l'indirizzo IPv4 privato per connetterti e controllare il traffico in uscita:

    aws ec2-instance-connect ssh --instance-id i-08552a0774b5c8f72 --region us-east-2 --connection-type eice

    Output:

    The authenticity of host '10.0.2.98 ' can't be established. ECDSA key fingerprint is SHA256:0IjXKKyVlDthcCfI0IPIJMUiItAOLYKRNLGTYURnFXo. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '10.0.2.98' (ECDSA) to the list of known hosts. A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , # ~_ #### Amazon Linux 2023 ~~ _#####\ ~~ ###| ~~ #/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~.. _/ _/ / /m/' Last login: Fri Sep 27 14:18:16 2024 from 3.16.146.5 [ec2-user@ip-10-0-2-98 ~]$ ping www.amazon.com PING d3ag4hukkh62yn.cloudfront.net (18.65.233.187) 56(84) bytes of data.

    Nota che il ping non riesce e il traffico è bloccato.

  5. Connessione all'istanza C. Poiché non esiste un indirizzo IP pubblico a cui inviare il ping, usa EC2 Instance Connect in modo da connetterti e poi esegui il ping di un IP pubblico dall'istanza per controllare il traffico in uscita:

    aws ec2-instance-connect ssh --instance-id i-04eca55f2a482b2c4 --region us-east-2 --connection-type eice

    Output:

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , #_ ~\_ ####_ Amazon Linux 2023 ~~ \_#####\ ~~ \###| ~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ _/ _/ _/m/' Last login: Tue Sep 24 15:28:09 2024 from 10.0.2.86 [ec2-user@ip-10-0-3-180 ~]$ ping www.amazon.com PING d3ag4hukkh62yn.cloudfront.net (18.65.233.187) 56(84) bytes of data. 64 bytes from server-3-160-24-126.cmh68.r.cloudfront.net (18.65.233.187): icmp_seq=1 ttl=248 time=1.84 ms 64 bytes from server-3-160-24-126.cmh68.r.cloudfront.net (18.65.233.187): icmp_seq=2 ttl=248 time=1.40 ms

    Nota che il ping riesce correttamente e il traffico non è bloccato.

  6. Connessione all'istanza D. Poiché non esiste un indirizzo IP pubblico a cui inviare il ping, usa EC2 Instance Connect per connetterti e poi esegui il ping di un IP pubblico dall'istanza per controllare il traffico in uscita:

    aws ec2-instance-connect ssh --instance-id i-05f9e6a9cfac1dba0 --region us-east-2 --connection-type eice

    Output:

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , #_ ~\_ ####_ Amazon Linux 2023 ~~ \_#####\ ~~ \###| ~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ _/ _/ _/m/' Last login: Fri Sep 27 16:48:38 2024 from 3.16.146.5 [ec2-user@ip-10-0-3-59 ~]$ ping www.amazon.com PING www.amazon.com(2600:9000:25f3:5800:7:49a5:5fd4:b121 (2600:9000:25f3:5800:7:49a5:5fd4:b121)) 56 data bytes 64 bytes from 2600:9000:25f3:5800:7:49a5:5fd4:b121 (2600:9000:25f3:5800:7:49a5:5fd4:b121): icmp_seq=14 ttl=58 time=1.47 ms 64 bytes from 2600:9000:25f3:5800:7:49a5:5fd4:b121 (2600:9000:25f3:5800:7:49a5:5fd4:b121): icmp_seq=16 ttl=58 time=1.59 ms

    Nota che il ping riesce correttamente e il traffico non è bloccato.

Scenario 4: Creazione di un'esclusione

In questa sezione potrai creare un’esclusione. VPC BPA bloccherà quindi solo il traffico nelle sottoreti senza alcuna esclusione. Un’esclusione VPC BPA è una modalità che può essere applicata a un singolo VPC o a una singola sottorete che lo esenta dalla modalità VPC BPA dell’account e consente l’accesso bidirezionale o egress-only. È possibile creare esclusioni VPC BPA per VPC e sottoreti anche quando la funzionalità VPC BPA non è abilitata sull’account, per garantire che non vi siano interruzioni del traffico verso le esclusioni quando la funzionalità VPC BPA è attivata.

In questo esempio, creeremo un'esclusione per la sottorete A per mostrare come il traffico verso le esclusioni viene influenzato da VPC BPA.

Diagramma della modalità VPC BPA Ingress-only attivata e dell'esclusione Sottorete A con modalità bidirezionale attivata:

Diagramma che mostra VPC con VPC BPA in modalità ingress-only con un’esclusione.

4.1 Creazione di un'esclusione per la sottorete A

Completa questa sezione per creare un'esclusione. Un’esclusione VPC BPA è una modalità che può essere applicata a un singolo VPC o a una singola sottorete che lo esenta dalla modalità VPC BPA dell’account e consente l’accesso bidirezionale o egress-only. È possibile creare esclusioni VPC BPA per VPC e sottoreti anche quando la funzionalità VPC BPA non è abilitata sull’account, per garantire che non vi siano interruzioni del traffico verso le esclusioni quando la funzionalità VPC BPA è attivata.

Console di gestione AWS
  1. Apri la console Amazon VPC all’indirizzo https://console.aws.amazon.com/vpc/.

  2. Nel riquadro di navigazione a sinistra, scegli Impostazioni.

  3. Nella scheda Blocca accesso pubblico, in Esclusioni, scegli Crea esclusioni.

  4. Scegli VPC BPA Public Subnet A, assicurati che sia selezionata l'opzione Consenti direzione Bidirezionale e scegli Crea esclusioni.

  5. Attendi che lo Stato dell'esclusione passi su Attivo. Potrebbe essere necessario aggiornare la tabella di esclusione per visualizzare la modifica.

L'esclusione è stata creata.

AWS CLI
  1. Modifica la direzione di autorizzazione dell'esclusione:

    aws ec2 --region us-east-2 create-vpc-block-public-access-exclusion --subnet-id subnet-id --internet-gateway-exclusion-mode allow-bidirectional
  2. L'aggiornamento dello stato dell'esclusione può richiedere del tempo. Per visualizzare lo stato dell'esclusione:

    aws ec2 --region us-east-2 describe-vpc-block-public-access-exclusions --exclusion-ids exclusion-id

4.2 Connessione alle istanze

Completa questa sezione per connetterti alle istanze.

Console di gestione AWS
  1. Esegui il ping dell'indirizzo IPv4 pubblico dell'istanza A. Nota che il traffico è consentito.

  2. Esegui il ping dell'indirizzo IPv4 pubblico dell'istanza B. Nota che il traffico è bloccato.

  3. Connettiti all'istanza A utilizzando l'istanza EC2, connettiti come hai fatto nello Scenario 1 e invia il ping a www.amazon.com. Tieni presente che puoi inviare il ping a un sito pubblico su Internet dall'istanza A e che il traffico è consentito.

  4. Connettiti all'istanze B utilizzando l'istanza EC2, connettiti come hai fatto nello Scenario 1 e invia il ping a www.amazon.com. Tieni presente che non puoi inviare il ping a un sito pubblico su Internet dall'istanza B e che il traffico è bloccato.

  5. Connettiti alle istanze C e D utilizzando l'istanza EC2, connettiti come hai fatto nello Scenario 1 e invia il ping a www.amazon.com. Tieni presente che puoi inviare il ping a un sito pubblico su Internet dall'istanza C o D. Il traffico è consentito.

AWS CLI
  1. Esegui il ping dell'istanza A utilizzando l'indirizzo IPv4 pubblico per controllare il traffico in entrata:

    ping 18.225.8.244

    Output:

    Pinging 18.225.8.244 with 32 bytes of data: Reply from 18.225.8.244: bytes=32 time=51ms TTL=110 Reply from 18.225.8.244: bytes=32 time=61ms TTL=110

    Nota che il ping riesce correttamente e il traffico non è bloccato.

  2. Usa l'indirizzo IPv4 privato per connetterti e controllare il traffico in uscita:

    aws ec2-instance-connect ssh --instance-id i-058db34f9a0997895 --region us-east-2 --connection-type eice

    Output:

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , #_ ~_ ####_ Amazon Linux 2023 ~~ _#####\ ~~ ###| ~~ #/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ / / /m/' Last login: Fri Sep 27 17:58:12 2024 from 3.16.146.5 [ec2-user@ip-10-0-1-85 ~]$ ping www.amazon.com PING d3ag4hukkh62yn.cloudfront.net (18.65.233.187) 56(84) bytes of data. 64 bytes from server-3-160-24-126.cmh68.r.cloudfront.net (18.65.233.187): icmp_seq=1 ttl=249 time=1.03 ms 64 bytes from server-3-160-24-126.cmh68.r.cloudfront.net (18.65.233.187): icmp_seq=2 ttl=249 time=1.72 ms

    Nota che il ping riesce correttamente e il traffico non è bloccato.

  3. Esegui il ping dell'istanza B utilizzando l'indirizzo IPv4 pubblico per controllare il traffico in entrata:

    ping 3.18.106.198

    Output:

    Pinging 3.18.106.198 with 32 bytes of data: Request timed out.

    Nota che il ping non riesce e il traffico è bloccato.

  4. Usa l'indirizzo IPv4 privato per connetterti e controllare il traffico in uscita:

    aws ec2-instance-connect ssh --instance-id i-08552a0774b5c8f72 --region us-east-2 --connection-type eice

    Output:

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , # ~_ #### Amazon Linux 2023 ~~ _#####\ ~~ ###| ~~ #/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~.. _/ _/ / /m/' Last login: Fri Sep 27 18:12:03 2024 from 3.16.146.5 [ec2-user@ip-10-0-2-98 ~]$ ping www.amazon.com PING d3ag4hukkh62yn.cloudfront.net (18.65.233.187) 56(84) bytes of data.

    Nota che il ping non riesce e il traffico è bloccato.

  5. Connessione all'istanza C. Poiché non esiste un indirizzo IP pubblico a cui inviare il ping, usa EC2 Instance Connect in modo da connetterti e poi esegui il ping di un IP pubblico dall'istanza per controllare il traffico in uscita:

    aws ec2-instance-connect ssh --instance-id i-04eca55f2a482b2c4 --region us-east-2 --connection-type eice

    Output

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , # ~_ #### Amazon Linux 2023 ~~ _#####\ ~~ ###| ~~ #/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~.. _/ _/ / /m/' Last login: Tue Sep 24 15:28:09 2024 from 10.0.2.86 [ec2-user@ip-10-0-3-180 ~]$ ping www.amazon.com PING d3ag4hukkh62yn.cloudfront.net (18.65.233.187) 56(84) bytes of data. 64 bytes from server-3-160-24-126.cmh68.r.cloudfront.net (18.65.233.187): icmp_seq=1 ttl=248 time=1.84 ms 64 bytes from server-3-160-24-126.cmh68.r.cloudfront.net (18.65.233.187): icmp_seq=2 ttl=248 time=1.40 ms

    Nota che il ping riesce correttamente e il traffico non è bloccato.

  6. Connessione all'istanza D. Poiché non esiste un indirizzo IP pubblico a cui inviare il ping, usa EC2 Instance Connect per connetterti e poi esegui il ping di un IP pubblico dall'istanza per controllare il traffico in uscita:

    aws ec2-instance-connect ssh --instance-id i-05f9e6a9cfac1dba0 --region us-east-2 --connection-type eice

    Output

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , #_ ~\_ ####_ Amazon Linux 2023 ~~ \_#####\ ~~ \###| ~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ _/ _/ _/m/' Last login: Fri Sep 27 18:00:52 2024 from 3.16.146.5 [ec2-user@ip-10-0-3-59 ~]$ ping www.amazon.com PING www.amazon.com(g2600-141f-4000-059a-0000-0000-0000-3bd4.deploy.static.akamaitechnologies.com (2600:141f:4000:59a::3bd4)) 56 data bytes 64 bytes from g2600-141f-4000-059a-0000-0000-0000-3bd4.deploy.static.akamaitechnologies.com (2600:141f:4000:59a::3bd4): icmp_seq=1 ttl=48 time=15.9 ms 64 bytes from g2600-141f-4000-059a-0000-0000-0000-3bd4.deploy.static.akamaitechnologies.com (2600:141f:4000:59a::3bd4): icmp_seq=2 ttl=48 time=15.8 ms

    Nota che il ping riesce correttamente e il traffico non è bloccato.

4.3 Opzionale: verifica della connettività con Reachability Analyzer

Utilizzando lo stesso percorso di rete creato in Reachability Analyzer nello Scenario 2, è possibile eseguire una nuova analisi e confermare che il percorso è raggiungibile ora che è stata creata un'esclusione per la sottorete pubblica A.

Per informazioni sulla disponibilità regionale di Reachability Analyzer, consulta Considerazioni nella Guida di Reachability Analyzer.

Console di gestione AWS
  1. Dal percorso di rete creato in precedenza nella console di Network Insights, fai clic su Esegui nuovamente l'analisi.

  2. Attendi il completamento del processo. L'operazione potrebbe richiedere alcuni minuti.

  3. Verifica che il percorso sia ora raggiungibile.

AWS CLI
  1. Utilizzando l'ID del percorso di rete creato in precedenza, avvia una nuova analisi:

    aws ec2 --region us-east-2 start-network-insights-analysis --network-insights-path-id nip-id
  2. Richiama i risultati dell'analisi:

    aws ec2 --region us-east-2 describe-network-insights-analyses --network-insights-analysis-ids nia-id
  3. Verifica che il codice esplicativo VPC_BLOCK_PUBLIC_ACCESS_ENABLED non sia più presente.

Scenario 5: modifica della modalità di esclusione

In questa sezione modificherai la direzione del traffico consentita sull'esclusione per vedere in che modo influisce su VPC BPA.

Nota

In questo scenario, potrai modificare la modalità di esclusione impostandola su Egress-only. Attenzione: quando esegui questa operazione, l’esclusione Egress-only nella sottorete A non consente il traffico in uscita, mentre apparentemente dovrebbe farlo. Tuttavia, poiché la funzionalità BPA a livello dell’account è Ingress-only, le esclusioni Egress-only vengono ignorate e il routing della sottorete A verso un gateway Internet è limitato da VPC BPA, che blocca il traffico in uscita. Per abilitare il traffico in uscita nella sottorete A, devi passare alla modalità bidirezionale VPC BPA.

Diagramma della modalità VPC BPA Ingress-only attivata e dell'esclusione della sottorete A con modalità egress-only attivata:

Diagramma che mostra VPC con VPC BPA in modalità ingress-only, che consente il traffico in uscita attraverso il gateway NAT.

5.1 Modifica della direzione di esclusione consentita in egress-only

Completa questa sezione per modificare la direzione di esclusione consentita.

Console di gestione AWS
  1. Modifica l'esclusione creata nello Scenario 4 e modifica la direzione consentita in Egress-only.

  2. Scegli Save changes (Salva modifiche).

  3. Attendi che lo Stato dell'esclusione passi su Attivo. Potrebbero essere necessari alcuni minuti prima che le impostazioni VPC BPA si attivino e lo stato venga aggiornato. Potrebbe essere necessario aggiornare la tabella di esclusione per visualizzare la modifica.

AWS CLI
  1. Modifica la direzione di autorizzazione dell'esclusione:

    aws ec2 --region us-east-2 modify-vpc-block-public-access-exclusion --exclusion-id exclusion-id --internet-gateway-exclusion-mode allow-egress

    Potrebbero essere necessari alcuni minuti prima che le impostazioni VPC BPA si attivino e lo stato venga aggiornato.

  2. L'aggiornamento dello stato dell'esclusione può richiedere del tempo. Per visualizzare lo stato dell'esclusione:

    aws ec2 --region us-east-2 describe-vpc-block-public-access-exclusion

5.2 Connessione alle istanze

Completa questa sezione per connetterti alle istanze.

Console di gestione AWS
  1. Esegui il ping dell'indirizzo IPv4 pubblico delle istanze A e B. Nota che il traffico è bloccato.

  2. Connettiti alle istanze A e B utilizzando l'istanza EC2, connettiti come hai fatto nello Scenario 1 e invia il ping a www.amazon.com. Tieni presente che non puoi inviare il ping a un sito pubblico su Internet dall'istanza A o B. Il traffico è bloccato.

  3. Connettiti alle istanze C e D utilizzando l'istanza EC2, connettiti come hai fatto nello Scenario 1 e invia il ping a www.amazon.com. Tieni presente che puoi inviare il ping a un sito pubblico su Internet dall'istanza C o D. Il traffico è consentito.

AWS CLI
  1. Esegui il ping dell'istanza A utilizzando l'indirizzo IPv4 pubblico per controllare il traffico in entrata:

    ping 18.225.8.244

    Output:

    Pinging 18.225.8.244 with 32 bytes of data: Request timed out.

    Nota che il ping non riesce e il traffico è bloccato.

  2. Usa l'indirizzo IPv4 privato per connetterti e controllare il traffico in uscita:

    aws ec2-instance-connect ssh --instance-id i-058db34f9a0997895 --region us-east-2 --connection-type eice

    Output:

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , #_ ~\_ ####_ Amazon Linux 2023 ~~ \_#####\ ~~ \###| ~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ _/ _/ _/m/' Last login: Fri Sep 27 18:09:55 2024 from 3.16.146.5 [ec2-user@ip-10-0-1-85 ~]$ ping www.amazon.com PING d3ag4hukkh62yn.cloudfront.net (18.65.233.187) 56(84) bytes of data.

    Nota che il ping non riesce e il traffico è bloccato.

  3. Esegui il ping dell'istanza B utilizzando l'indirizzo IPv4 pubblico per controllare il traffico in entrata:

    ping 3.18.106.198

    Output:

    Pinging 3.18.106.198 with 32 bytes of data: Request timed out.

    Nota che il ping non riesce e il traffico è bloccato.

  4. Usa l'indirizzo IPv4 privato per connetterti e controllare il traffico in uscita:

    aws ec2-instance-connect ssh --instance-id i-058db34f9a0997895 --region us-east-2 --connection-type eice

    Output:

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , #_ ~\_ ####_ Amazon Linux 2023 ~~ \_#####\ ~~ \###| ~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ _/ _/ _/m/' Last login: Fri Sep 27 18:09:55 2024 from 3.16.146.5 [ec2-user@ip-10-0-1-85 ~]$ ping www.amazon.com PING d3ag4hukkh62yn.cloudfront.net (18.65.233.187) 56(84) bytes of data.

    Nota che il ping non riesce e il traffico è bloccato.

  5. Connessione all'istanza C. Poiché non esiste un indirizzo IP pubblico a cui inviare il ping, usa EC2 Instance Connect in modo da connetterti e poi esegui il ping di un IP pubblico dall'istanza per controllare il traffico in uscita:

    aws ec2-instance-connect ssh --instance-id i-04eca55f2a482b2c4 --region us-east-2 --connection-type eice

    Output:

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , #_ ~\_ ####_ Amazon Linux 2023 ~~ \_#####\ ~~ \###| ~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ _/ _/ _/m/' Last login: Fri Sep 27 18:00:31 2024 from 3.16.146.5 [ec2-user@ip-10-0-3-180 ~]$ ping www.amazon.com PING www.amazon.com(2600:9000:25f3:a600:7:49a5:5fd4:b121 (2600:9000:25f3:a600:7:49a5:5fd4:b121)) 56 data bytes 64 bytes from 2600:9000:25f3:a600:7:49a5:5fd4:b121 (2600:9000:25f3:a600:7:49a5:5fd4:b121): icmp_seq=1 ttl=58 time=1.51 ms 64 bytes from 2600:9000:25f3:a600:7:49a5:5fd4:b121 (2600:9000:25f3:a600:7:49a5:5fd4:b121): icmp_seq=2 ttl=58 time=1.49 ms

    Nota che il ping riesce correttamente e il traffico non è bloccato.

  6. Connessione all'istanza D. Poiché non esiste un indirizzo IP pubblico a cui inviare il ping, usa EC2 Instance Connect per connetterti e poi esegui il ping di un IP pubblico dall'istanza per controllare il traffico in uscita:

    aws ec2-instance-connect ssh --instance-id i-05f9e6a9cfac1dba0 --region us-east-2 --connection-type eice

    Output:

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , #_ ~\_ ####_ Amazon Linux 2023 ~~ \_#####\ ~~ \###| ~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ _/ _/ _/m/' Last login: Fri Sep 27 18:13:55 2024 from 3.16.146.5 [ec2-user@ip-10-0-3-59 ~]$ ping www.amazon.com PING www.amazon.com(2606:2cc0::374 (2606:2cc0::374)) 56 data bytes 64 bytes from 2606:2cc0::374 (2606:2cc0::374): icmp_seq=1 ttl=58 time=1.21 ms 64 bytes from 2606:2cc0::374 (2606:2cc0::374): icmp_seq=2 ttl=58 time=1.51 ms

    Nota che il ping riesce correttamente e il traffico non è bloccato.

Scenario 6: modifica della modalità VPC BPA

In questa sezione modificherai la direzione del blocco VPC BPA per vedere in che modo influisce sul traffico. In questo scenario, VPC BPA abilitato in modalità bidirezionale blocca tutto il traffico proprio come nello Scenario 1. A meno che un'esclusione non abbia accesso a un gateway NAT o gateway Internet egress-only, il traffico viene bloccato.

Diagramma della modalità bidirezionale VPC BPA attivata e dell'esclusione della sottorete A con modalità egress-only attivata:

Diagramma che mostra VPC con VPC BPA in modalità ingress-only, che consente il traffico in uscita attraverso il gateway NAT

6.1 Modifica di VPC BPA in modalità bidirezionale

Completa questa sezione per modificare la modalità VPC BPA.

Console di gestione AWS
  1. Apri la console Amazon VPC all’indirizzo https://console.aws.amazon.com/vpc/.

  2. Nel riquadro di navigazione a sinistra, scegli Impostazioni.

  3. Scegli Modifica impostazioni di accesso pubblico.

  4. Modifica la direzione del blocco in Bidirezionale, quindi scegli Salva modifiche.

  5. Attendi che lo stato passi su Abilitato. Potrebbero essere necessari alcuni minuti prima che le impostazioni VPC BPA si attivino e lo stato venga aggiornato.

AWS CLI
  1. Modifica la direzione del blocco VPC BPA:

    aws ec2 --region us-east-2 modify-vpc-block-public-access-options --internet-gateway-block-mode block-bidirectional

    Potrebbero essere necessari alcuni minuti prima che le impostazioni VPC BPA si attivino e lo stato venga aggiornato.

  2. Visualizza lo stato di VPC BPA:

    aws ec2 --region us-east-2 describe-vpc-block-public-access-options

6.2 Connessione alle istanze

Completa questa sezione per connetterti alle istanze.

Console di gestione AWS
  1. Esegui il ping dell'indirizzo IPv4 pubblico delle istanze A e B. Nota che il traffico è bloccato.

  2. Connettiti alle istanze A e B utilizzando l'istanza EC2, connettiti come hai fatto nello Scenario 1 e invia il ping a www.amazon.com. Tieni presente che non puoi inviare il ping a un sito pubblico su Internet dall'istanza A o B. Il traffico è bloccato.

  3. Connettiti alle istanze C e D utilizzando l'istanza EC2, connettiti come hai fatto nello Scenario 1 e invia il ping a www.amazon.com. Tieni presente che non puoi inviare il ping a un sito pubblico su Internet dall'istanza C o D e che il traffico è bloccato.

AWS CLI
  1. Esegui il ping dell'istanza A utilizzando l'indirizzo IPv4 pubblico per controllare il traffico in entrata:

    ping 18.225.8.244

    Output:

    Pinging 18.225.8.244 with 32 bytes of data: Request timed out.

    Nota che il ping non riesce e il traffico è bloccato.

  2. Usa l'indirizzo IPv4 privato per connetterti e controllare il traffico in uscita:

    aws ec2-instance-connect ssh --instance-id i-058db34f9a0997895 --region us-east-2 --connection-type eice

    Output:

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , #_ ~\_ ####_ Amazon Linux 2023 ~~ \_#####\ ~~ \###| ~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ _/ _/ _/m/' Last login: Fri Sep 27 18:17:44 2024 from 3.16.146.5 [ec2-user@ip-10-0-1-85 ~]$ ping www.amazon.com PING d3ag4hukkh62yn.cloudfront.net (18.65.233.187) 56(84) bytes of data.

    Nota che il ping non riesce e il traffico è bloccato.

  3. Esegui il ping dell'istanza A utilizzando l'indirizzo IPv4 pubblico per controllare il traffico in entrata:

    ping 3.18.106.198

    Output:

    Pinging 3.18.106.198 with 32 bytes of data: Request timed out.

    Nota che il ping non riesce e il traffico è bloccato.

  4. Usa l'indirizzo IPv4 privato per connetterti e controllare il traffico in uscita:

    aws ec2-instance-connect ssh --instance-id i-058db34f9a0997895 --region us-east-2 --connection-type eice

    Output:

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , #_ ~\_ ####_ Amazon Linux 2023 ~~ \_#####\ ~~ \###| ~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ _/ _/ _/m/' Last login: Fri Sep 27 18:09:55 2024 from 3.16.146.5 [ec2-user@ip-10-0-1-85 ~]$ ping www.amazon.com PING d3ag4hukkh62yn.cloudfront.net (18.65.233.187) 56(84) bytes of data.

    Nota che il ping non riesce e il traffico è bloccato.

  5. Connessione all'istanza C. Poiché non esiste un indirizzo IP pubblico a cui inviare il ping, usa EC2 Instance Connect in modo da connetterti e poi esegui il ping di un IP pubblico dall'istanza per controllare il traffico in uscita:

    aws ec2-instance-connect ssh --instance-id i-04eca55f2a482b2c4 --region us-east-2 --connection-type eice

    Output:

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , #_ ~\_ ####_ Amazon Linux 2023 ~~ \_#####\ ~~ \###| ~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ _/ _/ _/m/' Last login: Fri Sep 27 18:19:45 2024 from 3.16.146.5 [ec2-user@ip-10-0-3-180 ~]$ ping www.amazon.com PING www.amazon.com(2600:9000:25f3:6200:7:49a5:5fd4:b121 (2600:9000:25f3:6200:7:49a5:5fd4:b121)) 56 data bytes

    Nota che il ping non riesce e il traffico è bloccato.

  6. Connessione all'istanza D. Poiché non esiste un indirizzo IP pubblico a cui inviare il ping, usa EC2 Instance Connect per connetterti e poi esegui il ping di un IP pubblico dall'istanza per controllare il traffico in uscita:

    aws ec2-instance-connect ssh --instance-id i-05f9e6a9cfac1dba0 --region us-east-2 --connection-type eice

    Output:

    A newer release of "Amazon Linux" is available. Version 2023.5.20240916: Run "/usr/bin/dnf check-release-update" for full release and version update info , #_ ~\_ ####_ Amazon Linux 2023 ~~ \_#####\ ~~ \###| ~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ _/ _/ _/m/' Last login: Fri Sep 27 18:20:58 2024 from 3.16.146.5 [ec2-user@ip-10-0-3-59 ~]$ ping www.amazon.com PING www.amazon.com(2600:9000:25f3:b400:7:49a5:5fd4:b121 (2600:9000:25f3:b400:7:49a5:5fd4:b121)) 56 data bytes

    Nota che il ping non riesce e il traffico è bloccato.

Pulizia

In questa sezione eliminerai tutte le risorse che hai creato per questo esempio avanzato. È importante ripulire le risorse per evitare costi aggiuntivi eccessivi per le risorse create nel tuo account.

Eliminazione delle risorse CloudFormation

Completa questa sezione per eliminare le risorse create con il modello CloudFormation.

Console di gestione AWS
  1. Aprire la console CloudFormation all'indirizzo https://console.aws.amazon.com/cloudformation/.

  2. Scegli lo stack VPC BPA.

  3. Scegli Elimina.

  4. Una volta che inizi a eliminare lo stack, visualizza la scheda Eventi per visualizzare lo stato di avanzamento e assicurarti che lo stack venga eliminato. Potrebbe essere necessario forzare l'eliminazione dello stack per eliminarlo completamente.

AWS CLI
  1. Elimina lo stack CloudFormation. Potrebbe essere necessario forzare l'eliminazione dello stack per eliminarlo completamente.

    aws cloudformation delete-stack --stack-name VPC-BPA-stack --region us-east-2
  2. Visualizza lo stato di avanzamento e assicurati che lo stack venga eliminato.

    aws cloudformation describe-stack-events --stack-name VPC-BPA-stack --region us-east-2

Monitoraggio dell’eliminazione delle esclusioni con CloudTrail

Completa questa sezione per monitorare l’eliminazione delle esclusioni con AWS CloudTrail. Le voci di CloudTrail vengono visualizzate quando si elimina un'esclusione.

Console di gestione AWS

Puoi visualizzare tutte le esclusioni eliminate nella cronologia degli eventi di CloudTrail cercando Tipo di risorsa > AWS::EC2::VPCBlockPublicAccessExclusion nella console AWS CloudTrail all'indirizzo https://console.aws.amazon.com/cloudtrailv2/.

AWS CLI

Puoi utilizzare il comando lookup-events per visualizzare gli eventi relativi all'eliminazione di esclusioni:

aws cloudtrail lookup-events --lookup-attributes AttributeKey=ResourceType,AttributeValue=AWS::EC2::VPCBlockPublicAccessExclusion

L'esempio avanzato è completo.