Bloquer l'accès public pour les sous-réseaux VPCs et les sous-réseaux - Amazon Virtual Private Cloud

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.

Bloquer l'accès public pour les sous-réseaux VPCs et les sous-réseaux

VPCBlock Public Access (BPA) est une fonctionnalité de sécurité centralisée qui vous permet d'empêcher de manière officielle l'accès Internet public aux VPC ressources sur l'ensemble d'un AWS compte, afin de garantir le respect des exigences de sécurité tout en offrant de la flexibilité pour les exceptions spécifiques et les fonctionnalités d'audit.

La VPC BPA fonctionnalité comporte les modes suivants :

  • Bidirectionnel : 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 VPCs et des sous-réseaux) est bloqué.

  • Entrée uniquement : tout le trafic Internet vers cette région (VPCsà l'exception des VPCs sous-réseaux exclus) est bloqué. Seul le trafic à destination et en provenance des NAT passerelles et des passerelles Internet de sortie uniquement est autorisé, car ces passerelles permettent uniquement d'établir des connexions sortantes.

Vous pouvez également créer des « exclusions » pour cette fonctionnalité pour le trafic que vous ne souhaitez pas bloquer. Une exclusion est un mode qui peut être appliqué à un seul réseau VPC ou à un sous-réseau qui l'exempte du BPA mode du compte et autorise un accès bidirectionnel ou de sortie uniquement.

Les exclusions peuvent avoir l'un des modes suivants :

  • Bidirectionnel : tout le trafic Internet à destination et en provenance des sous-réseaux exclus VPCs est autorisé.

  • Sortie uniquement : le trafic Internet sortant des sous-réseaux exclus est autoriséVPCs. Le trafic Internet entrant vers les sous-réseaux exclus VPCs est bloqué. Cela ne s'applique que si le BPA paramètre est réglé sur Bidirectionnel.

BPAles bases

Cette section fournit des informations importantes VPCBPA, notamment sur les services qui le prennent en charge et sur la manière dont vous pouvez l'utiliser.

Disponibilité par région

VPCBPAest disponible dans toutes les AWS régions commerciales, y compris GovCloud les régions de Chine.

Dans ce guide, vous trouverez également des informations sur l'utilisation de Network Access Analyzer et Reachability Analyzer avec. VPC BPA Notez que Network Access Analyzer et Reachability Analyzer ne sont pas disponibles dans toutes les régions commerciales. Pour plus d'informations sur la disponibilité régionale de Network Access Analyzer et Reachability Analyzer, consultez les sections Limitations du guide Network Access Analyzer et considérations du guide Reachability Analyzer.

AWS impact du service et support

Le support des ressources et services suivants VPC BPA et le trafic vers ces services et ressources sont affectés par VPC BPA :

  • Passerelle Internet : tout le trafic entrant et sortant est bloqué.

  • Passerelle Internet de sortie uniquement : tout le trafic sortant est bloqué. Les passerelles Internet de sortie uniquement n'autorisent pas le trafic entrant.

  • NATpasserelle : tout le trafic entrant et sortant est bloqué. NATles passerelles nécessitent une passerelle Internet pour se connecter à Internet.

  • Network Load Balancer connecté à Internet : tout le trafic entrant et sortant est bloqué. Les équilibreurs de charge réseau connectés à Internet nécessitent une passerelle Internet pour la connectivité Internet.

  • Application Load Balancer connecté à Internet : tout le trafic entrant et sortant est bloqué. Les équilibreurs de charge d'applications connectés à Internet nécessitent une passerelle Internet pour la connectivité Internet.

  • AWS Accélérateur global : le trafic entrant VPCs est bloqué.

Le trafic lié à la connectivité privée, tel que le trafic pour les services et ressources suivants, n'est ni bloqué ni impacté par VPC BPA :

  • AWS Client VPN

  • Amazon CloudFront VPCOrigines

  • AWS Nuage WAN

  • AWS Outposts passerelle locale

  • AWS Site-to-Site VPN

  • Passerelle de transit

  • Accès vérifié par AWS

  • AWS Wavelength Passerelle transporteur

Important

Le trafic envoyé en privé depuis vos ressources VPC vers d'autres services exécutés sur votre VPC ordinateur, tels que le EC2 DNS Resolver, est autorisé même lorsqu'il BPA est activé, car il ne passe pas par une passerelle Internet de votre VPC ordinateur. Il est possible que ces services adressent des demandes à des ressources extérieures en votre nom, par exemple, afin de résoudre une DNS requête, et qu'ils exposent des informations sur l'activité des ressources qui vous appartiennent VPC si d'autres contrôles de sécurité ne sont pas atténués par d'autres contrôles de sécurité. VPC

BPAlimites

VPCBPAle mode d'entrée uniquement n'est pas pris en charge dans les Zones Locales (LZs) où les passerelles et les NAT passerelles Internet de sortie uniquement ne sont pas autorisées.

Contrôlez l'accès à l'VPABPAaide d'une IAM politique

Pour des exemples de IAM politiques qui autorisent/refusent l'accès à la VPC BPA fonctionnalité, voir. Bloquer l'accès public pour les sous-réseaux VPCs et les sous-réseaux

Activez le mode BPA bidirectionnel pour votre compte

VPCBPAle mode bidirectionnel 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 Pour plus d'informations sur les exclusions, consultezCréation et suppression d'exclusions.

Important

Nous vous recommandons vivement de passer en revue attentivement les charges de travail qui nécessitent un accès à Internet avant de les activer VPC BPA dans vos comptes de production.

Note
  • Pour activer VPC BPA les sous-réseaux VPCs et de votre compte, vous devez être propriétaire des sous-réseaux VPCs et.

  • Si vous partagez actuellement des VPC sous-réseaux avec d'autres comptes, le VPC BPA mode appliqué par le propriétaire du sous-réseau s'applique également au trafic des participants, mais les participants ne peuvent pas contrôler les VPC BPA paramètres qui ont un impact sur le sous-réseau partagé.

AWS Management Console
  1. Ouvrez la VPC console Amazon à l'adressehttps://console.aws.amazon.com/vpc/.

  2. Dans le panneau de navigation de gauche, choisissez Settings (Paramètres).

  3. Choisissez Modifier les paramètres d'accès public.

  4. Choisissez Activer le blocage de l'accès public et Bidirectionnel, puis sélectionnez Enregistrer les modifications.

  5. Attendez que le statut passe à Activé. Les paramètres peuvent prendre quelques minutes pour que les BPA paramètres aient le statut.

VPCBPALe mode bidirectionnel est désormais activé.

AWS CLI
  1. Allumez VPC BPA :

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

    Les paramètres peuvent prendre quelques minutes pour que les BPA paramètres aient le statut.

  2. Afficher le statut de VPC BPA :

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

Changer le VPC BPA mode en mode d'entrée uniquement

VPCBPAle mode d'entrée uniquement bloque tout le trafic Internet vers cette région (VPCsà l'exception VPCs des sous-réseaux exclus). Seul le trafic à destination et en provenance des NAT passerelles et des passerelles Internet de sortie uniquement est autorisé, car ces passerelles permettent uniquement d'établir des connexions sortantes.

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

  2. Enregistrez les modifications et attendez que le statut soit mis à jour. Les paramètres peuvent prendre quelques minutes pour que les BPA paramètres aient le statut.

