Infra Labo 02

This page describes the infra up dated for the Labo 02

Infra Diagram

Create VPC

  • Create VPC

[Request]
aws ec2 create-vpc --cidr-block 10.0.0.0/16 --tag-specifications ResourceType=vpc,Tags=[{Key=Name,Value=VPC-CLD-LAB02}] --region eu-south-1

[Response]
{
    "Vpc": {
        "CidrBlock": "10.0.0.0/16",
        "DhcpOptionsId": "dopt-1b957672",
        "State": "pending",
        "VpcId": "vpc-0f30ae553472a3709",
        "OwnerId": "709024702237",
        "InstanceTenancy": "default",
        "Ipv6CidrBlockAssociationSet": [],
        "CidrBlockAssociationSet": [
            {
                "AssociationId": "vpc-cidr-assoc-02f560a8ec6559a7f",
                "CidrBlock": "10.0.0.0/16",
                "CidrBlockState": {
                    "State": "associated"
                }
            }
        ],
        "IsDefault": false,
        "Tags": [
            {
                "Key": "Name",
                "Value": "VPC-CLD-LAB02"
            }
        ]
    }
}
  • Create Internet gateway (create and attach)

[Request]
aws ec2 create-internet-gateway --tag-specifications ResourceType=internet-gateway,Tags=[{Key=Name,Value=IGW-CLD-LABO02}] --region eu-south-1

[Response]
{
    "InternetGateway": {
        "Attachments": [],
        "InternetGatewayId": "igw-04a1a09f8c8014591",
        "OwnerId": "709024702237",
        "Tags": [
            {
                "Key": "Name",
                "Value": "IGW-CLD-LABO02"
            }
        ]
    }
}
aws ec2 attach-internet-gateway --internet-gateway-id igw-04a1a09f8c8014591 --vpc-id vpc-0f30ae553472a3709 --region eu-south-1

Create Subnets - DMZ

  • Public Subnet - DMZ

[Request]
aws ec2 create-subnet --vpc-id vpc-0f30ae553472a3709 --cidr-block 10.0.0.0/28 --tag-specifications ResourceType=subnet,Tags=[{Key=Name,Value=SUBNET-PUBLIC-CLD-LABO02}] --region eu-south-1

[Response]
{
    "Subnet": {
        "AvailabilityZone": "eu-south-1a",
        "AvailabilityZoneId": "eus1-az1",
        "AvailableIpAddressCount": 11,
        "CidrBlock": "10.0.0.0/28",
        [...]
        "PrivateDnsNameOptionsOnLaunch": {
        "HostnameType": "ip-name",
        "EnableResourceNameDnsARecord": false,
        "EnableResourceNameDnsAAAARecord": false
        }
    }
}
  • Main subnet

[Request]
aws ec2 create-subnet --vpc-id vpc-0f30ae553472a3709 --cidr-block 10.0.99.0/28 --tag-specifications ResourceType=subnet,Tags=[{Key=Name,Value=SUBNET-PRIVATE-CLDGRP99-MAIN}] --region eu-south-1

[Response]
//See above (same command))
  • Subnet specific for Elastic Capabilities

[Request]
aws ec2 create-subnet --vpc-id vpc-0f30ae553472a3709 --cidr-block 10.0.99.0/28 --tag-specifications ResourceType=subnet,Tags=[{Key=Name,Value=SUBNET-PRIVATE-CLDGRP99-ELASTIC}] --region eu-south-1

[Response]
//See above (same command)

Set routes and reachability

  • Deploy NAT instances

//TODO add security group + key pair

