

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Esempio avanzato
<a name="security-vpc-bpa-example"></a>

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, forniamo un CloudFormation modello che puoi utilizzare per fornire le risorse necessarie per comprendere appieno come funziona questa funzionalità. Esistono costi associati alle risorse fornite con il CloudFormation modello e alle analisi eseguite con Network Access Analyzer e Reachability Analyzer. Se utilizzi il modello in questa sezione, assicurati di completare i passaggi di pulizia al termine di questo esempio.

**Topics**
+ [CloudFormation Implementa il modello (opzionale)](#security-vpc-bpa-example-deploy-cfn)
+ [Visualizza l'impatto di VPC BPA con Strumento di analisi degli accessi alla rete](#vpc-bpa-naa)
+ [Scenario 1: connessione a istanze senza la funzionalità VPC BPA attivata](#vpc-bpa-scenario-1-connect-scen1)
+ [Scenario 2: attivazione di VPC BPA in modalità bidirezionale](#vpc-bpa-scenario-1-connect-scen2)
+ [Scenario 3: modifica della modalità VPC BPA in Ingress-only](#vpc-bpa-scenario-3)
+ [Scenario 4: Creazione di un'esclusione](#vpc-bpa-scenario-4)
+ [Scenario 5: modifica della modalità di esclusione](#vpc-bpa-scenario-5)
+ [Scenario 6: modifica della modalità VPC BPA](#vpc-bpa-scenario-6)
+ [Pulizia](#vpc-bpa-scenario-cleanup)

## CloudFormation Implementa il modello (opzionale)
<a name="security-vpc-bpa-example-deploy-cfn"></a>

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 CloudFormation modello, ad esempio il costo del gateway NAT e gli indirizzi pubblici IPv4 . Per evitare costi eccessivi, assicurati di completare i passaggi di pulizia per rimuovere tutte le risorse create ai fini di questo esempio.
Questo CloudFormation modello crea le risorse sottostanti necessarie per VPC BPA ma non abilita la funzionalità VPC BPA stessa. 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 pubblici e privati IPv4 
+ Un'istanza EC2 con un IPv6 indirizzo e un indirizzo privato IPv4 
+ Un'istanza EC2 con un solo indirizzo privato IPv4 
+ 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. Apri la CloudFormation console all'indirizzo[https://console.aws.amazon.com/cloudformation/](https://console.aws.amazon.com/cloudformation/).

1. Scegli **Crea stack** e carica il file modello .yaml.

1. Segui i passaggi per avviare il modello. Dovrai inserire un [ID immagine](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html) e un [tipo di istanza](https://aws.amazon.com/ec2/instance-types/) (come t2.micro). Dovrai inoltre consentire la creazione CloudFormation di un ruolo IAM per la creazione del log di flusso e l'autorizzazione per l'accesso CloudWatch.

1. 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 seguente comando per creare lo CloudFormation stack:

   ```
   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"
   }
   ```

1. 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
<a name="vpc-bpa-naa"></a>

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](https://docs.aws.amazon.com/vpc/latest/network-access-analyzer/how-network-access-analyzer-works.html#analyzer-limitations) nella *Guida dello Strumento di analisi degli accessi alla rete*.

------
#### [ Console di gestione AWS ]

1. Apri la console AWS di Network Insights all'indirizzo[https://console.aws.amazon.com/networkinsights/](https://console.aws.amazon.com/networkinsights/).

1. Scegli **Strumento di analisi degli accessi alla rete**.

1. Scegli **Crea ambito di accesso alla rete**.

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

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

1. Scegli **Next (Successivo)**.

1. Scegli **Crea ambito di accesso alla rete**.

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

1. Attendi il completamento del processo.

1. 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 nessuna delle e/o o sottoreti che appaiono in questi risultati è configurata come esclusioni VPC BPA, il traffico verso quelle VPCs e le sottoreti sarà limitato. VPCs 

1. Analizza ogni risultato per comprendere l'impatto del VPC BPA sulle risorse del tuo. VPCs

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"
               ]
             }
           }
         }
       ]
     }
   }
   ```

1. 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
     }
   }
   ```

1. 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 tutto il tuo account VPCs . I risultati sono organizzati come «risultati». "FindingId«:" AnalysisFinding -1" indica che questo è il primo risultato 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 risultato 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).

1. Analizza i risultati per comprendere l'impatto del VPC BPA sulle risorse del tuo. VPCs

L'analisi dell'impatto è completa.

------

## Scenario 1: connessione a istanze senza la funzionalità VPC BPA attivata
<a name="vpc-bpa-scenario-1-connect-scen1"></a>

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.\]](http://docs.aws.amazon.com/it_it/vpc/latest/userguide/images/vpc-bpa-1.png)


### 1.1 Connessione alle istanze
<a name="vpc-bpa-scenario-1-connect-scen1-sub"></a>

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 questo CloudFormation esempio hanno nomi come «VPC BPA Instance A».

------
#### [ Console di gestione AWS ]

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Apri i dettagli dell'istanza A.

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

1. Scegli **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.

1. 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' IPv4 indirizzo 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.

1. Usa l' IPv4 indirizzo 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.

1. Esegui il ping dell'istanza B utilizzando l' IPv4 indirizzo 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.

1. Usa l' IPv4 indirizzo 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.

1. 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.

1. 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
<a name="vpc-bpa-scenario-1-connect-scen2"></a>

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.\]](http://docs.aws.amazon.com/it_it/vpc/latest/userguide/images/vpc-bpa-2.png)


### 2.1 Abilitazione della modalità bidirezionale VPC BPA
<a name="vpc-bpa-scenario-1-connect-scen2-sub1"></a>

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 solo in uscita in questa regione (ad eccezione delle sottoreti e delle sottoreti escluse). VPCs 

------
#### [ Console di gestione AWS ]

1. Apri la console Amazon VPC all'indirizzo [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. Nel riquadro di navigazione a sinistra, scegli **Impostazioni**.

1. Scegli **Modifica impostazioni di accesso pubblico**.

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

1. 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.

1. Visualizza lo stato di VPC BPA:

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

------

### 2.2 Connessione alle istanze
<a name="vpc-bpa-scenario-1-connect-scen2-sub2"></a>

Completa questa sezione per connetterti alle tue istanze.

------
#### [ Console di gestione AWS ]

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

1. 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.

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

1. 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' IPv4 indirizzo 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.

1. Usa l' IPv4 indirizzo 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.

1. Esegui il ping dell'istanza B utilizzando l' IPv4 indirizzo 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.

1. Usa l' IPv4 indirizzo 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.

1. 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.

1. 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
<a name="vpc-bpa-scenario-1-connect-scen2-sub3"></a>

[VPC Reachability Analyzer](https://docs.aws.amazon.com/vpc/latest/reachability/what-is-reachability-analyzer.html) 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](https://console.aws.amazon.com/networkinsights/home#ReachabilityAnalyzer).

1. Fai clic su **Crea e analizza il percorso**.

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

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

1. Fai clic su **Crea e analizza il percorso**.

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

1. 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
   ```

1. Avvia un'analisi sul percorso di rete:

   ```
   aws ec2 --region us-east-2 start-network-insights-analysis --network-insights-path-id nip-id
   ```

1. Richiama i risultati dell'analisi:

   ```
   aws ec2 --region us-east-2 describe-network-insights-analyses --network-insights-analysis-ids nia-id
   ```

1. 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](security-vpc-bpa-assess-impact-main.md#security-vpc-bpa-fl).

## Scenario 3: modifica della modalità VPC BPA in Ingress-only
<a name="vpc-bpa-scenario-3"></a>

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.\]](http://docs.aws.amazon.com/it_it/vpc/latest/userguide/images/vpc-bpa-3.png)


### 3.1 Modifica della modalità in ingress-only
<a name="vpc-bpa-scenario-1-connect-scen3-sub1"></a>

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/](https://console.aws.amazon.com/vpc/).

1. Nel riquadro di navigazione a sinistra, scegli **Impostazioni**.

1. Nella scheda **Blocca accesso pubblico**, seleziona **Modifica impostazioni di accesso pubblico**.

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

1. 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.

1. Visualizza lo stato di VPC BPA:

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

------

### 3.2 Connessione alle istanze
<a name="vpc-bpa-scenario-1-connect-scen3-sub2"></a>

Completa questa sezione per connetterti alle istanze.

------
#### [ Console di gestione AWS ]

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

1. 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.

1. 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' IPv4 indirizzo 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.

1. Usa l' IPv4 indirizzo 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.

1. Esegui il ping dell'istanza B utilizzando l' IPv4 indirizzo 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.

1. Usa l' IPv4 indirizzo 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.

1. 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.

1. 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
<a name="vpc-bpa-scenario-4"></a>

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. Puoi creare esclusioni VPC BPA per VPCs e sottoreti anche quando VPC BPA non è abilitato sull'account per garantire che non vi siano interruzioni del traffico delle esclusioni quando VPC BPA è attivato. 

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.\]](http://docs.aws.amazon.com/it_it/vpc/latest/userguide/images/vpc-bpa-4.png)


### 4.1 Creazione di un'esclusione per la sottorete A
<a name="vpc-bpa-scenario-1-connect-scen4-sub1"></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. Puoi creare esclusioni VPC BPA per VPCs e sottoreti anche quando VPC BPA non è abilitato sull'account per garantire che non vi siano interruzioni del traffico delle esclusioni quando VPC BPA è attivato.

------
#### [ Console di gestione AWS ]

1. Apri la console Amazon VPC all'indirizzo [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. Nel riquadro di navigazione a sinistra, scegli **Impostazioni**.

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

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

1. 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
   ```

1. 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
<a name="vpc-bpa-scenario-1-connect-scen4-sub2"></a>

Completa questa sezione per connetterti alle istanze.

------
#### [ Console di gestione AWS ]

1. Esegui il ping dell'indirizzo pubblico dell'istanza A. Tieni presente che il traffico è consentito. IPv4 

1. Esegui il ping dell' IPv4 indirizzo pubblico dell'istanza B. Tieni presente che il traffico è bloccato.

1. 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.

1. 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.

1. 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' IPv4 indirizzo 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.

1. Usa l' IPv4 indirizzo 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.

1. Esegui il ping dell'istanza B utilizzando l' IPv4 indirizzo 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.

1. Usa l' IPv4 indirizzo 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.

1. 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.

1. 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
<a name="vpc-bpa-scenario-1-connect-scen4-sub3"></a>

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](https://docs.aws.amazon.com/vpc/latest/reachability/how-reachability-analyzer-works.html#considerations) 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**.

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

1. 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
   ```

1. Richiama i risultati dell'analisi:

   ```
   aws ec2 --region us-east-2 describe-network-insights-analyses --network-insights-analysis-ids nia-id
   ```

1. Verifica che il codice esplicativo `VPC_BLOCK_PUBLIC_ACCESS_ENABLED` non sia più presente.

------

## Scenario 5: modifica della modalità di esclusione
<a name="vpc-bpa-scenario-5"></a>

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.\]](http://docs.aws.amazon.com/it_it/vpc/latest/userguide/images/vpc-bpa-5.png)


### 5.1 Modifica della direzione di esclusione consentita in egress-only
<a name="vpc-bpa-scenario-1-connect-scen5-sub1"></a>

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**.

1. Scegli **Save changes** (Salva modifiche).

1. 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.

1. 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
<a name="vpc-bpa-scenario-1-connect-scen5-sub2"></a>

Completa questa sezione per connetterti alle istanze.

------
#### [ Console di gestione AWS ]

1. Esegui il ping dell' IPv4 indirizzo pubblico delle istanze A e B. Tieni presente che il traffico è bloccato.

1. 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.

1. 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' IPv4 indirizzo 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.

1. Usa l' IPv4 indirizzo 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.

1. Esegui il ping dell'istanza B utilizzando l' IPv4 indirizzo 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.

1. Usa l' IPv4 indirizzo 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.

1. 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.

1. 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
<a name="vpc-bpa-scenario-6"></a>

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\]](http://docs.aws.amazon.com/it_it/vpc/latest/userguide/images/vpc-bpa-6.png)


### 6.1 Modifica di VPC BPA in modalità bidirezionale
<a name="vpc-bpa-scenario-1-connect-scen6-sub1"></a>

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/](https://console.aws.amazon.com/vpc/).

1. Nel riquadro di navigazione a sinistra, scegli **Impostazioni**.

1. Scegli **Modifica impostazioni di accesso pubblico**.

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

1. 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.

1. Visualizza lo stato di VPC BPA:

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

------

### 6.2 Connessione alle istanze
<a name="vpc-bpa-scenario-1-connect-scen6-sub2"></a>

Completa questa sezione per connetterti alle istanze.

------
#### [ Console di gestione AWS ]

1. Esegui il ping dell' IPv4 indirizzo pubblico delle istanze A e B. Tieni presente che il traffico è bloccato.

1. 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.

1. 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' IPv4 indirizzo 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.

1. Usa l' IPv4 indirizzo 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.

1. Esegui il ping dell'istanza A utilizzando l' IPv4 indirizzo 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.

1. Usa l' IPv4 indirizzo 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.

1. 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.

1. 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
<a name="vpc-bpa-scenario-cleanup"></a>

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.

### Elimina le risorse CloudFormation
<a name="vpc-bpa-scenario-1-connect-cleanup-sub1"></a>

Completa questa sezione per eliminare le risorse che hai creato con il CloudFormation modello.

------
#### [ Console di gestione AWS ]

1. Apri la CloudFormation console all'indirizzo[https://console.aws.amazon.com/cloudformation/](https://console.aws.amazon.com/cloudformation/).

1. Scegli lo stack VPC BPA.

1. Scegli **Elimina**.

1. 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](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-delete-stack.html) per eliminarlo completamente.

------
#### [ AWS CLI ]

1. Eliminare lo CloudFormation stack. Potrebbe essere necessario [forzare l'eliminazione dello stack](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-delete-stack.html) per eliminarlo completamente.

   ```
   aws cloudformation delete-stack --stack-name VPC-BPA-stack --region us-east-2
   ```

1. 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
   ```

------

### Tieni traccia dell'eliminazione delle esclusioni utilizzando CloudTrail
<a name="vpc-bpa-scenario-1-connect-cleanup-sub2"></a>

Completa questa sezione per tenere traccia dell'eliminazione delle esclusioni utilizzando. AWS CloudTrail CloudTrail le voci vengono visualizzate quando si elimina un'esclusione.

------
#### [ Console di gestione AWS ]

Puoi visualizzare eventuali esclusioni eliminate nella cronologia degli CloudTrail eventi cercando **Tipo di risorsa** > **AWS: :EC2:: VPCBlock PublicAccessExclusion** nella console all' AWS CloudTrail indirizzo. [https://console.aws.amazon.com/cloudtrailv2/](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.