AWS CLI
  1. Modifiez la direction du VPC BPA bloc :

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

    Les paramètres peuvent prendre quelques minutes pour que les BPA paramètres aient le statut.

  2. Afficher le statut de VPC BPA :

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

Création et suppression d'exclusions

Une VPC BPA exclusion est un mode qui peut être appliqué à un seul réseau VPC ou à un sous-réseau qui l'exempte du BPA mode du compte et autorise un accès bidirectionnel ou de sortie uniquement. Vous pouvez créer des BPA exclusions VPCs et des sous-réseaux même lorsque ce n'BPAest pas activé sur le compte afin de garantir que le trafic des exclusions n'est pas perturbé lorsqu'il VPC BPA est activé.

Vous pouvez créer un maximum de 50 exclusions. Pour plus d'informations sur la demande d'augmentation de limite, consultez la section VPCBPAExclusions par compte dansVPCQuotas Amazon.

AWS Management Console
  1. Dans l'onglet Bloquer l'accès public, sous Exclusions, choisissez Créer des exclusions.

  2. Choisissez un VPC ou un sous-réseau, choisissez une direction de bloc :

    • Bidirectionnel : autorise tout le trafic Internet à destination et en provenance des VPCs sous-réseaux exclus.

    • Sortie uniquement : autorise le trafic Internet sortant depuis les sous-réseaux exclus. VPCs Bloque le trafic Internet entrant vers les exclus VPCs et les sous-réseaux. Ce paramètre s'applique lorsqu'il BPA est défini sur Bidirectionnel.

  3. Choisissez Créer des exclusions.

  4. Attendez que le statut d'exclusion passe à Actif. Vous devrez peut-être actualiser la table des exclusions pour voir la modification.

L'exclusion a été créée.

