

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Exemple avancé
<a name="security-vpc-bpa-example"></a>

Cette section contient un exemple avancé qui vous aidera à comprendre comment fonctionne la fonctionnalité VPC Block Public Access dans différents scénarios. Chaque scénario s’appuie sur le scénario précédent. Il est donc important de suivre les étapes dans l’ordre.

**Important**  
Ne passez pas en revue cet exemple dans un compte de production. Nous vous recommandons vivement de passer en revue les charges de travail qui nécessitent un accès à Internet avant d’activer la fonctionnalité VPC BPA dans vos comptes de production.

**Note**  
Pour bien comprendre la fonctionnalité VPC BPA, vous aurez besoin de certaines ressources dans votre compte. Dans cette section, nous fournissons un CloudFormation modèle que vous pouvez utiliser pour fournir les ressources dont vous avez besoin pour bien comprendre le fonctionnement de cette fonctionnalité. Des coûts sont associés aux ressources que vous fournissez avec le CloudFormation modèle et aux analyses que vous effectuez avec Network Access Analyzer et Reachability Analyzer. Si vous utilisez le modèle de cette section, assurez-vous de suivre les étapes de nettoyage lorsque vous aurez terminé avec cet exemple.

**Topics**
+ [CloudFormation Modèle de déploiement (facultatif)](#security-vpc-bpa-example-deploy-cfn)
+ [Afficher l’impact de la fonctionnalité VPC BPA à l’aide de l’analyseur d’accès réseau](#vpc-bpa-naa)
+ [Scénario 1 : connexion à des instances sans que la fonctionnalité VPC BPA soit activée](#vpc-bpa-scenario-1-connect-scen1)
+ [Scénario 2 : activation de la fonctionnalité VPC BPA en mode bidirectionnel](#vpc-bpa-scenario-1-connect-scen2)
+ [Scénario 3 : modification du mode VPC BPA en mode d’entrée uniquement](#vpc-bpa-scenario-3)
+ [Scénario 4 : créer une exclusion](#vpc-bpa-scenario-4)
+ [Scénario 5 : modifier le mode d’exclusion](#vpc-bpa-scenario-5)
+ [Scénario 6 : modification du mode de la fonctionnalité VPC BPA](#vpc-bpa-scenario-6)
+ [Nettoyage](#vpc-bpa-scenario-cleanup)

## CloudFormation Modèle de déploiement (facultatif)
<a name="security-vpc-bpa-example-deploy-cfn"></a>

Pour montrer comment fonctionne cette fonctionnalité, vous avez besoin d’un VPC, de sous-réseaux, d’instances et d’autres ressources. Pour faciliter la réalisation de cette démonstration, nous avons fourni un modèle CloudFormation ci-dessous que vous pouvez utiliser pour obtenir rapidement les ressources requises pour les scénarios de cette démonstration. Cette étape est facultative et vous souhaiterez peut-être simplement afficher les diagrammes dans les scénarios de cette section.

**Note**  
Certains coûts sont associés aux ressources que vous créez dans cette section avec le CloudFormation modèle, tels que le coût de la passerelle NAT et des IPv4 adresses publiques. Pour éviter les coûts supplémentaires, assurez-vous de suivre les étapes de nettoyage afin de supprimer toutes les ressources créées aux fins de cet exemple.
Ce CloudFormation modèle crée les ressources sous-jacentes nécessaires au VPC BPA mais n'active pas la fonctionnalité VPC BPA elle-même. Les ressources déployées ici sont destinées à vous aider à comprendre et à tester la fonctionnalité VPC BPA une fois que vous avez choisi de l’activer séparément.

Le modèle crée les ressources suivantes dans votre compte :
+ Passerelle Internet de sortie uniquement
+ Passerelle Internet
+ Passerelle NAT
+ Deux sous-réseaux publics
+ Un sous-réseau privé
+ Deux instances EC2 avec adresses publiques et privées IPv4 
+ Une instance EC2 avec une IPv6 adresse et une adresse privée IPv4 
+ Une instance EC2 avec une IPv4 adresse privée uniquement
+ Un groupe de sécurité avec trafic entrant SSH et ICMP autorisé et TOUT le trafic sortant autorisé
+ Journal de flux VPC
+ Un point de terminaison EC2 Instance Connect dans le sous-réseau B

Copiez le modèle ci-dessous et enregistrez-le dans un fichier .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
```

------
#### [ AWS Management Console ]

1. Ouvrez la CloudFormation console à l'adresse[https://console.aws.amazon.com/cloudformation/](https://console.aws.amazon.com/cloudformation/).

1. Choisissez **Créer une pile** et téléchargez le fichier modèle .yaml.

1. Suivez les étapes pour lancer le modèle. Vous devrez saisir une [ID d’image](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html) et un [type d’instance](https://aws.amazon.com/ec2/instance-types/) (comme t2.micro). Vous devrez également autoriser la création CloudFormation d'un rôle IAM pour la création du journal de flux et l'autorisation de vous y connecter CloudWatch.

1. Une fois que vous avez lancé la pile, affichez l’onglet **Événements** pour voir la progression et assurez-vous que la pile est complète avant de continuer.

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

1. Exécutez la commande suivante pour créer la CloudFormation pile :

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

   Sortie :

   ```
   {
       "StackId": "arn:aws:cloudformation:us-east-2:470889052923:stack/VPC-BPA-stack/8a7a2cc0-8001-11ef-b196-06386a84b72f"
   }
   ```

1. Affichez la progression et assurez-vous que la pile est complète avant de continuer :

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

------

## Afficher l’impact de la fonctionnalité VPC BPA à l’aide de l’analyseur d’accès réseau
<a name="vpc-bpa-naa"></a>

Dans cette section, vous allez utiliser l’analyseur d’accès réseau pour afficher les ressources de votre compte qui utilisent la passerelle Internet. Utilisez cette analyse pour comprendre l’impact de l’activation de la fonctionnalité VPC BPA sur votre compte et du blocage du trafic.

Pour plus d’informations sur la disponibilité régionale de l’analyseur d’accès réseau et de l’analyseur d’accessibilité, consultez les sections [Restrictions](https://docs.aws.amazon.com/vpc/latest/network-access-analyzer/how-network-access-analyzer-works.html#analyzer-limitations) dans le *Guide de l’analyseur d’accès réseau*.

------
#### [ AWS Management Console ]

1. Ouvrez la console AWS Network Insights à l'adresse[https://console.aws.amazon.com/networkinsights/](https://console.aws.amazon.com/networkinsights/).

1. Choisissez **Analyseur d’accès réseau**.

1. Choisissez **Créer un périmètre Network Access**.

1. Choisissez **Évaluer l’impact de la fonctionnalité VPC Block Public Access**, puis cliquez sur **Suivant**.

1. Le modèle est déjà configuré pour analyser le trafic à destination et en provenance des passerelles Internet de votre compte. Vous pouvez le consulter sous **Source** et **Destination**.

1. Choisissez **Suivant**.

1. Choisissez **Créer un périmètre Network Access**.

1. Choisissez le périmètre que vous venez de créer, puis sélectionnez **Analyser**.

1. Attendez que l’analyse se termine.

1. Affichez les résultats de l’analyse. Chaque ligne sous **Résultats** indique le chemin réseau qu’un paquet peut emprunter sur un réseau à destination ou en provenance d’une passerelle Internet de votre compte. Dans ce cas, si vous activez le BPA VPC et qu'aucun des sous-réseaux et/ou sous-réseaux qui apparaissent dans ces résultats n'est configuré comme une exclusion VPC BPA, le trafic vers ces réseaux VPCs et sous-réseaux sera restreint. VPCs 

1. Analysez chaque résultat pour comprendre l'impact du BPA VPC sur les ressources de votre entreprise. VPCs

L’analyse de l’impact est terminée.

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

1. Créez un périmètre d’accès au réseau :

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

   Sortie :

   ```
   {
     "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. Lancez l’analyse du périmètre :

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

   Sortie :

   ```
   {
     "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. Obtenez les résultats de l’analyse :

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

   Sortie :

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

   Les résultats indiquent le trafic à destination et en provenance des passerelles Internet VPCs dans l'ensemble de votre compte. Les résultats sont organisés sous forme de « constatations ». FindingId« :" AnalysisFinding -1" indique qu'il s'agit du premier résultat de l'analyse. Notez qu’il existe plusieurs résultats et que chacun indique un flux de trafic affecté par l’activation de la fonctionnalité VPC BPA. La première constatation montrera que le trafic a commencé sur une passerelle Internet (» SequenceNumber « : 1), est passé à une NACL (» SequenceNumber « : 2) à un groupe de sécurité (» SequenceNumber « : 3) et s'est terminé sur une instance (» SequenceNumber « : 4).

1. Analysez les résultats pour comprendre l'impact du BPA VPC sur les ressources de votre entreprise. VPCs

L’analyse de l’impact est terminée.

------

## Scénario 1 : connexion à des instances sans que la fonctionnalité VPC BPA soit activée
<a name="vpc-bpa-scenario-1-connect-scen1"></a>

Dans cette section, les instances EC2 des sous-réseaux publics A et B sont accessibles depuis Internet via la passerelle Internet, qui autorise le trafic entrant et sortant. Les instances C et D du sous-réseau privé peuvent envoyer le trafic sortant via la passerelle NAT ou la passerelle Internet de sortie uniquement, mais ne sont pas directement accessibles depuis Internet. Cette configuration permet d’accéder à certaines ressources via Internet tout en protégeant les autres ressources. Le but de cette configuration est de définir une base de référence et de vous assurer qu’avant d’activer la fonctionnalité VPC BPA, toutes les instances sont accessibles, en vous connectant à toutes les instances et en envoyant un ping à une adresse IP publique. 

Schéma d’un VPC sans la fonctionnalité VPC BPA activée :

![\[Schéma illustrant un VPC sans la fonctionnalité VPC BPA activée.\]](http://docs.aws.amazon.com/fr_fr/vpc/latest/userguide/images/vpc-bpa-1.png)


### 1.1 Se connecter à des instances
<a name="vpc-bpa-scenario-1-connect-scen1-sub"></a>

Terminez cette section pour vous connecter à vos instances lorsque la fonctionnalité VPC BPA est désactivée afin de pouvoir vous connecter sans problème. Toutes les instances créées avec le CloudFormation pour cet exemple portent des noms tels que « Instance VPC BPA A ».

------
#### [ AWS Management Console ]

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Ouvrez les détails de l’instance A.

1. Connectez-vous à l’instance A à l’aide de l’option **EC2 Instance Connect** > **Se connecter à l’aide du point de terminaison EC2 Instance Connect**.

1. Choisissez **Se connecter**. Une fois que vous avez réussi à vous connecter à l’instance, envoyez un ping à www.amazon.com pour vérifier que vous pouvez envoyer des demandes sortantes vers Internet.

1. Utilisez la même méthode que celle utilisée pour vous connecter à l’instance A pour vous connecter aux instances B, C et D. À partir de chaque instance, envoyez un ping à www.amazon.com pour vérifier que vous pouvez envoyer des demandes sortantes vers Internet.

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

1. Envoyez un ping à l'instance A à l'aide de IPv4 l'adresse publique pour vérifier le trafic entrant :

   ```
   ping 18.225.8.244
   ```

   Sortie :

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

   Notez que le ping est réussi et que le trafic n’est pas bloqué.

1. Utilisez l' IPv4 adresse privée pour vous connecter et vérifier le trafic sortant :

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

   Sortie :

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

   Notez que le ping est réussi et que le trafic n’est pas bloqué.

1. Envoyez un ping à l'instance B à l'aide de IPv4 l'adresse publique pour vérifier le trafic entrant :

   ```
   ping 3.18.106.198
   ```

   Sortie :

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

   Notez que le ping est réussi et que le trafic n’est pas bloqué.

1. Utilisez l' IPv4 adresse privée pour vous connecter et vérifier le trafic sortant :

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

   Sortie :

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

   Notez que le ping est réussi et que le trafic n’est pas bloqué.

1. Connectez-vous à l’instance C. Comme il n’existe aucune adresse IP publique à laquelle envoyer un ping, utilisez EC2 Instance Connect pour vous connecter, puis envoyez un ping à une adresse IP publique depuis l’instance pour vérifier le trafic sortant :

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

   Sortie :

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

   Notez que le ping est réussi et que le trafic n’est pas bloqué.

1. Connectez-vous à l’instance D. Comme il n’existe aucune adresse IP publique à laquelle envoyer un ping, utilisez EC2 Instance Connect pour vous connecter, puis envoyez un ping à une adresse IP publique depuis l’instance pour vérifier le trafic sortant :

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

   Sortie :

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

   Notez que le ping est réussi et que le trafic n’est pas bloqué.

------

## Scénario 2 : activation de la fonctionnalité VPC BPA en mode bidirectionnel
<a name="vpc-bpa-scenario-1-connect-scen2"></a>

Dans cette section, vous allez activer la fonctionnalité VPC BPA et bloquer le trafic à destination et en provenance des passerelles Internet de votre compte.

Schéma illustrant le mode bidirectionnel VPC BPA activé :

![\[Schéma illustrant le VPC avec le mode bidirectionnel VPC BPA activé.\]](http://docs.aws.amazon.com/fr_fr/vpc/latest/userguide/images/vpc-bpa-2.png)


### 2.1 Activation du mode bidirectionnel VPC BPA
<a name="vpc-bpa-scenario-1-connect-scen2-sub1"></a>

Terminez cette section pour activer la fonctionnalité VPC BPA. Le mode bidirectionnel VPC BPA bloque tout le trafic à destination et en provenance des passerelles Internet et des passerelles Internet de sortie uniquement dans cette région (à l'exception des réseaux exclus et des sous-réseaux). VPCs 

------
#### [ AWS Management Console ]

1. Ouvrez la console Amazon VPC à l’adresse [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. Dans le panneau de navigation de gauche, choisissez **Paramètres**.

1. Choisissez **Modifier les paramètres d’accès public**.

1. Choisissez **Activer le blocage d’accès public** et **Bidirectionnel**, puis sélectionnez **Enregistrer les modifications**.

1. Attendez que l’**état** passe à **Activé**. Cela peut prendre quelques minutes avant que les paramètres VPC BPA prennent effet et que l’état soit mis à jour.

La fonctionnalité VPC BPA est désormais activée.

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

1. Utilisez la commande modify-vpc-block-public -access-options pour activer le BPA VPC :

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

   Cela peut prendre quelques minutes avant que les paramètres VPC BPA prennent effet et que l’état soit mis à jour.

1. Affichez l’état de la fonctionnalité VPC BPA :

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

------

### 2.2 Se connecter à des instances
<a name="vpc-bpa-scenario-1-connect-scen2-sub2"></a>

Terminez cette section pour vous connecter à vos instances.

------
#### [ AWS Management Console ]

1. Envoyez un ping à l' IPv4 adresse publique de l'instance A et de l'instance B comme vous l'avez fait dans le scénario 1. Notez que le trafic est bloqué.

1. Connectez-vous à l’instance A à l’aide de l’option **EC2 Instance Connect** > **Se connecter à l’aide du point de terminaison EC2 Instance Connect** comme vous l’avez fait dans le scénario 1. Assurez-vous d’utiliser l’option de point de terminaison.

1. Choisissez **Se connecter**. Une fois que vous avez réussi à vous connecter à l’instance, envoyez un ping à www.amazon.com. Notez que tout le trafic sortant est bloqué.

1. Utilisez la même méthode que celle utilisée pour vous connecter à l’instance A pour vous connecter aux instances B, C et D, puis testez les demandes sortantes vers Internet. Notez que tout le trafic sortant est bloqué.

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

1. Envoyez un ping à l'instance A à l'aide de IPv4 l'adresse publique pour vérifier le trafic entrant :

   ```
   ping 18.225.8.244
   ```

   Sortie :

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

   Notez que le ping échoue et que le trafic est bloqué.

1. Utilisez l' IPv4 adresse privée pour vous connecter et vérifier le trafic sortant :

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

   Sortie :

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

   Notez que le ping échoue et que le trafic est bloqué.

1. Envoyez un ping à l'instance B à l'aide de IPv4 l'adresse publique pour vérifier le trafic entrant :

   ```
   ping 3.18.106.198
   ```

   Sortie :

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

   Notez que le ping échoue et que le trafic est bloqué.

1. Utilisez l' IPv4 adresse privée pour vous connecter et vérifier le trafic sortant :

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

   Sortie :

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

   Notez que le ping échoue et que le trafic est bloqué.

1. Connectez-vous à l’instance C. Comme il n’existe aucune adresse IP publique à laquelle envoyer un ping, utilisez EC2 Instance Connect pour vous connecter, puis envoyez un ping à une adresse IP publique depuis l’instance pour vérifier le trafic sortant :

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

   Sortie :

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

   Notez que le ping échoue et que le trafic est bloqué.

1. Connectez-vous à l’instance D. Comme il n’existe aucune adresse IP publique à laquelle envoyer un ping, utilisez EC2 Instance Connect pour vous connecter, puis envoyez un ping à une adresse IP publique depuis l’instance pour vérifier le trafic sortant :

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

   Sortie :

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

   Notez que le ping échoue et que le trafic est bloqué.

------

### 2.3 Facultatif : vérifier que la connectivité est bloquée à l’aide de l’analyseur d’accessibilité
<a name="vpc-bpa-scenario-1-connect-scen2-sub3"></a>

L’[analyseur d’accessibilité VPC](https://docs.aws.amazon.com/vpc/latest/reachability/what-is-reachability-analyzer.html) peut être utilisé pour comprendre si certains chemins d’accès réseau sont accessibles en fonction de la configuration de votre réseau, y compris les paramètres VPC BPA. Dans cet exemple, vous analyserez le même chemin réseau que celui qui a été tenté précédemment pour confirmer que la fonctionnalité VPC BPA est à l’origine de l’échec de la connectivité.

------
#### [ AWS Management Console ]

1. Accédez à la console Network Insights à l’adresse [https://console.aws.amazon.com/networkinsights/home#ReachabilityAnalyzer](https://console.aws.amazon.com/networkinsights/home#ReachabilityAnalyzer).

1. Cliquez sur **Créer et analyser le chemin**.

1. Dans **Type de source**, choisissez **Passerelles Internet** et sélectionnez la passerelle Internet étiquetée **Passerelle Internet VPC BPA** dans le menu déroulant **Source**.

1. Dans **Type de destination**, choisissez **Instances** et sélectionnez l’instance étiquetée **Instance A VPC BPA** dans le menu déroulant **Destination**.

1. Cliquez sur **Créer et analyser le chemin**.

1. Attendez que l’analyse se termine. Cela peut prendre quelques minutes.

1. Une fois l’analyse terminée, vous devriez voir que l’**État d’accessibilité** est défini sur **Non joignable** et que les **Détails du chemin** indiquent que `VPC_BLOCK_PUBLIC_ACCESS_ENABLED` en est la cause.

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

1. Créez un chemin réseau à l’aide de l’ID de la passerelle Internet étiquetée Passerelle Internet VPC BPA et de l’ID de l’instance étiquetée Instance A VPC BPA :

   ```
   aws ec2 --region us-east-2 create-network-insights-path --source igw-id --destination instance-id --protocol TCP
   ```

1. Lancez une analyse sur le chemin réseau :

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

1. Récupérez les résultats de l’analyse :

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

1. Vérifiez que `VPC_BLOCK_PUBLIC_ACCESS_ENABLED` est le `ExplanationCode` du manque d’accessibilité.

------

Notez que vous pouvez également utiliser la section [Surveillance de l’impact de la fonctionnalité VPC BPA à l’aide des journaux de flux](security-vpc-bpa-assess-impact-main.md#security-vpc-bpa-fl).

## Scénario 3 : modification du mode VPC BPA en mode d’entrée uniquement
<a name="vpc-bpa-scenario-3"></a>

Dans cette section, vous allez modifier la direction du trafic VPC BPA et n’autoriser que le trafic qui utilise une passerelle NAT ou une passerelle Internet de sortie uniquement. Les instances EC2 A et B des sous-réseaux publics seront injoignables depuis Internet du fait que la fonctionnalité BPA bloque le trafic entrant via la passerelle Internet. Les instances C et D du sous-réseau privé pourront toujours envoyer le trafic sortant via la passerelle NAT ou la passerelle Internet de sortie uniquement et pourront donc toujours accéder à Internet.

Schéma du mode VPC BPA d’entrée uniquement activé :

![\[Schéma illustrant le VPC avec le mode VPC BPA d’entrée uniquement activé.\]](http://docs.aws.amazon.com/fr_fr/vpc/latest/userguide/images/vpc-bpa-3.png)


### 3.1 Changer le mode VPC BPA en mode d’entrée uniquement
<a name="vpc-bpa-scenario-1-connect-scen3-sub1"></a>

Terminez cette section pour changer de mode.

------
#### [ AWS Management Console ]

1. Ouvrez la console Amazon VPC à l’adresse [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. Dans le panneau de navigation de gauche, choisissez **Paramètres**.

1. Dans l’onglet **Bloquer l’accès public**, sélectionnez **Modifier les paramètres d’accès public**.

1. Modifiez les paramètres d’accès public dans la console VPC et réglez la direction sur **Entrée uniquement**.

1. Enregistrez les modifications et attendez que l’état soit mis à jour. Cela peut prendre quelques minutes avant que les paramètres VPC BPA prennent effet et que l’état soit mis à jour.

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

1. Modifiez le mode VPC BPA :

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

   Cela peut prendre quelques minutes avant que les paramètres VPC BPA prennent effet et que l’état soit mis à jour.

1. Affichez l’état de la fonctionnalité VPC BPA :

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

------

### 3.2 Se connecter à des instances
<a name="vpc-bpa-scenario-1-connect-scen3-sub2"></a>

Terminez cette section pour vous connecter aux instances.

------
#### [ AWS Management Console ]

1. Envoyez un ping à l' IPv4 adresse publique de l'instance A et de l'instance B comme vous l'avez fait dans le scénario 1. Notez que le trafic est bloqué.

1. Connectez-vous aux instances A et B à l’aide d’EC2 Instance Connect comme vous l’avez fait dans le scénario 1 et envoyez un ping à www.amazon.com à partir de ces instances. Notez que vous ne pouvez pas envoyer de ping à un site public sur Internet à partir de l’instance A ou B et que le trafic est bloqué.

1. Connectez-vous aux instances C et D à l’aide d’EC2 Instance Connect comme vous l’avez fait dans le scénario 1 et envoyez un ping à www.amazon.com à partir de ces instances. Notez que vous pouvez envoyer un ping à un site public sur Internet à partir de l’instance C ou D et que le trafic est autorisé.

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

1. Envoyez un ping à l'instance A à l'aide de IPv4 l'adresse publique pour vérifier le trafic entrant :

   ```
   ping 18.225.8.244
   ```

   Sortie :

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

   Notez que le ping échoue et que le trafic est bloqué.

1. Utilisez l' IPv4 adresse privée pour vous connecter et vérifier le trafic sortant :

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

   Sortie :

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

   Notez que le ping échoue et que le trafic est bloqué.

1. Envoyez un ping à l'instance B à l'aide de IPv4 l'adresse publique pour vérifier le trafic entrant :

   ```
   ping 3.18.106.198
   ```

   Sortie :

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

   Notez que le ping échoue et que le trafic est bloqué.

1. Utilisez l' IPv4 adresse privée pour vous connecter et vérifier le trafic sortant :

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

   Sortie :

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

   Notez que le ping échoue et que le trafic est bloqué.

1. Connectez-vous à l’instance C. Comme il n’existe aucune adresse IP publique à laquelle envoyer un ping, utilisez EC2 Instance Connect pour vous connecter, puis envoyez un ping à une adresse IP publique depuis l’instance pour vérifier le trafic sortant :

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

   Sortie :

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

   Notez que le ping est réussi et que le trafic n’est pas bloqué.

1. Connectez-vous à l’instance D. Comme il n’existe aucune adresse IP publique à laquelle envoyer un ping, utilisez EC2 Instance Connect pour vous connecter, puis envoyez un ping à une adresse IP publique depuis l’instance pour vérifier le trafic sortant :

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

   Sortie :

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

   Notez que le ping est réussi et que le trafic n’est pas bloqué.

------

## Scénario 4 : créer une exclusion
<a name="vpc-bpa-scenario-4"></a>

Dans cette section, vous allez créer une exclusion. La fonctionnalité VPC BPA bloquera alors uniquement le trafic sur les sous-réseaux *sans* exclusion. Une exclusion VPC BPA est un mode qui peut être appliqué à un seul VPC ou sous-réseau pour l’exempter du mode VPC BPA du compte et autoriser un accès bidirectionnel ou de sortie uniquement. Vous pouvez créer des exclusions VPC BPA pour les sous-réseaux VPCs et les sous-réseaux même lorsque le BPA VPC n'est pas activé sur le compte afin de garantir que le trafic des exclusions n'est pas perturbé lorsque le BPA VPC est activé. 

Dans cet exemple, nous allons créer une exclusion pour le sous-réseau A afin de montrer comment le trafic vers les exclusions est impacté par la fonctionnalité VPC BPA.

Schéma du mode VPC BPA d’entrée uniquement activé et de l’exclusion du sous-réseau A avec mode bidirectionnel activé :

![\[Schéma illustrant un VPC avec la fonctionnalité VPC BPA en mode d’entrée uniquement, avec une exclusion.\]](http://docs.aws.amazon.com/fr_fr/vpc/latest/userguide/images/vpc-bpa-4.png)


### 4.1 Créer une exclusion pour le sous-réseau A
<a name="vpc-bpa-scenario-1-connect-scen4-sub1"></a>

Terminez cette section pour créer une exclusion. Une exclusion VPC BPA est un mode qui peut être appliqué à un seul VPC ou sous-réseau pour l’exempter du mode VPC BPA du compte et autoriser un accès bidirectionnel ou de sortie uniquement. Vous pouvez créer des exclusions VPC BPA pour les sous-réseaux VPCs et les sous-réseaux même lorsque le BPA VPC n'est pas activé sur le compte afin de garantir que le trafic des exclusions n'est pas perturbé lorsque le BPA VPC est activé.

------
#### [ AWS Management Console ]

1. Ouvrez la console Amazon VPC à l’adresse [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. Dans le panneau de navigation de gauche, choisissez **Paramètres**.

1. Dans l’onglet **Bloquer l’accès public**, sous **Exclusions**, choisissez **Créer des exclusions**.

1. Choisissez **Sous-réseau public A du VPC BPA**, assurez-vous de sélectionnez l’option **Bidirectionnel**, puis choisissez **Créer des exclusions**.

1. Attendez que l’**état d’exclusion** passe à **Actif**. Vous devrez peut-être actualiser le tableau des exclusions pour voir la modification.

L’exclusion est créée.

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

1. Modifiez le sens d’autorisation de l’exclusion :

   ```
   aws ec2 --region us-east-2 create-vpc-block-public-access-exclusion --subnet-id subnet-id --internet-gateway-exclusion-mode allow-bidirectional
   ```

1. La mise à jour de l’état d’exclusion peut prendre un certain temps. Pour afficher l’état de l’exclusion :

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

------

### 4.2 Se connecter à des instances
<a name="vpc-bpa-scenario-1-connect-scen4-sub2"></a>

Terminez cette section pour vous connecter aux instances.

------
#### [ AWS Management Console ]

1. Envoyez un ping à l' IPv4 adresse publique de l'instance A. Notez que le trafic est autorisé.

1. Envoyez un ping à l' IPv4 adresse publique de l'instance B. Notez que le trafic est bloqué.

1. Connectez-vous à l’instance A à l’aide d’EC2 Instance Connect comme vous l’avez fait dans le scénario 1 et envoyez un ping à www.amazon.com. Notez que vous pouvez envoyer un ping à un site public sur Internet à partir de l’instance A. Le trafic est autorisé.

1. Connectez-vous à l’instances B à l’aide d’EC2 Instance Connect comme vous l’avez fait dans le scénario 1 et envoyez un ping à www.amazon.com à partir de cette instance. Notez que vous ne pouvez pas envoyer de ping à un site public sur Internet à partir de l’instance B. Le trafic est bloqué.

1. Connectez-vous aux instances C et D à l’aide d’EC2 Instance Connect comme vous l’avez fait dans le scénario 1 et envoyez un ping à www.amazon.com à partir de ces instances. Notez que vous pouvez envoyer un ping à un site public sur Internet à partir des instances C ou D. Le trafic est autorisé.

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

1. Envoyez un ping à l'instance A à l'aide de IPv4 l'adresse publique pour vérifier le trafic entrant :

   ```
   ping 18.225.8.244
   ```

   Sortie :

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

   Notez que le ping est réussi et que le trafic n’est pas bloqué.

1. Utilisez l' IPv4 adresse privée pour vous connecter et vérifier le trafic sortant :

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

   Sortie :

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

   Notez que le ping est réussi et que le trafic n’est pas bloqué.

1. Envoyez un ping à l'instance B à l'aide de IPv4 l'adresse publique pour vérifier le trafic entrant :

   ```
   ping 3.18.106.198
   ```

   Sortie :

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

   Notez que le ping échoue et que le trafic est bloqué.

1. Utilisez l' IPv4 adresse privée pour vous connecter et vérifier le trafic sortant :

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

   Sortie :

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

   Notez que le ping échoue et que le trafic est bloqué.

1. Connectez-vous à l’instance C. Comme il n’existe aucune adresse IP publique à laquelle envoyer un ping, utilisez EC2 Instance Connect pour vous connecter, puis envoyez un ping à une adresse IP publique depuis l’instance pour vérifier le trafic sortant :

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

   Notez que le ping est réussi et que le trafic n’est pas bloqué.

1. Connectez-vous à l’instance D. Comme il n’existe aucune adresse IP publique à laquelle envoyer un ping, utilisez EC2 Instance Connect pour vous connecter, puis envoyez un ping à une adresse IP publique depuis l’instance pour vérifier le trafic sortant :

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

   Notez que le ping est réussi et que le trafic n’est pas bloqué.

------

### 4.3 Facultatif : vérifier la connectivité l’aide de l’analyseur d’accessibilité
<a name="vpc-bpa-scenario-1-connect-scen4-sub3"></a>

En utilisant le même chemin réseau que celui créé dans l’analyseur d’accessibilité dans le scénario 2, vous pouvez désormais exécuter une nouvelle analyse et confirmer que le chemin est accessible maintenant qu’une exclusion a été créée pour le sous-réseau public A.

Pour plus d’informations sur la disponibilité régionale de l’analyseur d’accessibilité, consultez [Considérations](https://docs.aws.amazon.com/vpc/latest/reachability/how-reachability-analyzer-works.html#considerations) dans le *Guide de l’analyseur d’accessibilité*.

------
#### [ AWS Management Console ]

1. À partir du chemin réseau que vous avez créé précédemment dans la console Network Insights, cliquez sur **Exécuter à nouveau l’analyse**.

1. Attendez que l’analyse se termine. Cette opération peut prendre plusieurs minutes.

1. Vérifiez que le chemin est désormais **accessible**.

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

1. À l’aide de l’ID de chemin réseau créé précédemment, lancez une nouvelle analyse :

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

1. Récupérez les résultats de l’analyse :

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

1. Vérifiez que le code d’explication `VPC_BLOCK_PUBLIC_ACCESS_ENABLED` n’est plus présent.

------

## Scénario 5 : modifier le mode d’exclusion
<a name="vpc-bpa-scenario-5"></a>

Dans cette section, vous allez modifier la direction du trafic autorisé lors de l’exclusion pour voir son impact sur la fonctionnalité VPC BPA. 

**Note**  
Dans ce scénario, vous allez modifier le mode d’exclusion en mode de sortie uniquement. Notez que dans ce cas, l’exclusion de sortie uniquement sur le sous-réseau A n’autorise pas le trafic sortant, ce qui est contraire à la logique, du fait qu’on pourrait s’attendre à ce qu’elle autorise le trafic sortant. Néanmoins, la fonctionnalité BPA au niveau du compte étant en mode d’entrée uniquement, les exclusions de sortie uniquement sont ignorées, et le routage du sous-réseau A vers une passerelle Internet est restreint par la fonctionnalité VPC BPA, bloquant ainsi le trafic sortant. Pour activer le trafic sortant sur le sous-réseau A, il faudrait basculer la fonctionnalité VPC BPA en mode bidirectionnel.

Schéma du mode VPC BPA d’entrée uniquement activé et de l’exclusion du sous-réseau A avec mode de sortie uniquement activé :

![\[Schéma illustrant un VPC avec la fonctionnalité VPC BPA en mode d’entrée uniquement, autorisant le trafic sortant via une passerelle NAT.\]](http://docs.aws.amazon.com/fr_fr/vpc/latest/userguide/images/vpc-bpa-5.png)


### 5.1 Modifier l’exclusion pour autoriser la direction vers la sortie uniquement
<a name="vpc-bpa-scenario-1-connect-scen5-sub1"></a>

Terminez cette section pour modifier le sens de l’autorisation d’exclusion.

------
#### [ AWS Management Console ]

1. Modifiez l’exclusion que vous avez créée dans le scénario 4 et modifiez le sens d’autorisation en mode **Sortie uniquement.**

1. Sélectionnez **Enregistrer les modifications**.

1. Attendez que l’**état d’exclusion** passe à **Actif**. Cela peut prendre quelques minutes avant que les paramètres VPC BPA prennent effet et que l’état soit mis à jour. Vous devrez peut-être actualiser le tableau des exclusions pour voir la modification.

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

1. Modifiez le sens d’autorisation de l’exclusion :

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

   Cela peut prendre quelques minutes avant que les paramètres VPC BPA prennent effet et que l’état soit mis à jour.

1. La mise à jour de l’état d’exclusion peut prendre un certain temps. Pour afficher l’état de l’exclusion :

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

------

### 5.2 Se connecter à des instances
<a name="vpc-bpa-scenario-1-connect-scen5-sub2"></a>

Terminez cette section pour vous connecter aux instances.

------
#### [ AWS Management Console ]

1. Envoyez un ping à l' IPv4 adresse publique des instances A et B. Notez que le trafic est bloqué.

1. Connectez-vous aux instances A et B à l’aide d’EC2 Instance Connect comme vous l’avez fait dans le scénario 1 et envoyez un ping à www.amazon.com. Notez que vous ne pouvez pas envoyer de ping à un site public sur Internet à partir des instances A ou B. Le trafic est bloqué.

1. Connectez-vous aux instances C et D à l’aide d’EC2 Instance Connect comme vous l’avez fait dans le scénario 1 et envoyez un ping à www.amazon.com à partir de ces instances. Notez que vous pouvez envoyer un ping à un site public sur Internet à partir des instances C ou D. Le trafic est autorisé.

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

1. Envoyez un ping à l'instance A à l'aide de IPv4 l'adresse publique pour vérifier le trafic entrant :

   ```
   ping 18.225.8.244
   ```

   Sortie :

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

   Notez que le ping échoue et que le trafic est bloqué.

1. Utilisez l' IPv4 adresse privée pour vous connecter et vérifier le trafic sortant :

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

   Sortie :

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

   Notez que le ping échoue et que le trafic est bloqué.

1. Envoyez un ping à l'instance B à l'aide de IPv4 l'adresse publique pour vérifier le trafic entrant :

   ```
   ping 3.18.106.198
   ```

   Sortie :

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

   Notez que le ping échoue et que le trafic est bloqué.

1. Utilisez l' IPv4 adresse privée pour vous connecter et vérifier le trafic sortant :

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

   Sortie :

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

   Notez que le ping échoue et que le trafic est bloqué.

1. Connectez-vous à l’instance C. Comme il n’existe aucune adresse IP publique à laquelle envoyer un ping, utilisez EC2 Instance Connect pour vous connecter, puis envoyez un ping à une adresse IP publique depuis l’instance pour vérifier le trafic sortant :

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

   Sortie :

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

   Notez que le ping est réussi et que le trafic n’est pas bloqué.

1. Connectez-vous à l’instance D. Comme il n’existe aucune adresse IP publique à laquelle envoyer un ping, utilisez EC2 Instance Connect pour vous connecter, puis envoyez un ping à une adresse IP publique depuis l’instance pour vérifier le trafic sortant :

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

   Sortie :

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

   Notez que le ping est réussi et que le trafic n’est pas bloqué.

------

## Scénario 6 : modification du mode de la fonctionnalité VPC BPA
<a name="vpc-bpa-scenario-6"></a>

Dans cette section, vous allez modifier la direction du blocage de la fonctionnalité VPC BPA pour voir son impact sur le trafic. Dans ce scénario, le VPC BPA activé en mode bidirectionnel bloque tout le trafic, comme dans le scénario 1. À moins qu’une exclusion ait accès à une passerelle NAT ou à une passerelle Internet de sortie uniquement, le trafic est bloqué.

Schéma du mode VPC BPA bidirectionnel activé et de l’exclusion du sous-réseau A avec mode de sortie uniquement activé :

![\[Schéma illustrant un VPC avec la fonctionnalité VPC BPA en mode d’entrée uniquement, autorisant le trafic sortant via une passerelle NAT\]](http://docs.aws.amazon.com/fr_fr/vpc/latest/userguide/images/vpc-bpa-6.png)


### 6.1 Modifier le VPC BPA en mode bidirectionnel
<a name="vpc-bpa-scenario-1-connect-scen6-sub1"></a>

Terminez cette section pour modifier le mode de la fonctionnalité VPC BPA.

------
#### [ AWS Management Console ]

1. Ouvrez la console Amazon VPC à l’adresse [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. Dans le panneau de navigation de gauche, choisissez **Paramètres**.

1. Choisissez **Modifier les paramètres d’accès public**.

1. Changez le sens du blocage en **Bidirectionnel**, puis choisissez **Enregistrer les modifications**.

1. Attendez que l’**état** passe à **Activé**. Cela peut prendre quelques minutes avant que les paramètres VPC BPA prennent effet et que l’état soit mis à jour.

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

1. Modifiez le sens de blocage de la fonctionnalité VPC BPA :

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

   Cela peut prendre quelques minutes avant que les paramètres VPC BPA prennent effet et que l’état soit mis à jour.

1. Affichez l’état de la fonctionnalité VPC BPA :

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

------

### 6.2 Se connecter à des instances
<a name="vpc-bpa-scenario-1-connect-scen6-sub2"></a>

Terminez cette section pour vous connecter aux instances.

------
#### [ AWS Management Console ]

1. Envoyez un ping à l' IPv4 adresse publique des instances A et B. Notez que le trafic est bloqué.

1. Connectez-vous aux instances A et B à l’aide d’EC2 Instance Connect comme vous l’avez fait dans le scénario 1 et envoyez un ping à www.amazon.com. Notez que vous ne pouvez pas envoyer de ping à un site public sur Internet à partir des instances A ou B. Le trafic est bloqué.

1. Connectez-vous aux instances C et D à l’aide d’EC2 Instance Connect comme vous l’avez fait dans le scénario 1 et envoyez un ping à www.amazon.com à partir de ces instances. Notez que vous ne pouvez pas envoyer de ping à un site public sur Internet à partir des instances C ou D. Le trafic est bloqué.

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

1. Envoyez un ping à l'instance A à l'aide de IPv4 l'adresse publique pour vérifier le trafic entrant :

   ```
   ping 18.225.8.244
   ```

   Sortie :

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

   Notez que le ping échoue et que le trafic est bloqué.

1. Utilisez l' IPv4 adresse privée pour vous connecter et vérifier le trafic sortant :

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

   Sortie :

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

   Notez que le ping échoue et que le trafic est bloqué.

1. Envoyez un ping à l'instance A à l'aide de IPv4 l'adresse publique pour vérifier le trafic entrant :

   ```
   ping 3.18.106.198
   ```

   Sortie :

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

   Notez que le ping échoue et que le trafic est bloqué.

1. Utilisez l' IPv4 adresse privée pour vous connecter et vérifier le trafic sortant :

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

   Sortie :

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

   Notez que le ping échoue et que le trafic est bloqué.

1. Connectez-vous à l’instance C. Comme il n’existe aucune adresse IP publique à laquelle envoyer un ping, utilisez EC2 Instance Connect pour vous connecter, puis envoyez un ping à une adresse IP publique depuis l’instance pour vérifier le trafic sortant :

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

   Sortie :

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

   Notez que le ping échoue et que le trafic est bloqué.

1. Connectez-vous à l’instance D. Comme il n’existe aucune adresse IP publique à laquelle envoyer un ping, utilisez EC2 Instance Connect pour vous connecter, puis envoyez un ping à une adresse IP publique depuis l’instance pour vérifier le trafic sortant :

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

   Sortie :

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

   Notez que le ping échoue et que le trafic est bloqué.

------

## Nettoyage
<a name="vpc-bpa-scenario-cleanup"></a>

Dans cette section, vous allez supprimer toutes les ressources que vous avez créées pour cet exemple avancé. Il est important de nettoyer les ressources afin d’éviter des frais supplémentaires pour les ressources créées sur votre compte.

### Supprimer les CloudFormation ressources
<a name="vpc-bpa-scenario-1-connect-cleanup-sub1"></a>

Complétez cette section pour supprimer les ressources que vous avez créées avec le CloudFormation modèle.

------
#### [ AWS Management Console ]

1. Ouvrez la CloudFormation console à l'adresse[https://console.aws.amazon.com/cloudformation/](https://console.aws.amazon.com/cloudformation/).

1. Choisissez la pile VPC BPA.

1. Sélectionnez **Delete (Supprimer)**.

1. Une fois que vous avez commencé à supprimer la pile, affichez l’onglet **Événements** pour voir la progression et vous assurer que la pile est supprimée. Vous devrez peut-être [forcer la suppression de la pile](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-delete-stack.html) pour qu’elle soit complètement supprimée.

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

1. Supprimez la CloudFormation pile. Vous devrez peut-être [forcer la suppression de la pile](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-delete-stack.html) pour qu’elle soit complètement supprimée.

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

1. Affichez la progression et assurez-vous que la pile est supprimée.

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

------

### Suivez la suppression des exclusions à l'aide de CloudTrail
<a name="vpc-bpa-scenario-1-connect-cleanup-sub2"></a>

Complétez cette section pour suivre la suppression des exclusions à l'aide de AWS CloudTrail. CloudTrail des entrées apparaissent lorsque vous supprimez une exclusion.

------
#### [ AWS Management Console ]

Vous pouvez consulter toutes les exclusions supprimées dans l'historique des CloudTrail événements en recherchant **Type de ressource** > **AWS : :EC2 : : VPCBlock PublicAccessExclusion** dans la AWS CloudTrail console à l'adresse. [https://console.aws.amazon.com/cloudtrailv2/](https://console.aws.amazon.com/cloudtrailv2/)

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

Vous pouvez utiliser la commande lookup-events pour afficher les événements liés à la suppression d’exclusions :

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

------

L’exemple avancé est terminé.