Cloud Infra Architecture (AWS)/AWS SAA-C03

AWS Custom VPC 생성하기

seongduck 2023. 1. 16. 09:18
  1. Cloud 계정내에 VPC를 생성한다. (자동적으로 NACL, Routing table이 생성됨)
  2. 가용영역에 Public Subnet과 Private Subnet을 만들어준다.
  3. 라우팅 테이블을 통해 서로 연결한다.
  4. 인터넷 게이트를 만들고 Public Subnet에서만 통신되도록 연결시킨다.
  5. Public Subnet과 Private Subnet에 각각 EC2를 생성하고
  6. EC2 인스턴스 앞에는 보안그룹을 생성해서 연결해준다.


1) VPC 생성하기


  • VPC를 10.1.0.0/16의 CIDR을 할당해줄 것이다.
  • VPC는 AWS 계정의 가상 네트워크이다.
  • IPv4 주소 범위를 CIDR 블록 형태로 지정한다.
  • CIDR 블록 사이즈는 /16 ~ /24 넷마스크
  • VPC 생성 후 CIDR 범위 수정은 불가하나 새 CIDR 블록은 추가가 가능하다.
  • IPv6 주소 범위지정은 옵션이다.

실습

  1. VPC 서비스에 들어간다. (왼쪽의 VPC 클릭)
  2. VPC 생성을 누른후 이름을 적어준다.
  3. CIDR블록을 저장하는데 10.1.0.0/16으로 IP주소를 할당해준다.
  4. VPC 생성을 한다!
  5. 여기에 연결되어 있는 라우팅 테이블 ID를 customVPC로 설정한다.
  6. 네트워크 ACL 또한 이름을 custom-VPC를 생성한다.

완성!!

2) 가용영역에 Subnet 생성


  • 하나의 가용영역에 Public Subnet
  • 하나의 가용영역은 Private Subnet
  • 여기서 말하는 Subnet은 VPC의 IP 주소 범위이다.
  • CIDR 블록 형태로 IP 주소 범위를 지정하는데 사이즈는 /16 ~ /28 넷마스크 사용 가능하다.
  • 서브넷 생성시 가용영역(AZ)를 지정하며 1개의 가용영역만 지정이 가능하다.
  • 서브넷 범위는 VPC의 CIDR 블록 주소 내에서 생성 가능하다.
  • 서브넷 끼리의 IP주소 중첩(Overlapping)하여 생성 불가하다.
  • 생성된 서브넷의 IPv4 CIDR 블록 주소는 추가하거나 수정이 안되며 삭제후 새로 생성만 가능하다.
  • 서브넷 생성 후 AWS는 네트워킹 목적으로 처음 4개의 IP 주소와 마지막 1개 주소를 예약한다.
    • 10.1.100.0/24 서브넷을 생성했다하면
      • 1) 10.0.1.0 - Network ID(Netmask)
      • 2) 10.0.1.1 - Gateway
      • 3) 10.0.1.2 - DNS
      • 4) 10.0.1.3 - Reserved
      • 5) 10.0.1.255 - Broadcast

실습


  1. 서브넷을 클릭후 서브넷 생성을 누른다.
  2. VPC ID를 Custom으로 선택하고 이름을 public-subnet을 적는다.
  3. 가용영역은 2a로 선정하고
  4. 10.1.100.0/25로 CIDR 블록을 설정한다.
  5. [새 서브넷 추가]를 눌러 하나를 더 만들어주자

  1. 이름은 Private-subent으로 하고
  2. 가용영역은 2b로 선정하고
  3. 10.1.200.0/24로 설정하되 CIDR은 전체 VPC 대역에 포함하되, 서로 겹치면 안된다.
  4. 그리고 서브넷 생성을 진행한다!

완성!!

3) Routing Table 지정하기


  • Custom VPC를 만들때 이미 하나가 생성완료됐다.
  • 라우팅테이블은 2개를 만들것이다. (라우터역할) (통신을 위한 도구)
  • 라우팅테이블의 IP 주소도 할당해보자
  • 라우팅 규칙을 통해 네트워크 트래픽이 전송되는 위치를 결정할 수 있다.
  • 트래픽을 이동할 대상 IP 주소 => 대상 트래픽을 전송할 때 사용할 게이트웨이 등등 연결