AWS CLI
  1. Modifiez le sens de l'autorisation d'exclusion :

    aws ec2 --region us-east-2 create-vpc-block-public-access-exclusion --subnet-id subnet-id --internet-gateway-exclusion-mode allow-bidirectional
  2. La mise à jour du statut d'exclusion peut prendre un certain temps. Pour afficher le statut de l'exclusion :

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

Évaluez l'impact BPA et surveillez BPA

Cette section contient des informations sur la façon dont vous pouvez évaluer l'impact VPC BPA avant de l'activer et sur la manière dont vous contrôlez si le trafic est bloqué une fois que vous l'avez activé.

Évaluez l'impact BPA de Analyseur d'accès réseau

Dans cette section, vous allez Analyseur d'accès réseau afficher les ressources de votre compte qui utilisent une passerelle Internet avant d'activer VPC BPA et de bloquer l'accès. Utilisez cette analyse pour comprendre l'impact de l'activation de VPC BPA votre compte et du blocage du trafic.

Note
  • Network Access Analyzer ne le prend pas en charge IPv6 ; vous ne pourrez donc pas l'utiliser pour évaluer l'impact potentiel du trafic sortant de BPA la passerelle Internet uniquement en sortie. IPv6

  • Les analyses que vous effectuez avec Network Access Analyzer vous sont facturées. Pour plus d'informations, consultez la section Tarification du Analyseur d'accès réseau guide.

  • Pour plus d'informations sur la disponibilité régionale de Network Access Analyzer, consultez la section Limitations du guide de l'analyseur d'accès réseau.

AWS Management Console
  1. Ouvrez la console AWS Network Insights à l'adressehttps://console.aws.amazon.com/networkinsights/.

  2. Choisissez Network Access Analyzer.

  3. Choisissez Create Network Access Scope.

  4. Choisissez Identifier l'accès vers ou depuis les passerelles Internet, puis cliquez sur Suivant.

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

  6. Choisissez Suivant.

  7. Choisissez Create Network Access Scope.

  8. Choisissez l'étendue que vous venez de créer, puis sélectionnez Analyser.

  9. Patientez jusqu'à la fin de l'analyse.

  10. 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 l'activez VPC BPA et qu'aucun des sous-réseaux VPCs et/ou figurant dans ces résultats n'est configuré comme une BPA exclusion, le trafic vers ces sous-réseaux VPCs et vers ces sous-réseaux sera restreint.

  11. Analysez chaque résultat pour comprendre l'impact BPA sur les ressources de votreVPCs.

L'analyse d'impact est terminée.

AWS CLI
  1. Créez une étendue d'accès au réseau :

    aws ec2 create-network-insights-access-scope --region us-east-2 --match-paths "Source={ResourceStatement={ResourceTypes=["AWS::EC2::InternetGateway"]}}" "Destination={ResourceStatement={ResourceTypes=["AWS::EC2::InternetGateway"]}}"
  2. Lancez l'analyse du périmètre :

    aws ec2 start-network-insights-access-scope-analysis --region us-east-2 --network-insights-access-scope-id nis-id
  3. Obtenez les résultats de l'analyse :

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

    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 qui sera affecté par l'activation VPCBPA. La première constatation montrera que le trafic a commencé sur une passerelle Internet (» SequenceNumber « : 1), est passé à un NACL (» SequenceNumber « : 2) à un groupe de sécurité (» SequenceNumber « : 3) et s'est terminé sur une instance (» SequenceNumber « : 4).

  4. Analysez les résultats pour comprendre l'impact BPA sur les ressources de votreVPCs.

L'analyse d'impact est terminée.

Surveillez BPA l'impact grâce aux journaux de flux

VPCFlow Logs est une fonction qui vous permet de capturer des informations sur le trafic IP circulant vers et depuis les interfaces réseau Elastic dans votreVPC. Vous pouvez utiliser cette fonctionnalité pour surveiller le trafic bloqué lorsqu'il n'atteint VPC BPA pas les interfaces réseau de votre instance.

Créez un journal de flux pour vous VPC en suivant les étapes décrites dansUtiliser des journaux de flux.

Lorsque vous créez le journal de flux, assurez-vous d'utiliser un format personnalisé qui inclut le champreject-reason.

Lorsque vous consultez les journaux de flux, si le trafic vers un ENI est rejeté en raison deBPA, vous verrez un reject-reason de BPA dans l'entrée du journal de flux.