[Request]
aws ec2 run-instances --subnet-id subnet-0d0cbb5c80ca9ea69 --image-id ami-02a4de0b012aaf518 --instance-type t3.nano --key-name DMZ_NAT_INSTANCE --private-ip 10.0.0.10 --tag-specifications ResourceType=instance,Tags=[{Key=Name,Value=DMZ_NAT_SRV_LABO02}] --region eu-south-1
[Response]
{
    "Groups": [],
    "Instances": [
        {
            "AmiLaunchIndex": 0,
            "ImageId": "ami-02a4de0b012aaf518",
            "InstanceId": "i-048bfa8eef98db1f7",
            "InstanceType": "t3.nano",
            "KeyName": "DMZ_NAT_INSTANCE",
            [...]
            "PrivateDnsNameOptions": {
                "HostnameType": "ip-name",
                "EnableResourceNameDnsARecord": false,
                "EnableResourceNameDnsAAAARecord": false
            }
        }
    ],
    "OwnerId": "709024702237",
    "ReservationId": "r-0accd85a58ecdda1c"
}
  • Disable destination/source check

[Request]
aws ec2 modify-instance-attribute --instance-id=i-048bfa8eef98db1f7 --no-source-dest-check
[Response]
none
  • Get Ip address

[Request]
aws ec2 allocate-address --tag-specifications ResourceType=elastic-ip,Tags=[{Key=Name,Value=IP-DMZ-NAT-SRV-LABO02}] --region eu-south-1
[Response]
{
    "PublicIp": "15.160.73.0",
    "AllocationId": "eipalloc-08b0ccbaf918e7a73",
    "PublicIpv4Pool": "amazon",
    "NetworkBorderGroup": "eu-south-1",
    "Domain": "vpc"
}
  • Attach Ip address

[Request]
aws ec2 associate-address --instance-id=i-048bfa8eef98db1f7 --allocation-id eipalloc-08b0ccbaf918e7a73 --region eu-south-1
[Response]
{
    "AssociationId": "eipassoc-0328446976cf64a5f"
}
  • Create route tables

Public Route Table

[Request]
aws ec2 create-route-table --vpc-id vpc-0f30ae553472a3709 --tag-specifications ResourceType=route-table,Tags=[{Key=Name,Value=RTETBLE-PUBLIC-LABO02}] --region eu-south-1

[Response]
{
    "RouteTable": {
        "Associations": [],
        "PropagatingVgws": [],
        "RouteTableId": "rtb-038e3c989cc8b43cc",
        "Routes": [
            {
                "DestinationCidrBlock": "10.0.0.0/16",
                "GatewayId": "local",
                "Origin": "CreateRouteTable",
                "State": "active"
            }
        ],
        "Tags": [
            {
                "Key": "Name",
                "Value": "RTETBLE-PRIVATE-CLDGRP99-MAIN"
            }
        ],
        "VpcId": "vpc-0f30ae553472a3709",
        "OwnerId": "709024702237"
    }
}

Private Route Table

[Request]
aws ec2 create-route-table --vpc-id vpc-0f30ae553472a3709 --tag-specifications ResourceType=route-table,Tags=[{Key=Name,Value=RTETBLE-PRIVATE-CLDGRP99-MAIN}] --region eu-south-1
[Response]
See above (same command)
  • Update routes table

Public routes (to internet gateway)

[Request]
aws ec2 create-route --route-table-id rtb-0f2c2408347ba33fc --destination-cidr-block 0.0.0.0/0 --gateway-id igw-04a1a09f8c8014591 --region eu-south-1
[Response]
{
    "Return": true
}

Private routes (to nat instance)

[Request]
aws ec2 create-route --route-table-id rtb-038e3c989cc8b43cc--destination-cidr-block 0.0.0.0/0 --instance-id i-048bfa8eef98db1f7 --region eu-south-1
[Response]
{
    "Return": true
}
  • Associate Route Table to Subnet

Association for main subnet

[Request]
aws ec2 associate-route-table --route-table-id rtb-038e3c989cc8b43cc --subnet-id subnet-0692b681f0902eb2a --region eu-south-1
[Response]
{
    "AssociationId": "rtbassoc-0198ac6a66accb037",
    "AssociationState": {
        "State": "associated"
    }
}

Association for elastic subnet

[Request]
aws ec2 associate-route-table --route-table-id rtb-038e3c989cc8b43cc --subnet-id subnet-0692b681f0902eb2a --region eu-south-1
[Response]
{
    "AssociationId": "rtbassoc-0198ac6a66accb037",
    "AssociationState": {
        "State": "associated"
    }
}

Last updated