[AWS 3일차] VPC (Virtual Private Cloud)

Jk Lim·2023년 6월 21일
0

MLOps 부트캠프

목록 보기
29/34
post-thumbnail

오늘은 AWS에서 제공하는 가상네트워크 환경인 VPC(Virtual Private Cloud)의

  1. 서브넷, 라우팅 테이블
  2. 엔드포인트
  3. 보안그룹
  4. EC2 인스턴스 생성
  5. 제거하기
  6. 수동으로 구성하기에 대해 학습하였다.

  • VPC는 사용하려는 EC2와 동일한 리전에 있어야 한다.
  • VPC만 생성할 수도 있고, 서브넷과 라우팅 테이블 등을 같이 생성할 수도 있다.
  • 원래는 다른 서브넷에서는 다른 네트워크 망으로 구분되어 통신이 안되지만
  • 하나의 VPC안에서는 다른 서브넷을 가지고 있어도 동일한 네트워크 망에 있다고 인식하여 통신이 가능하다.
  • 따라서 private 서브넷에 DB 서버를 둔다고 하면 외부로의 통신은 NAT 게이트웨이를 통해서만 가능하고, 외부에서는 접속이 불가능하다. 하지만 public 서브넷을 사용하는 웹 서버는 DB 서버와 다른 서브넷을 사용하더라도 동일한 VPC 환경에 있어서 DB 서버와 통신이 가능하다.

1. 서브넷, 라우팅 테이블

  • public 서브넷이던, private 서브넷이던 CIDR은 마음대로 지정할 수 있다. (동일한 네트워크 대역에서)
  • public과 private의 차이는 라우팅 테이블에 있다.
  • public의 경우 IGW(인터넷 게이트웨이)와 라우팅 테이블로 연결되어 외부와 직접 통신이 가능하다.
  • private의 경우 NAT와 라우팅 테이블로 연결되어있고 이를 통해서 외부와 통신이 가능하게 된다. NAT는 탄력적 IP 1개를 할당받아야 한다.
  • AWS VPC의 라우팅 테이블에서 1개의 private 라우팅 테이블은 1개의 서브넷과 연결되어서 라우팅 경로를 제공한다.
  • public은 한개의 라우팅 테이블을 공용으로 사용한다.
  • public 라우팅 테이블 : IGW(0.0.0.0/0) 통로와, local 통로. 두가지가 존재
  • private 라우팅 테이블 : 엔드포인트 통로, local 통로, NAT(0.0.0.0/0) 통로. 총 세가지가 존재

2. 엔드포인트

  • private 서브넷에 속한 인스턴스가 S3, DynamoDB 등에 접속 할 수 있게 하는 통로 역할
  • 보안의 목적
  • private 서브넷의 경우 엔드포인트에 해당하는 라우팅 테이블 정보가 추가로 생성된다. (pl-78a54011)

3. 보안그룹 생성

  • VPC에 속해 있는 보안그룹을 생성하고 VPC 그룹 내 인스턴스 들에 적용할 수 있다.

4. VPC에 EC2 인스턴스 생성

  • 네트워크 설정 > 생성한 VPC로 설정
  • public, private에 따른 서브넷 선택
  • public 서브넷의 경우 퍼블릭 IP 자동 할당 활성화 (private는 비활성)
  • Public 서브넷의 경우 퍼블릭 IPv4 주소 자동 할당 활성화에 체크 해주면, 해당 서브넷에 생성되는 EC2 인스턴스에 기본으로 퍼블릭 IP 자동 할당이 활성화 된다.
  • 퍼블릭 서브넷을 사용하는 인스턴스들은 퍼블릭 IPv4주소가 각각 할당이 된다.

5. VPC 제거하기

  1. 인스턴스 종료
  2. NAT게이트웨이 삭제 (해당 장치를 사용하는 private 인스턴스가 하나라도 있으면 삭제 안됨. 시간 좀 걸림)
  3. 인터넷 게이트웨이 : VPC에서 분리 후 삭제
  4. 해당 단계에서 라우팅 테이블을 보면 삭제된 장치에 대해 블랙홀이 생겨있다.(IGW를 삭제해서 해당하는 인터페이스를 찾지 못함)
  5. 서브넷 삭제
  6. 탄력적 IP 주소 릴리스 (NAT 게이트웨이에서 사용)
  7. 라우팅 테이블 삭제
  8. VPC 삭제
  • (참고) 통신을 하고 있으면 서브넷이 종료가 안되고 제거가 진행이 안된다.

    6. VPC 수동으로 구성하기

  • 전체 프로세스 : VPC 생성→서브넷 생성→IGW 생성 및 VPC와 연결→NAT 게이트웨이 생성→라우팅테이블 생성 및 서브넷에 연결 (+ 필요에 따라 엔드포인트를 생성해서 연결 할 수 있음)

  1. VPC만 생성
  2. 서브넷 생성 : 가용영역, 및 CIDR 블록 설정, public ipv4 자동할당 설정
  3. IGW 생성 (public 서브넷을 위한) 및 VPC와 연결
  4. NAT 게이트 웨이 생성 (private 서브넷을 위한) - 탄력적 IP 할당이 필요하다.
  5. 각각의 서브넷에 해당하는 라우팅 테이블 생성 및 연결

0개의 댓글