Outre les limites standard pour les journaux de VPC flux, notez les limites suivantes spécifiques à VPC BPA :

  • Les journaux de flux pour VPC BPA n'incluent pas les enregistrements ignorés.

  • Les journaux de flux pour VPC BPA ne pas inclure, bytesmême si vous incluez le bytes champ dans votre journal de flux.

Suivez la suppression des exclusions avec CloudTrail

Cette section explique comment vous pouvez AWS CloudTrail contrôler et suivre la suppression des VPC BPA exclusions.

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::VPCBlockPublicAccessExclusion dans la AWS CloudTrail console à l'adressehttps://console.aws.amazon.com/cloudtrailv2/.

AWS CLI

Vous pouvez utiliser la lookup-events commande pour visualiser les événements liés à la suppression des exclusions :

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

Vérifiez que la connectivité est bloquée avec Reachability Analyzer

VPCL'Analyzer de Reachability Analyzer peut être utilisé pour évaluer si certains chemins réseau sont accessibles en fonction de la configuration de votre réseau, y compris les paramètres. VPC BPA

Pour plus d'informations sur la disponibilité régionale de Reachability Analyzer, consultez les considérations du guide Reachability Analyzer.

AWS Management Console
  1. Ouvrez la console Network Insights à l'adressehttps://console.aws.amazon.com/networkinsights/home#ReachabilityAnalyzer.

  2. Cliquez sur Créer et analyser le chemin.

  3. Pour le type de source, choisissez Passerelles Internet et sélectionnez la passerelle Internet dont vous souhaitez bloquer le trafic dans le menu déroulant Source.

  4. Pour le type de destination, choisissez Instances et sélectionnez l'instance vers laquelle vous souhaitez bloquer le trafic dans le menu déroulant Destination.

  5. Cliquez sur Créer et analyser le chemin.

  6. Patientez jusqu'à la fin de l'analyse. Cela peut prendre quelques minutes.

  7. Une fois terminé, vous devriez voir que le statut d'accessibilité n'est pas accessible et que les détails du chemin indiquent que VPC_BLOCK_PUBLIC_ACCESS_ENABLED c'est la cause de ce problème d'accessibilité.

AWS CLI
  1. Créez un chemin réseau en utilisant l'ID de l'Internet Gateway dont vous souhaitez bloquer le trafic (source) et l'ID de l'instance vers laquelle vous souhaitez bloquer le trafic (destination) :

    aws ec2 --region us-east-2 create-network-insights-path --source igw-id --destination instance-id --protocol TCP
  2. Lancez une analyse sur le chemin du réseau :

    aws ec2 --region us-east-2 start-network-insights-analysis --network-insights-path-id nip-id
  3. Affichez les résultats de l'analyse :

    aws ec2 --region us-east-2 describe-network-insights-analyses --network-insights-analysis-ids nia-id
  4. Vérifiez que VPC_BLOCK_PUBLIC_ACCESS_ENABLED c'est le ExplanationCode cas pour le manque d'accessibilité.

Exemple avancé

Cette section contient un exemple avancé qui vous aidera à comprendre comment fonctionne la fonctionnalité de VPC blocage de l'accès public 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 attentivement les charges de travail qui nécessitent un accès à Internet avant de les activer VPC BPA dans vos comptes de production.

Note

Pour bien comprendre VPC BPA cette fonctionnalité, vous aurez besoin de certaines ressources dans votre compte. Dans cette section, nous fournissons un AWS 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 présenté dans cette section, assurez-vous de suivre les étapes de nettoyage lorsque vous aurez terminé avec cet exemple.

CloudFormation Modèle de déploiement

Pour démontrer le fonctionnement de cette fonctionnalité, vous avez besoin d'unVPC, de sous-réseaux, d'instances et d'autres ressources. Pour faciliter la réalisation de cette démonstration, nous avons fourni un AWS CloudFormation modèle ci-dessous que vous pouvez utiliser pour obtenir rapidement les ressources requises pour les scénarios de cette démonstration.

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 NAT passerelle et des IPv4 adresses publiques. Pour éviter les coûts excessifs, assurez-vous de suivre les étapes de nettoyage afin de supprimer toutes les ressources créées aux fins de cet exemple.

