[AWS] Public/Private 서브넷 구성

1. 구성

image

10.0.0.0/16 VPC10.0.0.0/24 Public 서브넷10.0.1.0/24 Private 서브넷을 구성한다.

Public 서브넷의 라우팅 테이블은 외부와 통신하기 위해 IGW에 연결하고

Private 서브넷의 라우팅 테이블은 NAT GW에 연결한다.

NAT GW는 가용영역 상에 존재한다.

2. Public 서브넷 구성

  1. VPC를 생성한다.

    image

  2. 서브넷을 생성한다.

    image

  3. IGW를 생성하고 VPC에 Attatch 한다.

    image

    image

  4. Public 라우팅 테이블을 생성하고 IGW로 경로설정 후 서브넷에 연결한다.

    image

    image-20210917005249654

    image

  5. Public 서브넷에 EC2 인스턴스를 생성한다.

    image

3. Private 서브넷 구성

  1. 서브넷을 생성한다. 이 때, 가용영역은 Public 서브넷과 다르게 설정한다.

    image

  2. Public 서브넷에 NAT GW를 생성한다. Public 서브넷에 생성해야 Private 서브넷이 NAT를 통해 외부와 통신할 수 있다.

    image

  3. Private 라우팅 테이블을 생성하고 NAT로 경로설정 후 서브넷에 연결한다.

    image

    image

    image

  4. Private 서브넷에 EC2를 생성한다. 퍼블릭 IP 할당은 비활성화하고, 사용자 데이터에 아래와 같은 쉘 스크립트가 실행되도록 한다.

    image

    #! /bin/bash 
    ( echo "qwe123" & echo "qwe123" ) | passwd --stdin root 
       
    sed -i "s/^PasswordAuthentication no/PasswordAuthentication yes/g" /etc/ssh/sshd_config 
       
    sed -i "s/^#PermitRootLogin yes/PermitRootLogin yes/g" /etc/ssh/sshd_config
       
    service sshd restart
    

Public 서브넷에 생성된 EC2는 공인IP가 없고 사설IP만 있기 때문에 외부에서 직접 접근할 수 없다. 대신 NAT GW를 사용해 외부와 통신한다.

CloudFormation Code

카테고리:

업데이트:

댓글남기기