Exemple avancé
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.
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.
Pour bien comprendre la fonctionnalité VPC BPA, vous aurez besoin de certaines ressources dans votre compte. Dans cette section, nous fournissons un modèle CloudFormation que vous pouvez utiliser pour provisionner les ressources dont vous avez besoin pour bien comprendre comment fonctionne cette fonctionnalité. Des coûts sont associés aux ressources que vous fournissez avec le modèle CloudFormation et aux analyses que vous effectuez avec l’analyseur d’accès réseau et l’analyseur d’accessibilité. Si vous utilisez le modèle de cette section, assurez-vous de suivre les étapes de nettoyage lorsque vous aurez terminé avec cet exemple.
Déploiement du modèle CloudFormation (facultatif)
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.
Certains coûts sont associés aux ressources que vous créez dans cette section avec le modèle CloudFormation, tels que le coût de la passerelle NAT et des adresses IPv4 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 modèle CloudFormation crée les ressources sous-jacentes nécessaires à la fonctionnalité VPC BPA, mais n’active pas la fonctionnalité VPC BPA en 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 des adresses IPv4 publiques et privées
-
Une instance EC2 avec une adresse IPv6 et une adresse IPv4 privée
-
Une instance EC2 avec une adresse IPv4 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
-
-
Ouvrez la console CloudFormation à l’adresse https://console.aws.amazon.com/cloudformation/.
-
Choisissez Créer une pile et téléchargez le fichier modèle .yaml.
-
Suivez les étapes pour lancer le modèle. Vous devrez saisir une ID d’image et un type d’instance (comme t2.micro). Vous devrez également autoriser CloudFormation à créer un rôle IAM pour vous dans le cadre de la création du journal de flux et de l’autorisation de connexion à CloudWatch.
-
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
-
-
Exécutez la commande suivante pour créer la pile CloudFormation :
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"
}
-
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
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 dans le Guide de l’analyseur d’accès réseau.
- AWS Management Console
-
-
Ouvrez la console AWS Network Insights à l’adresse https://console.aws.amazon.com/networkinsights/.
-
Choisissez Analyseur d’accès réseau.
-
Choisissez Créer un périmètre Network Access.
-
Choisissez Évaluer l’impact de la fonctionnalité VPC Block Public Access, puis cliquez sur Suivant.
-
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.
-
Choisissez Suivant.
-
Choisissez Créer un périmètre Network Access.
-
Choisissez le périmètre que vous venez de créer, puis sélectionnez Analyser.
-
Attendez que l’analyse se termine.
-
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 la fonctionnalité VPC BPA et qu’aucun des VPC et/ou des sous-réseaux figurant dans ces résultats n’est configuré comme une exclusion VPC BPA, le trafic vers ces VPC et sous-réseaux est restreint.
-
Analysez chaque résultat pour comprendre l’impact de la fonctionnalité VPC BPA sur les ressources de vos VPC.
L’analyse de l’impact est terminée.
- AWS CLI
-
-
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"
]
}
}
}
]
}
}
-
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
}
}
-
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 dans tous les VPC de votre compte. Les résultats sont organisés sous forme de « findings ». « 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. Le premier résultat montre que le trafic a débuté sur une passerelle Internet (« SequenceNumber » : 1), a été transmis d’une une liste ACL réseau (« SequenceNumber » : 2) à un groupe de sécurité (« SequenceNumber » : 3) et s’est terminé sur une instance (« SequenceNumber » : 4).
-
Analysez les résultats pour comprendre l’impact de la fonctionnalité VPC BPA sur les ressources de vos VPC.
L’analyse de l’impact est terminée.
Scénario 1 : connexion à des instances sans que la fonctionnalité VPC BPA soit activée
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 :
1.1 Se connecter à des instances
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. Dans cet exemple, toutes les instances créées avec CloudFormation portent des noms tels que « VPC BPA Instance A ».
- AWS Management Console
-
-
Ouvrez la console Amazon EC2 à l’adresse https://console.aws.amazon.com/ec2/.
-
Ouvrez les détails de l’instance A.
-
Connectez-vous à l’instance A à l’aide de l’option EC2 Instance Connect > Se connecter à l’aide du point de terminaison EC2 Instance Connect.
-
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.
-
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
-
-
Envoyez un ping à l’instance A en utilisant l’adresse IPv4 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é.
-
Utilisez l’adresse IPv4 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é.
-
Envoyez un ping à l’instance B en utilisant l’adresse IPv4 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é.
-
Utilisez l’adresse IPv4 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é.
-
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é.
-
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
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é :
2.1 Activation du mode bidirectionnel VPC BPA
Terminez cette section pour activer la fonctionnalité VPC BPA. Le mode bidirectionnel de la fonctionnalité 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 VPC et des sous-réseaux exclus).
- AWS Management Console
-
-
Ouvrez la console Amazon VPC à l'adresse https://console.aws.amazon.com/vpc/.
-
Dans le panneau de navigation de gauche, choisissez Paramètres.
-
Choisissez Modifier les paramètres d’accès public.
-
Choisissez Activer le blocage d’accès public et Bidirectionnel, puis sélectionnez Enregistrer les modifications.
-
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
-
-
Utilisez la commande modify-vpc-block-public-access-options pour activer 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.
-
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
Terminez cette section pour vous connecter à vos instances.
- AWS Management Console
-
-
Envoyez un ping à l’adresse IPv4 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é.
-
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.
-
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é.
-
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
-
-
Envoyez un ping à l’instance A en utilisant l’adresse IPv4 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é.
-
Utilisez l’adresse IPv4 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é.
-
Envoyez un ping à l’instance B en utilisant l’adresse IPv4 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é.
-
Utilisez l’adresse IPv4 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é.
-
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é.
-
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é
L’analyseur d’accessibilité VPC 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
-
-
Accédez à la console Network Insights à l’adresse https://console.aws.amazon.com/networkinsights/home#ReachabilityAnalyzer.
-
Cliquez sur Créer et analyser le chemin.
-
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.
-
Dans Type de destination, choisissez Instances et sélectionnez l’instance étiquetée Instance A VPC BPA dans le menu déroulant Destination.
-
Cliquez sur Créer et analyser le chemin.
-
Attendez que l’analyse se termine. Cela peut prendre quelques minutes.
-
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
-
-
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
-
Lancez une analyse sur le chemin réseau :
aws ec2 --region us-east-2 start-network-insights-analysis --network-insights-path-id nip-id
-
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
-
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.
Scénario 3 : modification du mode VPC BPA en mode d’entrée uniquement
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é :
3.1 Changer le mode VPC BPA en mode d’entrée uniquement
Terminez cette section pour changer de mode.
- AWS Management Console
-
-
Ouvrez la console Amazon VPC à l'adresse https://console.aws.amazon.com/vpc/.
-
Dans le panneau de navigation de gauche, choisissez Paramètres.
-
Dans l’onglet Bloquer l’accès public, sélectionnez Modifier les paramètres d’accès public.
-
Modifiez les paramètres d’accès public dans la console VPC et réglez la direction sur Entrée uniquement.
-
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
-
-
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.
-
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
Terminez cette section pour vous connecter aux instances.
- AWS Management Console
-
-
Envoyez un ping à l’adresse IPv4 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é.
-
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é.
-
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
-
-
Envoyez un ping à l’instance A en utilisant l’adresse IPv4 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é.
-
Utilisez l’adresse IPv4 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é.
-
Envoyez un ping à l’instance B en utilisant l’adresse IPv4 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é.
-
Utilisez l’adresse IPv4 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é.
-
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é.
-
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
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 VPC et les sous-réseaux même lorsque la fonctionnalité VPC BPA n’est pas activée sur le compte afin de garantir la non-perturbation du trafic des exclusions lorsque la fonctionnalité VPC BPA est activée.
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é :
4.1 Créer une exclusion pour le sous-réseau 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 VPC et les sous-réseaux même lorsque la fonctionnalité VPC BPA n’est pas activée sur le compte afin de garantir la non-perturbation du trafic des exclusions lorsque la fonctionnalité VPC BPA est activée.
- AWS Management Console
-
-
Ouvrez la console Amazon VPC à l'adresse https://console.aws.amazon.com/vpc/.
-
Dans le panneau de navigation de gauche, choisissez Paramètres.
-
Dans l’onglet Bloquer l’accès public, sous Exclusions, choisissez Créer des exclusions.
-
Choisissez Sous-réseau public A du VPC BPA, assurez-vous de sélectionnez l’option Bidirectionnel, puis choisissez Créer des exclusions.
-
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
-
-
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
-
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
Terminez cette section pour vous connecter aux instances.
- AWS Management Console
-
-
Envoyez un ping à l’adresse IPv4 publique de l’instance A. Notez que le trafic est autorisé.
-
Envoyez un ping à l’adresse IPv4 publique de l’instance B. Notez que le trafic est bloqué.
-
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é.
-
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é.
-
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
-
-
Envoyez un ping à l’instance A en utilisant l’adresse IPv4 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é.
-
Utilisez l’adresse IPv4 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é.
-
Envoyez un ping à l’instance B en utilisant l’adresse IPv4 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é.
-
Utilisez l’adresse IPv4 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é.
-
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é.
-
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: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é
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 dans le Guide de l’analyseur d’accessibilité.
- AWS Management Console
-
-
À partir du chemin réseau que vous avez créé précédemment dans la console Network Insights, cliquez sur Exécuter à nouveau l’analyse.
-
Attendez que l’analyse se termine. Cette opération peut prendre plusieurs minutes.
-
Vérifiez que le chemin est désormais accessible.
- AWS CLI
-
-
À 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
-
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
-
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
Dans cette section, vous allez modifier la direction du trafic autorisé lors de l’exclusion pour voir son impact sur la fonctionnalité VPC BPA.
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é :
5.1 Modifier l’exclusion pour autoriser la direction vers la sortie uniquement
Terminez cette section pour modifier le sens de l’autorisation d’exclusion.
- AWS Management Console
-
-
Modifiez l’exclusion que vous avez créée dans le scénario 4 et modifiez le sens d’autorisation en mode Sortie uniquement.
-
Sélectionnez Enregistrer les modifications.
-
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
-
-
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.
-
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
Terminez cette section pour vous connecter aux instances.
- AWS Management Console
-
-
Envoyez un ping à l’adresse IPv4 publique des instances A et B. Notez que le trafic est bloqué.
-
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é.
-
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
-
-
Envoyez un ping à l’instance A en utilisant l’adresse IPv4 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é.
-
Utilisez l’adresse IPv4 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é.
-
Envoyez un ping à l’instance B en utilisant l’adresse IPv4 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é.
-
Utilisez l’adresse IPv4 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é.
-
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é.
-
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
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é :
6.1 Modifier le VPC BPA en mode bidirectionnel
Terminez cette section pour modifier le mode de la fonctionnalité VPC BPA.
- AWS Management Console
-
-
Ouvrez la console Amazon VPC à l'adresse https://console.aws.amazon.com/vpc/.
-
Dans le panneau de navigation de gauche, choisissez Paramètres.
-
Choisissez Modifier les paramètres d’accès public.
-
Changez le sens du blocage en Bidirectionnel, puis choisissez Enregistrer les modifications.
-
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
-
-
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.
-
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
Terminez cette section pour vous connecter aux instances.
- AWS Management Console
-
-
Envoyez un ping à l’adresse IPv4 publique des instances A et B. Notez que le trafic est bloqué.
-
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é.
-
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
-
-
Envoyez un ping à l’instance A en utilisant l’adresse IPv4 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é.
-
Utilisez l’adresse IPv4 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é.
-
Envoyez un ping à l’instance A en utilisant l’adresse IPv4 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é.
-
Utilisez l’adresse IPv4 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é.
-
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é.
-
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
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 ressources CloudFormation
Terminez cette section pour supprimer les ressources que vous avez créées à l’aide du modèle CloudFormation.
- AWS Management Console
-
- AWS CLI
-
-
Supprimez la pile CloudFormation. 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
-
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
Suivi de la suppression des exclusions à l’aide de CloudTrail
Terminez cette section pour suivre la suppression des exclusions à l’aide de AWS CloudTrail. Les entrées CloudTrail apparaissent lorsque vous supprimez une exclusion.
- AWS Management Console
-
Vous pouvez afficher toutes les exclusions supprimées dans l’historique des événements CloudTrail en recherchant Type de ressource > AWS::EC2::VPCBlockPublicAccessExclusion dans la console AWS à l’adresse 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é.