Le modèle crée les ressources suivantes dans votre compte :

  • Passerelle Internet de sortie uniquement

  • Passerelle Internet

  • NATpasserelle

  • Deux sous-réseaux publics

  • Un sous-réseau privé

  • Deux EC2 instances avec IPv4 adresses publiques et privées

  • Une EC2 instance avec une IPv6 adresse et une IPv4 adresse privée

  • Une EC2 instance avec une IPv4 adresse privée uniquement

  • Groupe de sécurité avec SSH trafic ICMP entrant autorisé et trafic ALL sortant autorisé

  • VPCjournal de flux

  • Point de terminaison One 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 AWS CloudFormation console à l'adressehttps://console.aws.amazon.com/cloudformation/.

  2. Choisissez Create stack et téléchargez le fichier modèle .yaml.

  3. Suivez les étapes pour lancer le modèle. Vous devrez entrer un ID d'image et un type d'instance (comme t2.micro). Vous devrez également autoriser la création CloudFormation d'un IAM rôle pour la création du journal de flux et l'autorisation de vous y connecter Amazon CloudWatch.

  4. Une fois que vous avez lancé la pile, consultez 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" }
  2. Consultez 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

Découvrez l'impact de l'VPCBPAoutil Network Access Analyzer

Dans cette section, vous allez utiliser Network Access Analyzer pour afficher les ressources de votre compte qui utilisent la passerelle Internet. Utilisez cette analyse pour comprendre l'impact de l'activation de VPC BPA votre compte et du blocage du trafic.

Pour plus d'informations sur la disponibilité régionale de Network Access Analyzer, consultez la section Limitations du guide de l'analyseur d'accès réseau.

AWS Management Console
  1. Ouvrez la console AWS Network Insights à l'adressehttps://console.aws.amazon.com/networkinsights/.

  2. Choisissez Network Access Analyzer.

  3. Choisissez Create Network Access Scope.

  4. Choisissez Identifier l'accès vers ou depuis les passerelles Internet, puis cliquez sur Suivant.

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

  6. Choisissez Suivant.

  7. Choisissez Create Network Access Scope.

  8. Choisissez l'étendue que vous venez de créer, puis sélectionnez Analyser.

  9. Patientez jusqu'à la fin de l'analyse.

  10. 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 l'activez VPC BPA et qu'aucun des sous-réseaux VPCs et/ou figurant dans ces résultats n'est configuré comme une BPA exclusion, le trafic vers ces sous-réseaux VPCs et vers ces sous-réseaux sera restreint.

  11. Analysez chaque résultat pour comprendre l'impact BPA sur les ressources de votreVPCs.

L'analyse d'impact est terminée.

AWS CLI
  1. Créez une étendue 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" ] } } } ] } }
  2. 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 } }
  3. 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 qui sera affecté par l'activation VPCBPA. La première constatation montrera que le trafic a commencé sur une passerelle Internet (» SequenceNumber « : 1), est passé à un NACL (» SequenceNumber « : 2) à un groupe de sécurité (» SequenceNumber « : 3) et s'est terminé sur une instance (» SequenceNumber « : 4).

  4. Analysez les résultats pour comprendre l'impact BPA sur les ressources de votreVPCs.

L'analyse d'impact est terminée.

Scénario 1

Dans cette section, pour définir une base de référence et vous assurer que toutes les instances sont accessibles avant de les activerBPA, vous allez vous connecter à toutes les instances et envoyer un ping à une adresse IP publique.

Schéma d'un VPC appareil VPC BPA sans activation :

Schéma montrant un VPC sans BPA activé.

1.1 Se connecter aux instances

Complétez cette section pour vous connecter à vos instances lorsque cette VPC BPA option 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 « VPC BPA Instance A ».

AWS Management Console
  1. Ouvrez la EC2 console Amazon à l'adressehttps://console.aws.amazon.com/ec2/.

  2. Ouvrez les détails de l'instance A.

  3. Connectez-vous à l'instance A à l'aide de l'option EC2Instance Connect > Connect using EC2 Instance Connect.

  4. Choisissez Se connecter. Une fois que vous vous êtes connecté à l'instance, envoyez un ping à www.amazon.com pour vérifier que vous pouvez envoyer des demandes sortantes sur Internet.

  5. Utilisez la même méthode que celle que vous avez utilisée pour vous connecter à l'instance A pour vous connecter à l'instance B et vérifiez que vous pouvez envoyer des requêtes sortantes sur Internet.

  6. Connectez-vous à l'instance C à l'aide de l'option EC2Instance Connect > Connect using EC2 Instance Connect Endpoint. Vous devez utiliser l'option endpoint car les instances C et D se trouvent dans des sous-réseaux privés et n'ont pas d'adresse IP publique :

  7. Utilisez la même méthode que celle que vous avez utilisée pour l'instance C pour vous connecter à l'instance D et vérifiez que vous pouvez envoyer des requêtes sortantes sur 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é.

  2. Utilisez l'IPv4adresse 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é.

  3. 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é.

  4. Utilisez l'IPv4adresse 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é.

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

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

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

    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

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

