

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Contoh lanjutan
<a name="security-vpc-bpa-example"></a>

Bagian ini berisi contoh lanjutan yang akan membantu Anda memahami cara kerja fitur Akses Publik Blok VPC dalam berbagai skenario. Setiap skenario dibangun dari skenario sebelumnya, jadi penting untuk menyelesaikan langkah-langkahnya secara berurutan.

**penting**  
Jangan melalui contoh ini di akun produksi. Kami sangat menyarankan agar Anda meninjau secara menyeluruh beban kerja yang memerlukan akses Internet sebelum mengaktifkan VPC BPA di akun produksi Anda.

**catatan**  
Untuk sepenuhnya memahami fitur VPC BPA, Anda memerlukan sumber daya tertentu di akun Anda. Di bagian ini, kami menyediakan CloudFormation templat yang dapat Anda gunakan untuk menyediakan sumber daya yang Anda butuhkan untuk sepenuhnya memahami cara kerja fitur ini. Ada biaya yang terkait dengan sumber daya yang Anda berikan dengan CloudFormation template dan analisis yang Anda lakukan dengan Network Access Analyzer dan Reachability Analyzer. Jika Anda menggunakan templat di bagian ini, pastikan Anda menyelesaikan langkah-langkah Pembersihan setelah selesai dengan contoh ini.