실습


  1. 라우팅 테이블에 들어가 이미 만들어져있는 custmoVPC는 - Private로 이름을 바꿔주고 라우팅 생성을 하나 더하자
  2. 이름은 customVPC - Public으로 해주고 VPC연결후 생성해준다.
  3. 그리고 Public 라우팅 테이블을 클릭후에 아래 [서브넷 연결]에서 [서브넷 연결 편집을 클릭한다]
  4. public 부분을 연결저장해준다. (Private도 마찬가지로 해준다.)
  5. 이렇게하면 public은 vpc의 모든 리소스와 통신이 된다. (private 도)

완성!!

4) Internet Gateway 생성하기


  • 이는 Internet과 통신이 가능하다. 단 Public Subnet 부분만 연결되게 할것이므로 라우팅 테이블에 Internet GateWay를 타겟으로 하는 라우팅 테이블을 만들어 주자.
  • VPC IP가 아닌 IGW IP로 접속이 가능해진다.
  • IG는 VPC와 인터넷 간의 통신을 할 수 있도록 해준다.
  • 퍼블릭 IPv4가 할당된 인스턴스에 대해 1:1 NAT (네트워크 주소 변환)을 수행
  • 라우팅 테이블의 대상(Target)역할을 한다.
  • 트래픽을 인터넷에 전달하기 위해서는 서브넷의 라우팅 테이블에 인터넷 게이트웨이를 대상(Target)으로 추가해야 한다.
  • VPC에서 인터넷 외부로만 트래픽을 허용하는 송신전용(egress-only) 인터넷 게이트웨이 구성 가능
    • 퍼블릭 서브넷 : 서브넷이 인터넷 게이트웨이로 바로 연결(라우팅)되는 경우
    • 프라이빗 서브넷 : 서브넷이 인터넷 게이트웨이로 바로 연결(라우팅)되지 않음

실습


  1. 왼쪽에 인터넷 게이트웨이를 클릭해서 생성을 한다.
  2. 이름은 customVPC-IG로 설정한 후 생성한다.
  3. 이를 클릭한후 작업을 눌러 연결해준다. (VPC와)
  4. 이를 사용하려면 라우팅해줘야한다.
  5. 왼쪽의 라우팅 테이블을 클릭하고 public 라우팅테이블을 클릭한다.
  6. 아래 [라우팅]을 클릭하고 라우팅 편집을 누른다.
  7. 라우팅 추가를 하는데 ip는 0.0.0.0/0으로 설정한다.(모두 접속가능), 대상은 인터넷 게이트웨이를 클릭
  8. 연결완료!!

customVPC - Public 부분에만 이렇게 있는것을 확인할 수 있다.

5) EC2 생성하기


  • 각 서브넷에 ec2를 생성하고 Security Group을 만들어 연결해주겠다.

실습


  1. ec2 서비스에 들어가 인스턴스 시작을 눌러 만든다.
  2. 이름을 ec2_public으로 만들어주고 Windows 2016 base로 설정해준다.
  3. 네트워크 설정에서 편집을 누른다.
  4. VPC부분을 customVPC, 서브넷은 Public-subnet으로 설정한다. (여기에 있는 IP 주소를 할당 받을 것)
  5. 퍼블릭 IP 자동할당을 활성화한다.
  6. 보안 그룹은 새롭게 생성하자 (all_access)
  7. 보안그룹 규칙은 [제거]한 후 규칙추가를 눌러 모든 TCP를 Anywhere로 한다. (모두 허용)
  8. 인스턴스를 시작!!


인스턴스를 하나 더 만들기전에 윈도우는 가용영역 2b에서 지원하지 않으므로 다시 만들자.

  1. 다시 서브넷 생성을 누르고 VPC 선택 한다.
  2. 기존에 있던 private-subnet은 삭제한다.
  3. 서브넷 이름은 Private-subnet으로 하고 가용영역은 2c로 설정한다.
  4. CIDR은 10.1.200.0/24로하고 생성한다.

  1. 그 다음 [라우팅 테이블]에 들어가 customVPC - Private를 눌른다.
  2. 아래에 [서브넷 연결]을 클릭후에 서브넷 연결 편집을 누른다.
  3. 여기서 private-subnet을 연결 저장을 해준다.

  1. 이제 다시 하나 더 만들자. 이름은 ec2_private로 한다.
  2. 이미지는 이전과 동일하게 한다.
  3. 네트워크 설정도 또한 위와 마찬가지로 VPC로하고 서브넷은 Private로 한다.
  4. 퍼블릭 IP는 필요없으므로 비활성화로 둔다.
  5. 보안그룹은 기존 보안그룹을 선택하고 all_access로 설정해주고 만든다!!

완성!!!

이렇게 최종적으로 완성했다.