Schéma du mode VPC BPA bidirectionnel activé :

Schéma illustrant lorsque VPC le mode BPA bidirectionnel est activé.

2.1 Activer le mode bidirectionnel par VPC BPA blocs

Complétez cette section pour l'activer VPCBPA.

AWS Management Console
  1. Ouvrez la VPC console Amazon à l'adressehttps://console.aws.amazon.com/vpc/.

  2. Dans le panneau de navigation de gauche, choisissez Settings (Paramètres).

  3. Choisissez Modifier les paramètres d'accès public :

  4. Choisissez Activer le blocage de l'accès public et Bidirectionnel, puis sélectionnez Enregistrer les modifications.

  5. Attendez que le statut passe à Activé. Les paramètres peuvent prendre quelques minutes pour que les BPA paramètres aient le statut.

VPCBPAest maintenant activé.

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

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

    Les paramètres peuvent prendre quelques minutes pour que les BPA paramètres aient le statut.

  2. Afficher le statut de VPC BPA :

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

2.2 Se connecter aux instances

Complétez cette section pour établir la connexion à vos instances.

AWS Management Console
  1. Envoyez un ping à l'IPv4adresse 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é.

  2. Connectez-vous à chaque instance à l'aide d'EC2instance connect, comme vous l'avez fait dans le scénario 1, puis envoyez un ping à www.amazon.com à partir de celle-ci. Notez que tous les trafics sortant sont bloqués.

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

  2. Utilisez l'IPv4adresse 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é.

  3. 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é.

  4. Utilisez l'IPv4adresse 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é.

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

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

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

    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érifiez que la connectivité est bloquée avec Reachability Analyzer

VPCL'Analyzer de Reachability Analyzer peut être utilisé pour déterminer si certains chemins réseau sont accessibles en fonction de la configuration de votre réseau, y compris les paramètres. VPC BPA Dans cet exemple, vous allez analyser le même chemin réseau que celui qui a été essayé précédemment pour confirmer que VPC BPA c'est la raison pour laquelle la connectivité échoue.

AWS Management Console
  1. Accédez à la console Network Insights à l'adressehttps://console.aws.amazon.com/networkinsights/home#ReachabilityAnalyzer.

  2. Cliquez sur Créer et analyser le chemin.

  3. Pour le type de source, choisissez Internet Gateways et sélectionnez la passerelle Internet étiquetée VPCBPAInternet Gateway dans le menu déroulant Source.

  4. Pour le type de destination, choisissez Instances et sélectionnez l'instance étiquetée avec VPCBPAInstance A dans le menu déroulant Destination.

  5. Cliquez sur Créer et analyser le chemin.

  6. Patientez jusqu'à la fin de l'analyse. Cela peut prendre quelques minutes.

  7. Une fois terminé, vous devriez voir que le statut d'accessibilité n'est pas accessible et que les détails du chemin indiquent que VPC_BLOCK_PUBLIC_ACCESS_ENABLED c'est la cause.

AWS CLI
  1. Créez un chemin réseau à l'aide de l'ID de la passerelle Internet étiqueté VPC BPA Internet Gateway et de l'ID de l'VPCBPAinstance étiqueté Instance A :

    aws ec2 --region us-east-2 create-network-insights-path --source igw-id --destination instance-id --protocol TCP
  2. Lancez une analyse sur le chemin du réseau :

    aws ec2 --region us-east-2 start-network-insights-analysis --network-insights-path-id nip-id
  3. Affichez les résultats de l'analyse :

    aws ec2 --region us-east-2 describe-network-insights-analyses --network-insights-analysis-ids nia-id
  4. Vérifiez que VPC_BLOCK_PUBLIC_ACCESS_ENABLED c'est le ExplanationCode cas pour le manque d'accessibilité.

Scénario 3

Dans cette section, vous allez modifier le sens VPC BPA du trafic et autoriser uniquement le trafic utilisant une NAT passerelle ou une passerelle Internet de sortie uniquement.

Schéma du mode VPC BPA Entrée uniquement activé :

Schéma VPC illustrant lorsque l'BPAentrée est activée uniquement.

3.1 Changer le mode en mode d'entrée uniquement

Complétez cette section pour changer de mode.

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

  2. Enregistrez les modifications et attendez que le statut soit mis à jour. Les paramètres peuvent prendre quelques minutes pour que les BPA paramètres aient le statut.

AWS CLI
  1. Modifiez le VPC BPA mode :

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

    Les paramètres peuvent prendre quelques minutes pour que les BPA paramètres aient le statut.

  2. Afficher le statut de VPC BPA :

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