**Topics**
+ [Menyebarkan CloudFormation template (opsional)](#security-vpc-bpa-example-deploy-cfn)
+ [Lihat dampak VPC BPA dengan Network Access Analyzer](#vpc-bpa-naa)
+ [Skenario 1 - Connect ke instance tanpa VPC BPA dihidupkan](#vpc-bpa-scenario-1-connect-scen1)
+ [Skenario 2 - Nyalakan VPC BPA dalam mode Dua Arah](#vpc-bpa-scenario-1-connect-scen2)
+ [Skenario 3 - Ubah VPC BPA ke mode Ingress-only](#vpc-bpa-scenario-3)
+ [Skenario 4 - Buat pengecualian](#vpc-bpa-scenario-4)
+ [Skenario 5 - Ubah mode pengecualian](#vpc-bpa-scenario-5)
+ [Skenario 6 - Memodifikasi mode VPC BPA](#vpc-bpa-scenario-6)
+ [Pembersihan](#vpc-bpa-scenario-cleanup)

## Menyebarkan CloudFormation template (opsional)
<a name="security-vpc-bpa-example-deploy-cfn"></a>

Untuk mendemonstrasikan cara kerja fitur ini, Anda memerlukan VPC, subnet, instance, dan sumber daya lainnya. Untuk membuatnya lebih mudah untuk menyelesaikan demonstrasi ini, kami telah menyediakan CloudFormation template di bawah ini yang dapat Anda gunakan untuk dengan cepat memutar sumber daya yang diperlukan untuk skenario dalam demo ini. Langkah ini opsional dan Anda mungkin ingin hanya melihat diagram di Skenario di bagian ini.

**catatan**  
Ada biaya yang terkait dengan sumber daya yang Anda buat di bagian ini dengan CloudFormation templat, seperti biaya gateway NAT dan IPv4 alamat publik. Untuk menghindari kelebihan biaya, pastikan Anda menyelesaikan langkah-langkah Pembersihan untuk menghapus semua sumber daya yang dibuat untuk tujuan contoh ini.
 CloudFormation Template ini menciptakan sumber daya dasar yang diperlukan untuk VPC BPA tetapi tidak mengaktifkan fitur VPC BPA itu sendiri. Sumber daya yang digunakan di sini dimaksudkan untuk membantu Anda memahami dan menguji fungsionalitas VPC BPA setelah Anda memilih untuk mengaktifkannya secara terpisah.

Template membuat sumber daya berikut di akun Anda:
+ Gateway internet khusus egress
+ gateway internet
+ Gateway NAT
+ Dua subnet publik
+ Satu subnet pribadi
+ Dua instans EC2 dengan alamat publik dan pribadi IPv4 
+ Satu instans EC2 dengan IPv6 alamat dan alamat pribadi IPv4 
+ Satu instans EC2 dengan IPv4 alamat pribadi saja
+ Grup keamanan dengan lalu lintas masuk SSH dan ICMP diizinkan dan SEMUA lalu lintas keluar diizinkan
+ Log aliran VPC
+ Satu titik akhir Connect Instans EC2 di Subnet B

Salin template di bawah ini dan simpan ke file.yaml.

```
AWSTemplateFormatVersion: '2010-09-09'
Description: Creates a VPC with public and private subnets, NAT gateway, and EC2 instances for VPC BPA.

Parameters:
  InstanceAMI:
    Description: ID of the Amazone Machine Image (AMI) to use with the instances launched by this template
    Type: AWS::EC2::Image::Id
  InstanceType:
    Description: EC2 Instance type to use with the instances launched by this template
    Type: String
    Default: t2.micro
 
Resources:

  # VPC
  VPCBPA:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 10.0.0.0/16
      EnableDnsHostnames: true
      EnableDnsSupport: true
      InstanceTenancy: default
      Tags:
        - Key: Name
          Value: VPC BPA

  # VPC IPv6 CIDR
  VPCBPAIpv6CidrBlock:
    Type: AWS::EC2::VPCCidrBlock
    Properties:
      VpcId: !Ref VPCBPA
      AmazonProvidedIpv6CidrBlock: true

  # EC2 Key Pair
  VPCBPAKeyPair:
    Type: AWS::EC2::KeyPair
    Properties:
      KeyName: vpc-bpa-key

  # Internet Gateway  
  VPCBPAInternetGateway:
    Type: AWS::EC2::InternetGateway
    Properties:
      Tags:
        - Key: Name
          Value: VPC BPA Internet Gateway
    
  VPCBPAInternetGatewayAttachment:
    Type: AWS::EC2::VPCGatewayAttachment
    Properties:
      VpcId: !Ref VPCBPA
      InternetGatewayId: !Ref VPCBPAInternetGateway

  # Egress-Only Internet Gateway
  VPCBPAEgressOnlyInternetGateway:
    Type: AWS::EC2::EgressOnlyInternetGateway
    Properties:
      VpcId: !Ref VPCBPA

  # Subnets
  VPCBPAPublicSubnetA:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref VPCBPA
      CidrBlock: 10.0.1.0/24
      MapPublicIpOnLaunch: true
      Tags:
        - Key: Name
          Value: VPC BPA Public Subnet A
      
  VPCBPAPublicSubnetB:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref VPCBPA
      CidrBlock: 10.0.2.0/24
      MapPublicIpOnLaunch: true
      Tags:
        - Key: Name
          Value: VPC BPA Public Subnet B
      
  VPCBPAPrivateSubnetC:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref VPCBPA
      CidrBlock: 10.0.3.0/24
      MapPublicIpOnLaunch: false
      Ipv6CidrBlock: !Select [0, !GetAtt VPCBPA.Ipv6CidrBlocks]
      AssignIpv6AddressOnCreation: true
      Tags:
        - Key: Name
          Value: VPC BPA Private Subnet C

  # NAT Gateway
  VPCBPANATGateway:
    Type: AWS::EC2::NatGateway
    Properties:
      AllocationId: !GetAtt VPCBPANATGatewayEIP.AllocationId
      SubnetId: !Ref VPCBPAPublicSubnetB
      Tags:
        - Key: Name
          Value: VPC BPA NAT Gateway

  VPCBPANATGatewayEIP:
    Type: AWS::EC2::EIP
    Properties:
      Domain: vpc
      Tags:
        - Key: Name
          Value: VPC BPA NAT Gateway EIP

  # Route Tables
  VPCBPAPublicRouteTable:
    Type: AWS::EC2::RouteTable
    Properties:
      VpcId: !Ref VPCBPA
      Tags:
        - Key: Name
          Value: VPC BPA Public Route Table
      
  VPCBPAPublicRoute:
    Type: AWS::EC2::Route
    DependsOn: VPCBPAInternetGatewayAttachment
    Properties:
      RouteTableId: !Ref VPCBPAPublicRouteTable
      DestinationCidrBlock: 0.0.0.0/0
      GatewayId: !Ref VPCBPAInternetGateway
      
  VPCBPAPublicSubnetARouteTableAssoc:
    Type: AWS::EC2::SubnetRouteTableAssociation
    Properties:
      SubnetId: !Ref VPCBPAPublicSubnetA
      RouteTableId: !Ref VPCBPAPublicRouteTable
      
  VPCBPAPublicSubnetBRouteTableAssoc:
    Type: AWS::EC2::SubnetRouteTableAssociation
    Properties:
      SubnetId: !Ref VPCBPAPublicSubnetB
      RouteTableId: !Ref VPCBPAPublicRouteTable
      
  VPCBPAPrivateRouteTable:
    Type: AWS::EC2::RouteTable
    Properties:
      VpcId: !Ref VPCBPA
      Tags:
        - Key: Name
          Value: VPC BPA Private Route Table
      
  VPCBPAPrivateRoute:
    Type: AWS::EC2::Route
    Properties:
      RouteTableId: !Ref VPCBPAPrivateRouteTable
      DestinationCidrBlock: 0.0.0.0/0
      NatGatewayId: !Ref VPCBPANATGateway
      
  VPCBPAPrivateSubnetCRoute:
    Type: AWS::EC2::Route
    Properties:
      RouteTableId: !Ref VPCBPAPrivateRouteTable
      DestinationIpv6CidrBlock: ::/0
      EgressOnlyInternetGatewayId: !Ref VPCBPAEgressOnlyInternetGateway
      
  VPCBPAPrivateSubnetCRouteTableAssociation:
    Type: AWS::EC2::SubnetRouteTableAssociation
    Properties:
      SubnetId: !Ref VPCBPAPrivateSubnetC
      RouteTableId: !Ref VPCBPAPrivateRouteTable

  # EC2 Instances Security Group
  VPCBPAInstancesSecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupName: VPC BPA Instances Security Group
      GroupDescription: Allow SSH and ICMP access
      SecurityGroupIngress:
        - IpProtocol: tcp
          FromPort: 22
          ToPort: 22
          CidrIp: 0.0.0.0/0
        - IpProtocol: icmp
          FromPort: -1
          ToPort: -1
          CidrIp: 0.0.0.0/0
      VpcId: !Ref VPCBPA
      Tags:
        - Key: Name
          Value: VPC BPA Instances Security Group

  # EC2 Instances
  VPCBPAInstanceA:
    Type: AWS::EC2::Instance
    Properties:
      ImageId: !Ref InstanceAMI
      InstanceType: t2.micro
      KeyName: !Ref VPCBPAKeyPair
      SubnetId: !Ref VPCBPAPublicSubnetA
      SecurityGroupIds:
        - !Ref VPCBPAInstancesSecurityGroup
      Tags:
        - Key: Name
          Value: VPC BPA Instance A

  VPCBPAInstanceB:
    Type: AWS::EC2::Instance
    Properties:
      ImageId: !Ref InstanceAMI
      InstanceType: !Ref InstanceType
      KeyName: !Ref VPCBPAKeyPair
      SubnetId: !Ref VPCBPAPublicSubnetB
      SecurityGroupIds:
        - !Ref VPCBPAInstancesSecurityGroup
      Tags:
        - Key: Name
          Value: VPC BPA Instance B

  VPCBPAInstanceC:
    Type: AWS::EC2::Instance
    Properties:
      ImageId: !Ref InstanceAMI
      InstanceType: !Ref InstanceType
      KeyName: !Ref VPCBPAKeyPair
      SubnetId: !Ref VPCBPAPrivateSubnetC
      SecurityGroupIds:
        - !Ref VPCBPAInstancesSecurityGroup
      Tags:
        - Key: Name
          Value: VPC BPA Instance C

  VPCBPAInstanceD:
    Type: AWS::EC2::Instance
    Properties:
      ImageId: !Ref InstanceAMI
      InstanceType: !Ref InstanceType
      KeyName: !Ref VPCBPAKeyPair
      NetworkInterfaces:
        - DeviceIndex: '0'
          GroupSet:
            - !Ref VPCBPAInstancesSecurityGroup
          SubnetId: !Ref VPCBPAPrivateSubnetC
          Ipv6AddressCount: 1
      Tags:
        - Key: Name
          Value: VPC BPA Instance D

  # Flow Logs IAM Role
  VPCBPAFlowLogRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: '2012-10-17'
        Statement:
          - Effect: Allow
            Principal:
              Service: vpc-flow-logs.amazonaws.com
            Action: 'sts:AssumeRole'
      Tags:
        - Key: Name
          Value: VPC BPA Flow Logs Role
      
  VPCBPAFlowLogPolicy:
    Type: AWS::IAM::Policy
    Properties:
      PolicyName: VPC-BPA-FlowLogsPolicy
      PolicyDocument:
        Version: '2012-10-17'
        Statement:
          - Effect: Allow
            Action:
              - 'logs:CreateLogGroup'
              - 'logs:CreateLogStream'
              - 'logs:PutLogEvents'
              - 'logs:DescribeLogGroups'
              - 'logs:DescribeLogStreams'
            Resource: '*'
      Roles:
        - !Ref VPCBPAFlowLogRole

  # Flow Logs
  VPCBPAFlowLog:
    Type: AWS::EC2::FlowLog
    Properties:
      ResourceId: !Ref VPCBPA
      ResourceType: VPC
      TrafficType: ALL
      LogDestinationType: cloud-watch-logs
      LogGroupName: /aws/vpc-flow-logs/VPC-BPA
      DeliverLogsPermissionArn: !GetAtt VPCBPAFlowLogRole.Arn
      LogFormat: '${version} ${account-id} ${interface-id} ${srcaddr} ${dstaddr} ${srcport} ${dstport} ${protocol} ${packets} ${bytes} ${start} ${end} ${action} ${log-status} ${vpc-id} ${subnet-id} ${instance-id} ${tcp-flags} ${type} ${pkt-srcaddr} ${pkt-dstaddr} ${region} ${az-id} ${sublocation-type} ${sublocation-id} ${pkt-src-aws-service} ${pkt-dst-aws-service} ${flow-direction} ${traffic-path} ${reject-reason}'
      Tags:
        - Key: Name
          Value: VPC BPA Flow Logs

  # EC2 Instance Connect Endpoint
  VPCBPAEC2InstanceConnectEndpoint:
    Type: AWS::EC2::InstanceConnectEndpoint
    Properties:
      SecurityGroupIds:
        - !Ref VPCBPAInstancesSecurityGroup
      SubnetId: !Ref VPCBPAPublicSubnetB

Outputs:
  VPCBPAVPCId:
    Description: A reference to the created VPC
    Value: !Ref VPCBPA
    Export:
      Name: vpc-id

  VPCBPAPublicSubnetAId:
    Description: The ID of the public subnet A
    Value: !Ref VPCBPAPublicSubnetA
    
  VPCBPAPublicSubnetAName:
    Description: The name of the public subnet A
    Value: VPC BPA Public Subnet A

  VPCBPAPublicSubnetBId:
    Description: The ID of the public subnet B
    Value: !Ref VPCBPAPublicSubnetB
    
  VPCBPAPublicSubnetBName:
    Description: The name of the public subnet B
    Value: VPC BPA Public Subnet B

  VPCBPAPrivateSubnetCId:
    Description: The ID of the private subnet C
    Value: !Ref VPCBPAPrivateSubnetC
    
  VPCBPAPrivateSubnetCName:
    Description: The name of the private subnet C
    Value: VPC BPA Private Subnet C

  VPCBPAInstanceAId:
    Description: The ID of instance A
    Value: !Ref VPCBPAInstanceA

  VPCBPAInstanceBId:
    Description: The ID of instance B
    Value: !Ref VPCBPAInstanceB

  VPCBPAInstanceCId:
    Description: The ID of instance C
    Value: !Ref VPCBPAInstanceC

  VPCBPAInstanceDId:
    Description: The ID of instance D
    Value: !Ref VPCBPAInstanceD
```

------
#### [ Konsol Manajemen AWS ]

1. Buka CloudFormation konsol di[https://console.aws.amazon.com/cloudformation/](https://console.aws.amazon.com/cloudformation/).

1. Pilih **Buat tumpukan** dan unggah file template.yaml.

1. Ikuti langkah-langkah untuk meluncurkan template. Anda harus memasukkan [ID gambar](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html) dan [jenis instance](https://aws.amazon.com/ec2/instance-types/) (seperti t2.micro). Anda juga harus mengizinkan CloudFormation untuk membuat peran IAM bagi Anda untuk pembuatan log alur dan izin untuk CloudWatch masuk.

1. Setelah Anda meluncurkan tumpukan, lihat tab **Peristiwa** untuk melihat kemajuan dan memastikan bahwa tumpukan selesai sebelum Anda melanjutkan.

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

1. Jalankan perintah berikut untuk membuat CloudFormation tumpukan:

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

   Output:

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

1. Lihat kemajuan dan pastikan tumpukan selesai sebelum Anda melanjutkan:

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

------

## Lihat dampak VPC BPA dengan Network Access Analyzer
<a name="vpc-bpa-naa"></a>

Di bagian ini, Anda akan menggunakan Network Access Analyzer untuk melihat sumber daya di akun Anda yang menggunakan gateway internet. Gunakan analisis ini untuk memahami dampak mengaktifkan VPC BPA di akun Anda dan memblokir lalu lintas.

Untuk informasi tentang ketersediaan regional Network Access Analyzer, lihat [Batasan](https://docs.aws.amazon.com/vpc/latest/network-access-analyzer/how-network-access-analyzer-works.html#analyzer-limitations) dalam Panduan *Penganalisis Akses Jaringan*.

------
#### [ Konsol Manajemen AWS ]

1. Buka konsol AWS Network Insights di[https://console.aws.amazon.com/networkinsights/](https://console.aws.amazon.com/networkinsights/).

1. Pilih **Network Access Analyzer**.

1. Pilih **Buat Lingkup Akses Jaringan**.

1. **Pilih **Menilai dampak VPC Blokir Akses Publik** dan pilih Berikutnya.**

1. Template sudah dikonfigurasi untuk menganalisis lalu lintas ke dan dari gateway internet di akun Anda. Anda dapat melihat ini di bawah **Sumber** dan **Tujuan**.

1. Pilih **Berikutnya**.

1. Pilih **Buat Lingkup Akses Jaringan**.

1. Pilih ruang lingkup yang baru saja Anda buat dan pilih **Analisis**.

1. Tunggu analisis selesai.

1. Lihat temuan analisis. Setiap baris di bawah **Temuan** menunjukkan jalur jaringan yang dapat diambil paket dalam jaringan ke atau dari gateway internet di akun Anda. Dalam hal ini, jika Anda mengaktifkan VPC BPA dan tidak ada subnet VPCs dan atau yang muncul dalam temuan ini dikonfigurasi sebagai pengecualian VPC BPA, lalu lintas ke subnet tersebut dan subnet akan dibatasi. VPCs 

1. Analisis setiap temuan untuk memahami dampak VPC BPA pada sumber daya di Anda. VPCs

Analisis dampak selesai.

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

1. Buat cakupan akses jaringan:

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

   Output:

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

1. Mulai analisis ruang lingkup:

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

   Output:

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

1. Dapatkan hasil analisis:

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

   Output:

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

   Hasilnya menunjukkan lalu lintas ke dan dari gateway internet di semua akun Anda. VPCs Hasilnya diatur sebagai “temuan”. “FindingId“:" AnalysisFinding -1" menunjukkan bahwa ini adalah temuan pertama dalam analisis. Perhatikan bahwa ada beberapa temuan dan masing-masing menunjukkan arus lalu lintas yang akan terpengaruh dengan menyalakan VPC BPA. Temuan pertama akan menunjukkan bahwa lalu lintas dimulai di gateway internet (” SequenceNumber “: 1), diteruskan ke NACL (” SequenceNumber “: 2) ke grup keamanan (” SequenceNumber “: 3) dan berakhir pada sebuah instance (” SequenceNumber “: 4).

1. Analisis temuan untuk memahami dampak VPC BPA pada sumber daya di Anda. VPCs

Analisis dampak selesai.

------

## Skenario 1 - Connect ke instance tanpa VPC BPA dihidupkan
<a name="vpc-bpa-scenario-1-connect-scen1"></a>

Pada bagian ini, instans EC2 di subnet publik A dan B dapat dijangkau dari internet melalui gateway internet, yang memungkinkan lalu lintas masuk dan keluar. Contoh C dan D di subnet pribadi dapat memulai lalu lintas keluar melalui gateway NAT atau gateway internet khusus egres, tetapi tidak dapat dijangkau secara langsung dari internet. Pengaturan ini menyediakan akses internet ke beberapa sumber daya sambil melindungi yang lain. Tujuan dari pengaturan ini adalah untuk menetapkan garis dasar dan memastikan bahwa, sebelum Anda mengaktifkan VPC BPA, semua instance dapat dicapai, Anda akan terhubung ke semua instance dan melakukan ping ke alamat IP publik. 

Diagram VPC tanpa VPC BPA dihidupkan:

![\[Diagram yang menunjukkan VPC tanpa VPC BPA diaktifkan.\]](http://docs.aws.amazon.com/id_id/vpc/latest/userguide/images/vpc-bpa-1.png)


### 1.1 Connect ke instance
<a name="vpc-bpa-scenario-1-connect-scen1-sub"></a>

Lengkapi bagian ini untuk terhubung ke instans Anda dengan VPC BPA dimatikan untuk memastikan Anda dapat terhubung tanpa masalah. Semua instance yang dibuat dengan CloudFormation untuk contoh ini memiliki nama seperti, “VPC BPA Instance A”.

------
#### [ Konsol Manajemen AWS ]

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Buka detail Instance A.

1. Hubungkan ke instans A menggunakan opsi **EC2 Instance Connect > Connect** **menggunakan opsi EC2 Instance Connect Endpoint**.

1. Pilih **Hubungkan**. Setelah Anda berhasil terhubung ke instans, ping www.amazon.com untuk memverifikasi Anda dapat mengirim permintaan keluar ke internet.

1. Gunakan metode yang sama yang Anda gunakan untuk terhubung ke instance A untuk terhubung ke instance B, C, dan D. Dari setiap instance, ping www.amazon.com untuk memverifikasi Anda dapat mengirim permintaan keluar ke internet.

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

1. Ping Instance A menggunakan IPv4 alamat publik untuk memeriksa lalu lintas masuk:

   ```
   ping 18.225.8.244
   ```

   Output:

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

   Perhatikan bahwa ping berhasil dan lalu lintas tidak diblokir.

1. Gunakan IPv4 alamat pribadi untuk menghubungkan dan memeriksa lalu lintas keluar:

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

   Output:

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

   Perhatikan bahwa ping berhasil dan lalu lintas tidak diblokir.

1. Ping Instance B menggunakan IPv4 alamat publik untuk memeriksa lalu lintas masuk:

   ```
   ping 3.18.106.198
   ```

   Output:

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

   Perhatikan bahwa ping berhasil dan lalu lintas tidak diblokir.

1. Gunakan IPv4 alamat pribadi untuk menghubungkan dan memeriksa lalu lintas keluar:

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

   Output:

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

   Perhatikan bahwa ping berhasil dan lalu lintas tidak diblokir.

1. Connect to Instance C. Karena tidak ada alamat IP publik untuk melakukan ping, gunakan EC2 Instance Connect untuk menghubungkan dan kemudian ping IP publik dari instance untuk memeriksa lalu lintas keluar:

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

   Output:

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

   Perhatikan bahwa ping berhasil dan lalu lintas tidak diblokir.

1. Connect to Instance D. Karena tidak ada alamat IP publik untuk melakukan ping, gunakan EC2 Instance Connect untuk menghubungkan dan kemudian ping IP publik dari instance untuk memeriksa lalu lintas keluar:

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

   Output:

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

   Perhatikan bahwa ping berhasil dan lalu lintas tidak diblokir.

------

## Skenario 2 - Nyalakan VPC BPA dalam mode Dua Arah
<a name="vpc-bpa-scenario-1-connect-scen2"></a>

Di bagian ini Anda akan mengaktifkan VPC BPA dan memblokir lalu lintas ke dan dari gateway internet di akun Anda.

Diagram yang menunjukkan mode dua arah VPC BPA diaktifkan:

![\[Diagram yang menunjukkan VPC dengan VPC BPA dua arah diaktifkan.\]](http://docs.aws.amazon.com/id_id/vpc/latest/userguide/images/vpc-bpa-2.png)


### 2.1 Aktifkan mode dua arah VPC BPA
<a name="vpc-bpa-scenario-1-connect-scen2-sub1"></a>

Lengkapi bagian ini untuk mengaktifkan VPC BPA. Mode dua arah VPC BPA memblokir semua lalu lintas ke dan dari gateway internet dan gateway internet khusus jalan keluar di Wilayah ini (kecuali untuk dikecualikan dan subnet). VPCs 

------
#### [ Konsol Manajemen AWS ]

1. Buka konsol VPC Amazon di. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)

1. Di panel navigasi kiri, pilih **Pengaturan**.

1. Pilih **Edit setelan akses publik**.

1. Pilih **Aktifkan blokir akses publik** dan **dua arah**, lalu pilih **Simpan** perubahan.

1. Tunggu **Status** berubah menjadi **On**. Mungkin perlu beberapa menit agar pengaturan VPC BPA berlaku dan status diperbarui.

VPC BPA sekarang aktif.

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

1. Gunakan perintah modify-vpc-block-public -access-options untuk mengaktifkan VPC BPA:

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

   Mungkin perlu beberapa menit agar pengaturan VPC BPA berlaku dan status diperbarui.

1. Lihat status VPC BPA:

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

------

### 2.2 Connect ke instance
<a name="vpc-bpa-scenario-1-connect-scen2-sub2"></a>

Lengkapi bagian ini untuk terhubung ke instans Anda.

------
#### [ Konsol Manajemen AWS ]

1. Ping IPv4 alamat publik Instance A dan Instance B seperti yang Anda lakukan di Skenario 1. Perhatikan bahwa lalu lintas diblokir.

1. Connect ke instans A menggunakan opsi **EC2 Instance Connect > Connect** **menggunakan EC2 Instance Connect Endpoint** seperti yang Anda lakukan di Skenario 1. Pastikan Anda menggunakan opsi endpoint.

1. Pilih **Hubungkan**. Setelah Anda berhasil terhubung ke instance, ping www.amazon.com. Perhatikan bahwa semua lalu lintas keluar diblokir.

1. Gunakan metode yang sama yang Anda gunakan untuk terhubung ke instance A untuk terhubung ke instance B, C, dan D, uji permintaan keluar ke internet. Perhatikan bahwa semua lalu lintas keluar diblokir.

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

1. Ping Instance A menggunakan IPv4 alamat publik untuk memeriksa lalu lintas masuk:

   ```
   ping 18.225.8.244
   ```

   Output:

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

   Perhatikan bahwa ping gagal dan lalu lintas diblokir.

1. Gunakan IPv4 alamat pribadi untuk menghubungkan dan memeriksa lalu lintas keluar:

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

   Output:

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

   Perhatikan bahwa ping gagal dan lalu lintas diblokir.

1. Ping Instance B menggunakan IPv4 alamat publik untuk memeriksa lalu lintas masuk:

   ```
   ping 3.18.106.198
   ```

   Output:

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

   Perhatikan bahwa ping gagal dan lalu lintas diblokir.

1. Gunakan IPv4 alamat pribadi untuk menghubungkan dan memeriksa lalu lintas keluar:

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

   Output:

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

   Perhatikan bahwa ping gagal dan lalu lintas diblokir.

1. Connect to Instance C. Karena tidak ada alamat IP publik untuk melakukan ping, gunakan EC2 Instance Connect untuk menghubungkan dan kemudian ping IP publik dari instance untuk memeriksa lalu lintas keluar:

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

   Output:

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

   Perhatikan bahwa ping gagal dan lalu lintas diblokir.

1. Connect to Instance D. Karena tidak ada alamat IP publik untuk melakukan ping, gunakan EC2 Instance Connect untuk menghubungkan dan kemudian ping IP publik dari instance untuk memeriksa lalu lintas keluar:

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

   Output:

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

   Perhatikan bahwa ping gagal dan lalu lintas diblokir.

------

### 2.3 Opsional: Verifikasi konektivitas diblokir dengan Reachability Analyzer
<a name="vpc-bpa-scenario-1-connect-scen2-sub3"></a>

[VPC Reachability Analyzer](https://docs.aws.amazon.com/vpc/latest/reachability/what-is-reachability-analyzer.html) dapat digunakan untuk memahami apakah jalur jaringan tertentu dapat dicapai mengingat konfigurasi jaringan Anda, termasuk pengaturan VPC BPA. Dalam contoh ini Anda akan menganalisis jalur jaringan yang sama yang telah dicoba sebelumnya untuk mengonfirmasi bahwa VPC BPA adalah alasan mengapa konektivitas gagal.

------
#### [ Konsol Manajemen AWS ]

1. Buka konsol Network Insights di[https://console.aws.amazon.com/networkinsights/home#ReachabilityAnalyzer](https://console.aws.amazon.com/networkinsights/home#ReachabilityAnalyzer).

1. Klik **Buat dan analisis jalur**.

1. **Untuk **Jenis Sumber**, pilih **Internet Gateways** dan pilih gateway internet yang diberi tag **VPC BPA Internet** Gateway dari dropdown Sumber.**

1. **Untuk **Jenis Tujuan**, pilih **Instans** dan pilih instance yang ditandai dengan **VPC BPA Instance A** dari dropdown Destination.**

1. Klik **Buat dan analisis jalur**.

1. Tunggu analisis selesai. Ini bisa memakan waktu beberapa menit.

1. Setelah selesai, Anda akan melihat bahwa **Status Reachability** **tidak dapat dijangkau** dan **detail Path** menunjukkan bahwa itulah `VPC_BLOCK_PUBLIC_ACCESS_ENABLED` penyebabnya.

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

1. Buat jalur jaringan menggunakan ID gateway internet yang diberi tag VPC BPA Internet Gateway dan ID instance yang ditandai VPC BPA Instance A:

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

1. Mulai analisis pada jalur jaringan:

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

1. Ambil hasil analisis:

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

1. Verifikasi bahwa itu `VPC_BLOCK_PUBLIC_ACCESS_ENABLED` adalah `ExplanationCode` untuk kurangnya jangkauan.

------

Perhatikan bahwa Anda juga bisa[Pantau dampak VPC BPA dengan log aliran](security-vpc-bpa-assess-impact-main.md#security-vpc-bpa-fl).

## Skenario 3 - Ubah VPC BPA ke mode Ingress-only
<a name="vpc-bpa-scenario-3"></a>

Di bagian ini Anda akan mengubah arah lalu lintas VPC BPA dan hanya mengizinkan lalu lintas yang menggunakan gateway NAT atau gateway internet khusus egres. Instans EC2 A dan B di subnet publik tidak akan dapat dijangkau dari internet karena BPA memblokir lalu lintas masuk melalui Internet Gateway. Contoh C dan D di subnet pribadi akan tetap dapat memulai lalu lintas keluar melalui gateway NAT dan gateway internet khusus egres, dan karena itu masih dapat menjangkau internet.

Diagram mode VPC BPA Ingress-only dihidupkan:

![\[Diagram yang menampilkan VPC dengan VPC BPA ingres-only diaktifkan.\]](http://docs.aws.amazon.com/id_id/vpc/latest/userguide/images/vpc-bpa-3.png)


### 3.1 Ubah mode ke ingress-only
<a name="vpc-bpa-scenario-1-connect-scen3-sub1"></a>

Lengkapi bagian ini untuk mengubah mode.

------
#### [ Konsol Manajemen AWS ]

1. Buka konsol VPC Amazon di. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)

1. Di panel navigasi kiri, pilih **Pengaturan**.

1. Di tab **Blokir akses publik**, pilih **Edit pengaturan akses publik**.

1. **Ubah pengaturan akses publik di konsol VPC dan ubah arah ke Ingress-only.**

1. Simpan perubahan dan tunggu statusnya diperbarui. Mungkin perlu beberapa menit agar pengaturan VPC BPA berlaku dan status diperbarui.

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

1. Ubah mode VPC BPA:

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

   Mungkin perlu beberapa menit agar pengaturan VPC BPA berlaku dan status diperbarui.

1. Lihat status VPC BPA:

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

------

### 3.2 Connect ke instance
<a name="vpc-bpa-scenario-1-connect-scen3-sub2"></a>

Lengkapi bagian ini untuk terhubung ke instance.

------
#### [ Konsol Manajemen AWS ]

1. Ping IPv4 alamat publik Instance A dan Instance B seperti yang Anda lakukan di Skenario 1. Perhatikan bahwa lalu lintas diblokir.

1. Connect ke Instance A dan B menggunakan instans EC2 connect seperti yang Anda lakukan di Skenario 1 dan ping www.amazon.com dari mereka. Perhatikan bahwa Anda tidak dapat melakukan ping ke situs publik di internet dari Instance A atau B dan lalu lintas diblokir.

1. Connect ke Instance C dan D menggunakan instans EC2 connect seperti yang Anda lakukan di Skenario 1 dan ping www.amazon.com dari mereka. Perhatikan bahwa Anda dapat melakukan ping ke situs publik di internet dari Instance C atau D dan lalu lintas diperbolehkan.

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

1. Ping Instance A menggunakan IPv4 alamat publik untuk memeriksa lalu lintas masuk:

   ```
   ping 18.225.8.244
   ```

   Output:

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

   Perhatikan bahwa ping gagal dan lalu lintas diblokir.

1. Gunakan IPv4 alamat pribadi untuk menghubungkan dan memeriksa lalu lintas keluar:

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

   Output:

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

   Perhatikan bahwa ping gagal dan lalu lintas diblokir.

1. Ping Instance B menggunakan IPv4 alamat publik untuk memeriksa lalu lintas masuk:

   ```
   ping 3.18.106.198
   ```

   Output:

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

   Perhatikan bahwa ping gagal dan lalu lintas diblokir.

1. Gunakan IPv4 alamat pribadi untuk menghubungkan dan memeriksa lalu lintas keluar:

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

   Output:

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

   Perhatikan bahwa ping gagal dan lalu lintas diblokir.

1. Connect to Instance C. Karena tidak ada alamat IP publik untuk melakukan ping, gunakan EC2 Instance Connect untuk menghubungkan dan kemudian ping IP publik dari instance untuk memeriksa lalu lintas keluar:

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

   Output:

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

   Perhatikan bahwa ping berhasil dan lalu lintas tidak diblokir.

1. Connect to Instance D. Karena tidak ada alamat IP publik untuk melakukan ping, gunakan EC2 Instance Connect untuk menghubungkan dan kemudian ping IP publik dari instance untuk memeriksa lalu lintas keluar:

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

   Output:

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

   Perhatikan bahwa ping berhasil dan lalu lintas tidak diblokir.

------

## Skenario 4 - Buat pengecualian
<a name="vpc-bpa-scenario-4"></a>

Di bagian ini, Anda akan membuat pengecualian. *VPC BPA kemudian hanya akan memblokir lalu lintas pada subnet tanpa pengecualian.* Pengecualian VPC BPA adalah mode yang dapat diterapkan ke satu VPC atau subnet yang mengecualikannya dari mode BPA VPC akun dan akan memungkinkan akses dua arah atau egress-only. Anda dapat membuat pengecualian BPA VPC untuk VPCs dan subnet bahkan ketika VPC BPA tidak diaktifkan pada akun untuk memastikan bahwa tidak ada gangguan lalu lintas ke pengecualian ketika VPC BPA dihidupkan. 

Dalam contoh ini, kita akan membuat pengecualian untuk Subnet A untuk menunjukkan bagaimana lalu lintas ke pengecualian dipengaruhi oleh VPC BPA.

Diagram mode VPC BPA Ingress-only diaktifkan dan Subnet Pengecualian dengan mode Dua Arah diaktifkan:

![\[Diagram yang menunjukkan VPC dengan VPC BPA dalam mode ingress-only dengan pengecualian.\]](http://docs.aws.amazon.com/id_id/vpc/latest/userguide/images/vpc-bpa-4.png)


### 4.1 Buat pengecualian untuk Subnet A
<a name="vpc-bpa-scenario-1-connect-scen4-sub1"></a>

Lengkapi bagian ini untuk membuat pengecualian. Pengecualian VPC BPA adalah mode yang dapat diterapkan ke satu VPC atau subnet yang mengecualikannya dari mode BPA VPC akun dan akan memungkinkan akses dua arah atau egress-only. Anda dapat membuat pengecualian BPA VPC untuk VPCs dan subnet bahkan ketika VPC BPA tidak diaktifkan pada akun untuk memastikan bahwa tidak ada gangguan lalu lintas ke pengecualian ketika VPC BPA dihidupkan.

------
#### [ Konsol Manajemen AWS ]

1. Buka konsol VPC Amazon di. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)

1. Di panel navigasi kiri, pilih **Pengaturan**.

1. Di tab **Blokir akses publik**, di bawah **Pengecualian**, pilih **Buat pengecualian**.

1. **Pilih **VPC BPA Public Subnet A**, pastikan bahwa allow direction **Dua Arah** dipilih, dan pilih Buat pengecualian.**

1. Tunggu **status Pengecualian** berubah menjadi **Aktif**. Anda mungkin perlu menyegarkan tabel pengecualian untuk melihat perubahannya.

Pengecualian telah dibuat.

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

1. Ubah arah izin pengecualian:

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

1. Diperlukan waktu untuk memperbarui status pengecualian. Untuk melihat status pengecualian:

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

------

### 4.2 Connect ke instance
<a name="vpc-bpa-scenario-1-connect-scen4-sub2"></a>

Lengkapi bagian ini untuk terhubung ke instance.

------
#### [ Konsol Manajemen AWS ]

1. Ping IPv4 alamat publik Instance A. Perhatikan bahwa lalu lintas diperbolehkan.

1. Ping IPv4 alamat publik Instance B. Perhatikan bahwa lalu lintas diblokir.

1. Connect to Instance A menggunakan koneksi instans EC2 seperti yang Anda lakukan di Skenario 1 dan ping www.amazon.com. Perhatikan bahwa Anda dapat melakukan ping ke situs publik di internet dari Instance A. Lalu lintas diperbolehkan.

1. Connect ke Instance B menggunakan EC2 instance connect seperti yang Anda lakukan di Skenario 1 dan ping www.amazon.com darinya. Perhatikan bahwa Anda tidak dapat melakukan ping ke situs publik di internet dari Instance B. Lalu lintas diblokir.

1. Connect ke Instance C dan D menggunakan instans EC2 connect seperti yang Anda lakukan di Skenario 1 dan ping www.amazon.com dari mereka. Perhatikan bahwa Anda dapat melakukan ping ke situs publik di internet dari Instance C atau D. Lalu lintas diperbolehkan.

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

1. Ping Instance A menggunakan IPv4 alamat publik untuk memeriksa lalu lintas masuk:

   ```
   ping 18.225.8.244
   ```

   Output:

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

   Perhatikan bahwa ping berhasil dan lalu lintas tidak diblokir.

1. Gunakan IPv4 alamat pribadi untuk menghubungkan dan memeriksa lalu lintas keluar:

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

   Output:

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

   Perhatikan bahwa ping berhasil dan lalu lintas tidak diblokir.

1. Ping Instance B menggunakan IPv4 alamat publik untuk memeriksa lalu lintas masuk:

   ```
   ping 3.18.106.198
   ```

   Output:

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

   Perhatikan bahwa ping gagal dan lalu lintas diblokir.

1. Gunakan IPv4 alamat pribadi untuk menghubungkan dan memeriksa lalu lintas keluar:

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

   Output:

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

   Perhatikan bahwa ping gagal dan lalu lintas diblokir.

1. Connect to Instance C. Karena tidak ada alamat IP publik untuk melakukan ping, gunakan EC2 Instance Connect untuk menghubungkan dan kemudian ping IP publik dari instance untuk memeriksa lalu lintas keluar:

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

   Output

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

   Perhatikan bahwa ping berhasil dan lalu lintas tidak diblokir.

1. Connect to Instance D. Karena tidak ada alamat IP publik untuk melakukan ping, gunakan EC2 Instance Connect untuk menghubungkan dan kemudian ping IP publik dari instance untuk memeriksa lalu lintas keluar:

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

   Output

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

   Perhatikan bahwa ping berhasil dan lalu lintas tidak diblokir.

------

### 4.3 Opsional: Verifikasi konektivitas dengan Reachability Analyzer
<a name="vpc-bpa-scenario-1-connect-scen4-sub3"></a>

Menggunakan jalur jaringan yang sama yang dibuat di Reachability Analyzer di Skenario 2, Anda sekarang dapat menjalankan analisis baru dan mengonfirmasi bahwa jalur tersebut dapat dijangkau sekarang setelah pengecualian telah dibuat untuk Public Subnet A.

*Untuk informasi tentang ketersediaan regional Reachability Analyzer, lihat [Pertimbangan](https://docs.aws.amazon.com/vpc/latest/reachability/how-reachability-analyzer-works.html#considerations) dalam Panduan Reachability Analyzer.*

------
#### [ Konsol Manajemen AWS ]

1. Dari Jalur Jaringan yang Anda buat sebelumnya di konsol Network Insights, klik **Re-run analysis**.

1. Tunggu analisis selesai. Mungkin perlu beberapa menit.

1. Konfirmasikan bahwa jalurnya sekarang Dapat **Dijangkau**.

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

1. Menggunakan ID jalur jaringan yang dibuat sebelumnya, mulai analisis baru:

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

1. Ambil hasil analisis:

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

1. Konfirmasikan bahwa kode `VPC_BLOCK_PUBLIC_ACCESS_ENABLED` penjelasan tidak lagi ada.

------

## Skenario 5 - Ubah mode pengecualian
<a name="vpc-bpa-scenario-5"></a>

Di bagian ini Anda akan mengubah arah lalu lintas izinkan pada pengecualian untuk melihat bagaimana pengaruhnya terhadap VPC BPA. 

**catatan**  
Dalam skenario ini, Anda akan mengubah mode pengecualian menjadi Egress-only. Perhatikan bahwa ketika Anda melakukan ini, pengecualian khusus Egress di Subnet A tidak mengizinkan lalu lintas keluar, yang berlawanan dengan intuisi karena Anda mengharapkannya mengizinkan lalu lintas keluar. Namun, karena BPA tingkat akun hanya masuk, pengecualian khusus Egress diabaikan, dan perutean Subnet A ke gateway internet dibatasi oleh VPC BPA, memblokir lalu lintas keluar. Untuk mengaktifkan lalu lintas keluar di Subnet A, Anda harus mengganti VPC BPA ke mode Bidirectional.

Diagram mode VPC BPA Ingress-only diaktifkan dan Subnet Pengecualian dengan mode egress-only diaktifkan:

![\[Diagram yang menunjukkan VPC dengan VPC BPA dalam mode masuk saja, memungkinkan lalu lintas keluar melalui gateway NAT.\]](http://docs.aws.amazon.com/id_id/vpc/latest/userguide/images/vpc-bpa-5.png)


### 5.1 Ubah pengecualian, izinkan arah ke egress-only
<a name="vpc-bpa-scenario-1-connect-scen5-sub1"></a>

Lengkapi bagian ini untuk mengubah arah izin pengecualian.

------
#### [ Konsol Manajemen AWS ]

1. Edit pengecualian yang Anda buat di Skenario 4 dan ubah arah allow menjadi **Egress-only**.

1. Pilih **Simpan perubahan**.

1. Tunggu status **Pengecualian** berubah menjadi **Aktif**. Mungkin perlu beberapa menit agar pengaturan VPC BPA berlaku dan status diperbarui. Anda mungkin perlu menyegarkan tabel pengecualian untuk melihat perubahannya.

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

1. Ubah arah izin pengecualian:

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

   Mungkin perlu beberapa menit agar pengaturan VPC BPA berlaku dan status diperbarui.

1. Diperlukan waktu untuk memperbarui status pengecualian. Untuk melihat status pengecualian:

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

------

### 5.2 Connect ke instance
<a name="vpc-bpa-scenario-1-connect-scen5-sub2"></a>

Lengkapi bagian ini untuk terhubung ke instance.

------
#### [ Konsol Manajemen AWS ]

1. Ping IPv4 alamat publik Instance A dan B. Perhatikan bahwa lalu lintas diblokir.

1. Connect ke Instance A dan B menggunakan koneksi instans EC2 seperti yang Anda lakukan di Skenario 1 dan ping www.amazon.com. Perhatikan bahwa Anda tidak dapat melakukan ping ke situs publik di internet dari Instance A atau B. Lalu lintas diblokir.

1. Connect ke Instance C dan D menggunakan instans EC2 connect seperti yang Anda lakukan di Skenario 1 dan ping www.amazon.com dari mereka. Perhatikan bahwa Anda dapat melakukan ping ke situs publik di internet dari Instance C atau D. Lalu lintas diperbolehkan.

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

1. Ping Instance A menggunakan IPv4 alamat publik untuk memeriksa lalu lintas masuk:

   ```
   ping 18.225.8.244
   ```

   Output:

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

   Perhatikan bahwa ping gagal dan lalu lintas diblokir.

1. Gunakan IPv4 alamat pribadi untuk menghubungkan dan memeriksa lalu lintas keluar:

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

   Output:

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

   Perhatikan bahwa ping gagal dan lalu lintas diblokir.

1. Ping Instance B menggunakan IPv4 alamat publik untuk memeriksa lalu lintas masuk:

   ```
   ping 3.18.106.198
   ```

   Output:

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

   Perhatikan bahwa ping gagal dan lalu lintas diblokir.

1. Gunakan IPv4 alamat pribadi untuk menghubungkan dan memeriksa lalu lintas keluar:

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

   Output:

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

   Perhatikan bahwa ping gagal dan lalu lintas diblokir.

1. Connect to Instance C. Karena tidak ada alamat IP publik untuk melakukan ping, gunakan EC2 Instance Connect untuk menghubungkan dan kemudian ping IP publik dari instance untuk memeriksa lalu lintas keluar:

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

   Output:

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

   Perhatikan bahwa ping berhasil dan lalu lintas tidak diblokir.

1. Connect to Instance D. Karena tidak ada alamat IP publik untuk melakukan ping, gunakan EC2 Instance Connect untuk menghubungkan dan kemudian ping IP publik dari instance untuk memeriksa lalu lintas keluar:

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

   Output:

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

   Perhatikan bahwa ping berhasil dan lalu lintas tidak diblokir.

------

## Skenario 6 - Memodifikasi mode VPC BPA
<a name="vpc-bpa-scenario-6"></a>

Di bagian ini Anda akan mengubah arah blok VPC BPA untuk melihat bagaimana pengaruhnya terhadap lalu lintas. Dalam skenario ini, VPC BPA diaktifkan dalam mode dua arah memblokir semua lalu lintas seperti di Skenario 1. Kecuali pengecualian memiliki akses ke gateway NAT atau gateway internet khusus egres, lalu lintas diblokir.

Diagram mode dua arah VPC BPA dihidupkan dan Subnet Pengecualian dengan mode egress-only diaktifkan:

![\[Diagram yang menunjukkan VPC dengan VPC BPA dalam mode masuk saja, memungkinkan lalu lintas keluar melalui gateway NAT\]](http://docs.aws.amazon.com/id_id/vpc/latest/userguide/images/vpc-bpa-6.png)


### 6.1 Ubah VPC BPA ke mode dua arah
<a name="vpc-bpa-scenario-1-connect-scen6-sub1"></a>

Lengkapi bagian ini untuk mengubah mode VPC BPA.

------
#### [ Konsol Manajemen AWS ]

1. Buka konsol VPC Amazon di. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)

1. Di panel navigasi kiri, pilih **Pengaturan**.

1. Pilih **Edit setelan akses publik**.

1. Ubah arah blok menjadi **dua arah** lalu pilih **Simpan** perubahan.

1. Tunggu **Status** berubah menjadi **On**. Mungkin perlu beberapa menit agar pengaturan VPC BPA berlaku dan status diperbarui.

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

1. Ubah arah blok VPC BPA:

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

   Mungkin perlu beberapa menit agar pengaturan VPC BPA berlaku dan status diperbarui.

1. Lihat status VPC BPA:

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

------

### 6.2 Connect ke instans
<a name="vpc-bpa-scenario-1-connect-scen6-sub2"></a>

Lengkapi bagian ini untuk terhubung ke instance.

------
#### [ Konsol Manajemen AWS ]

1. Ping IPv4 alamat publik Instance A dan B. Perhatikan bahwa lalu lintas diblokir.

1. Connect ke Instance A dan B menggunakan koneksi instans EC2 seperti yang Anda lakukan di Skenario 1 dan ping www.amazon.com. Perhatikan bahwa Anda tidak dapat melakukan ping ke situs publik di internet dari Instance A atau B. Lalu lintas diblokir.

1. Connect ke Instance C dan D menggunakan instans EC2 connect seperti yang Anda lakukan di Skenario 1 dan ping www.amazon.com dari mereka. Perhatikan bahwa Anda tidak dapat melakukan ping ke situs publik di internet dari Instance C atau D. Lalu lintas diblokir.

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

1. Ping Instance A menggunakan IPv4 alamat publik untuk memeriksa lalu lintas masuk:

   ```
   ping 18.225.8.244
   ```

   Output:

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

   Perhatikan bahwa ping gagal dan lalu lintas diblokir.

1. Gunakan IPv4 alamat pribadi untuk menghubungkan dan memeriksa lalu lintas keluar:

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

   Output:

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

   Perhatikan bahwa ping gagal dan lalu lintas diblokir.

1. Ping Instance A menggunakan IPv4 alamat publik untuk memeriksa lalu lintas masuk:

   ```
   ping 3.18.106.198
   ```

   Output:

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

   Perhatikan bahwa ping gagal dan lalu lintas diblokir.

1. Gunakan IPv4 alamat pribadi untuk menghubungkan dan memeriksa lalu lintas keluar:

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

   Output:

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

   Perhatikan bahwa ping gagal dan lalu lintas diblokir.

1. Connect to Instance C. Karena tidak ada alamat IP publik untuk melakukan ping, gunakan EC2 Instance Connect untuk menghubungkan dan kemudian ping IP publik dari instance untuk memeriksa lalu lintas keluar:

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

   Output:

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

   Perhatikan bahwa ping gagal dan lalu lintas diblokir.

1. Connect to Instance D. Karena tidak ada alamat IP publik untuk melakukan ping, gunakan EC2 Instance Connect untuk menghubungkan dan kemudian ping IP publik dari instance untuk memeriksa lalu lintas keluar:

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

   Output:

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

   Perhatikan bahwa ping gagal dan lalu lintas diblokir.

------

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

Di bagian ini Anda akan menghapus semua sumber daya yang telah Anda buat untuk contoh lanjutan ini. Penting untuk membersihkan sumber daya untuk menghindari biaya tambahan berlebih untuk sumber daya yang dibuat di akun Anda.

### Hapus CloudFormation sumber daya
<a name="vpc-bpa-scenario-1-connect-cleanup-sub1"></a>

Lengkapi bagian ini untuk menghapus sumber daya yang Anda buat dengan CloudFormation templat.

------
#### [ Konsol Manajemen AWS ]

1. Buka CloudFormation konsol di[https://console.aws.amazon.com/cloudformation/](https://console.aws.amazon.com/cloudformation/).

1. Pilih tumpukan VPC BPA.

1. Pilih **Hapus**.

1. Setelah Anda mulai menghapus tumpukan, lihat tab **Acara** untuk melihat kemajuan dan memastikan bahwa tumpukan dihapus. Anda mungkin harus [memaksa menghapus tumpukan](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-delete-stack.html) agar dapat dihapus sepenuhnya.

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

1. Hapus CloudFormation tumpukan. Anda mungkin harus [memaksa menghapus tumpukan](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-delete-stack.html) agar dapat dihapus sepenuhnya.

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

1. Lihat kemajuan dan pastikan tumpukan dihapus.

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

------

### Lacak penghapusan pengecualian menggunakan CloudTrail
<a name="vpc-bpa-scenario-1-connect-cleanup-sub2"></a>

Lengkapi bagian ini untuk melacak penghapusan pengecualian menggunakan. AWS CloudTrail CloudTrail entri muncul saat Anda menghapus pengecualian.

------
#### [ Konsol Manajemen AWS ]

Anda dapat melihat pengecualian yang dihapus dalam riwayat CloudTrail Acara dengan mencari **Jenis sumber daya** > **AWS: :EC2:: VPCBlock PublicAccessExclusion di konsol** di AWS CloudTrail . [https://console.aws.amazon.com/cloudtrailv2/](https://console.aws.amazon.com/cloudtrailv2/)

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

Anda dapat menggunakan perintah lookup-events untuk melihat peristiwa yang terkait dengan penghapusan pengecualian:

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

------

Contoh lanjutan selesai.