3.2 Se connecter aux instances

Complétez cette section pour vous connecter aux instances.

AWS Management Console
  1. Envoyez un ping à l'IPv4adresse 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é.

  2. Connectez-vous aux instances A et B à l'aide d'EC2instance connect, comme vous l'avez fait dans le scénario 1, puis envoyez un ping à www.amazon.com à partir de celles-ci. 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é.

  3. Connectez-vous aux instances C et D à l'aide d'EC2instance connect, comme vous l'avez fait dans le scénario 1, puis 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é.

  2. Utilisez l'IPv4adresse 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é.

  3. 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é.

  4. Utilisez l'IPv4adresse 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é.

  5. 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 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é.

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

Dans cette section, vous allez créer une exclusion et bloquer uniquement le trafic à destination et en provenance du sous-réseau dont il n'est pas exclu VPCBPA. Une VPC BPA exclusion est un mode qui peut être appliqué à un seul réseau VPC ou à un sous-réseau qui l'exempte du BPA mode du compte et autorise un accès bidirectionnel ou de sortie uniquement. Vous pouvez créer des BPA exclusions VPCs et des sous-réseaux même lorsque ce n'BPAest pas activé sur le compte afin de garantir que le trafic des exclusions n'est pas perturbé lorsqu'il VPC BPA 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é VPCBPA.

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

Schéma illustrant VPC avec BPA en mode entrée uniquement avec une exclusion.

4.1 Création d'une exclusion pour le sous-réseau A

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

AWS Management Console
  1. Dans l'onglet Bloquer l'accès public, sous Exclusions, choisissez Créer des exclusions.

  2. Choisissez le sous-réseau VPC BPA public A, assurez-vous que l'option Autoriser la direction bidirectionnelle est sélectionnée, puis choisissez Créer des exclusions.

  3. Attendez que le statut d'exclusion passe à Actif. Vous devrez peut-être actualiser la table des exclusions pour voir la modification.

L'exclusion a été créée.

AWS CLI
  1. Modifiez le sens de l'autorisation d'exclusion :

    aws ec2 --region us-east-2 create-vpc-block-public-access-exclusion --subnet-id subnet-id --internet-gateway-exclusion-mode allow-bidirectional
  2. La mise à jour du statut d'exclusion peut prendre un certain temps. Pour afficher le statut de l'exclusion :

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

4.2 Se connecter aux instances

Complétez cette section pour vous connecter aux instances.

AWS Management Console
  1. Envoyez un ping à l'IPv4adresse publique de l'instance A. Notez que le trafic est autorisé.

  2. Envoyez un ping à l'IPv4adresse publique de l'instance B. Notez que le trafic est bloqué.

  3. Connectez-vous à l'instance A en utilisant 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é.

  4. Connectez-vous à l'instance B à l'aide d'EC2instance 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 un ping à un site public sur Internet à partir de l'instance B. Le trafic est bloqué.

  5. Connectez-vous aux instances C et D à l'aide d'EC2instance connect, comme vous l'avez fait dans le scénario 1, puis 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. 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é.

  2. Utilisez l'IPv4adresse 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é.

  3. 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é.

  4. Utilisez l'IPv4adresse 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é.

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

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

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

    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: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é avec Reachability Analyzer

En utilisant le même chemin réseau créé dans Reachability Analyzer 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 Reachability Analyzer, consultez les considérations du guide Reachability Analyzer.

AWS Management Console
  1. Dans le chemin réseau que vous avez créé précédemment dans la console Network Insights, cliquez sur Réexécuter l'analyse.

  2. Patientez jusqu'à la fin de l'analyse. Cette opération peut prendre plusieurs minutes.

  3. 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
  2. Affichez les résultats de l'analyse :

    aws ec2 --region us-east-2 describe-network-insights-analyses --network-insights-analysis-ids nia-id
  3. Vérifiez que le code d'VPC_BLOCK_PUBLIC_ACCESS_ENABLEDexplication n'est plus présent.

Scénario 5

Dans cette section, vous allez modifier le sens du trafic autorisé sur l'exclusion pour voir son impact VPCBPA. Notez que le mode de sortie uniquement pour une exclusion n'est pas vraiment significatif s'il est VPC BPA activé en mode d'entrée de bloc uniquement. Ce comportement correspond à celui du scénario 3.

Schéma du mode d'VPCBPAentrée uniquement activé et de l'exclusion du sous-réseau A avec le mode de sortie uniquement activé :

Schéma VPC illustrant BPA le mode entrée uniquement, autorisant le trafic sortant via la passerelle. NAT

5.1 Modifier l'exclusion autoriser la direction vers la sortie uniquement

Complétez 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.

  2. Sélectionnez Enregistrer les modifications.

  3. Attendez que le statut d'exclusion passe à Actif. Les paramètres peuvent prendre quelques minutes pour que les BPA paramètres aient le statut. Vous devrez peut-être actualiser la table des exclusions pour voir la modification.

AWS CLI
  1. Modifiez le sens de l'autorisation d'exclusion :

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

    Les paramètres peuvent prendre quelques minutes pour que les BPA paramètres aient le statut.

  2. La mise à jour du statut d'exclusion peut prendre un certain temps. Pour afficher le statut de l'exclusion :

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

5.2 Connect aux instances

Complétez cette section pour vous connecter aux instances.

AWS Management Console
  1. Envoyez un ping à l'IPv4adresse publique des instances A et B. Notez que le trafic est bloqué.

  2. Connectez-vous aux instances A et B à l'aide d'EC2instance 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 un ping à un site public sur Internet à partir de l'instance A ou B. Le trafic est bloqué.

  3. Connectez-vous aux instances C et D à l'aide d'EC2instance connect, comme vous l'avez fait dans le scénario 1, puis 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. 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é.

  2. Utilisez l'IPv4adresse 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é.

  3. 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é.

  4. Utilisez l'IPv4adresse 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é.

  5. 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 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é.

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

Dans cette section, vous allez modifier la direction du VPC BPA bloc pour voir son impact sur le trafic. Dans ce scénario, l'VPCBPAactivation en mode bidirectionnel bloque tout le trafic, comme dans le scénario 1. Sauf si une exclusion a accès à une NAT passerelle 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 le mode de sortie uniquement activé :

Schéma VPC illustrant BPA le mode entrée uniquement, autorisant le trafic sortant via la passerelle NAT

6.1 Passage VPC BPA en mode bidirectionnel

Complétez cette section pour changer de BPA mode.

AWS Management Console
  1. Choisissez Modifier les paramètres d'accès public :

  2. Changez la direction du bloc en bidirectionnel, puis choisissez Enregistrer les modifications.

  3. Attendez que le statut passe à Activé. Les paramètres peuvent prendre quelques minutes pour que les BPA paramètres aient le statut.

AWS CLI
  1. Modifiez la direction du VPC BPA bloc :

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

    Les paramètres peuvent prendre quelques minutes pour que les BPA paramètres aient le statut.

  2. Afficher le statut de VPC BPA :

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

6.2 Se connecter aux instances

Complétez cette section pour vous connecter aux instances.

AWS Management Console
  1. Envoyez un ping à l'IPv4adresse publique des instances A et B. Notez que le trafic est bloqué.

  2. Connectez-vous aux instances A et B à l'aide d'EC2instance 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 un ping à un site public sur Internet à partir de l'instance A ou B. Le trafic est bloqué.

  3. Connectez-vous aux instances C et D à l'aide d'EC2instance connect, comme vous l'avez fait dans le scénario 1, puis envoyez un ping à www.amazon.com à partir de ces instances. Notez que vous ne pouvez pas envoyer un ping à un site public sur Internet à partir de l'instance 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é.

  2. Utilisez l'IPv4adresse 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é.

  3. 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é.

  4. Utilisez l'IPv4adresse 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é.

  5. 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 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é.

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

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 excessifs pour les ressources créées sur votre compte.

Supprimer les CloudFormation ressources

Complétez cette section pour supprimer les ressources que vous avez créées à l'aide du AWS CloudFormation modèle.

AWS Management Console
  1. Ouvrez la AWS CloudFormation console à l'adressehttps://console.aws.amazon.com/cloudformation/.

  2. Choisissez la VPC BPA pile.

  3. Sélectionnez Delete (Supprimer).

  4. Une fois que vous avez commencé à supprimer la pile, consultez 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 pour qu'elle soit complètement supprimée.

AWS CLI
  1. Supprimer la CloudFormation pile. Vous devrez peut-être forcer la suppression de la pile pour qu'elle soit complètement supprimée.

    aws cloudformation delete-stack --stack-name VPC-BPA-stack --region us-east-2
  2. Consultez 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 avec AWS CloudTrail

Complétez cette section pour suivre la suppression des exclusions avec 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 ressourceAWS: : : EC2 : VPCBlockPublicAccessExclusion dans la AWS CloudTrail console à l'adressehttps://console.aws.amazon.com/cloudtrailv2/.

AWS CLI

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

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

L'exemple avancé est complet.