Jay's Cookbook
Menu
  • Tags
  • Categories
  • Projects
Computer Science
OS
Network
Data Structure
Algorithm
Language
Code Architecture
Python
Javascript
Typescript
Java
Backend
Backend Theory
TypeORM
Node.js
NestJS
FastAPI
Frontend
HTML/CSS
React
Next.js
Data Engineering
DE Theory
MySQL
MongoDB
Elastic
Redis
Kafka
Spark
Airflow
AI
Basic
Pytorch
NLP
Computer Vision
Data Analytics
Statistics
Pandas
Matplotlib
DevOps
Git
Docker
Kubernetes
AWS
[AWS] 네트워크(1) VPC
devops
AWS

[AWS] 네트워크(1) VPC

Jay Kim
Jay Kim 13 Jan 2024
[AWS] 컴퓨팅(2) Lambda (준비중) [AWS] 저장소(1) S3

Table of Contents

  • VPC
  • VPC 구성요소
    • 서브넷
      • 서브넷의 종류
      • CIDR
    • 인터넷 게이트웨이
    • 라우트 테이블
    • 보안그룹
      • 보안그룹 규칙 사항
      • 소스 또는 대상에 올 수 있는 요소
    • NACL
    • NAT Gateway
    • Bastion Host

VPC

  • 논리적으로 격리된 가상 네트워크 공간을 만들어 AWS 리소스를 이용할 수 있도록 하는 서비스이다
  • 네트워킹 환경(IP주소 범위, 서브넷, 라우팅 테이블, 게이트웨이 등)을 완벽하게 제어할 수 있다
  • 보안성 높은 클라우드 환경을 구현할 수 있다
  • VPC는 하나의 리전에만 속할 수 있음(다른 리전으로 확장 불가능)

Youtube, AWS 강의실 참조

VPC 구성요소

서브넷

  • VPC의 하위 단위로 VPC에 할당된 IP블록을 더 작은 단위로 분할한 개념이다
  • CIDR 방식으로 서브넷의 IP 주소를 지정한다
  • 서브넷은 하나의 가용 영역 안에 있어야 한다

서브넷의 종류

  • 퍼블릿 서브넷
    • 인터넷 게이트웨이를 통해 외부 인터넷과 연결되어 있는 서브넷을 말한다
    • 안에 위치한 인스턴스에 퍼블릭 IP 부여할 수 있다
    • 보통 웹서버 처럼 외부 사용자에게 노출되어야 하는 인프라를 포함한다
  • 프라이빗 서브넷
    • 외부 인터넷과 연결되어 있지 않은 서브넷
    • 퍼블릭 IP 가 없다
    • 보통 데이터베이스처럼 외부 사용자에게 노출되면 안되는 인프라를 포함한다

CIDR

인터넷 게이트웨이

  • VPC가 외부의 인터넷과 통신할 수 있도록 하기 위해 만드는 통로와 같은 개념이다
  • 라우트 테이블에서 인터넷 게이트웨이의 IP 주소를 설정해줘야 한다

라우트 테이블

  • 들어오고 나가는 트래픽에 대해 해당 트래픽이 어디로 가야 하는지 알려주는 이정표 역할을 한다
  • 서브넷 간의 원활한 통신을 위해 라우팅 테이블을 이용하기도 한다
  • VPC마다 한 개의 라우트 테이블을 가질 수 있으며 VPC 생성시 자동으로 하나 생성된다
  • 여러 개의 VPC가 하나의 라우트 테이블을 공유할 수도 있다

보안그룹

  • 보안그룹은 리소스(ex. EC2 인스턴스)에 대한 인/아웃 바운드 트래픽 규칙을 가지고 트래픽을 제어하는 가상 방화벽과 같다
  • 리소스 단위로 보안그룹을 지정할 수 있다
  • 인바운드 트래픽은 소스(source)와 포트로 리소스의 허용 범위를 지정할 수 있다
  • 아웃바운드 트래픽은 대상(destination)과 포트로 외부(상대방)의 허용 범위를 지정할 수 있다
  • 아웃바운드 트래픽은 대상과 포트를 명시하면 해당 대상, 포트의 트래
  • Stateful 하다: 아웃바운드 주소를 기억해서, 아웃 바운드 규칙 없이도 아웃바운드 주소로 다시 트래픽을 전송한다
    • 예를 들어 사용자가 인스턴스에서 요청을 전송하면 해당 요청의 응답 트래픽은 인바운드 보안 그룹 규칙에 관계없이 인스턴스에 도달할 수 있다
    • 항상 요청을 받고, 그에 대해 응답하는 형태의 리소스라면 아웃 바운드 규칙이 없어도 된다
    • 먼저 요청을 보내거나, 또는 상대방의 특정 포트로만 트래픽을 전송하고 싶으면 아웃 바운드 규칙을 정한다
  • 여러 개의 보안그룹을 적용하면 OR 연산자로 동작한다

보안그룹 규칙 사항

  • 허용 규칙을 지정할 수 있지만 거부 규칙은 지정할 수 없습니다.
  • 보안 그룹을 처음 만들 때 인바운드 규칙이 없습니다. 따라서 보안 그룹에 인바운드 규칙을 추가하기 전에는 어떤 인바운드 트래픽도 허용되지 않습니다.
  • 보안 그룹을 처음 생성하면 리소스의 모든 아웃바운드 트래픽을 허용하는 아웃바운드 규칙이 있습니다. 규칙을 제거할 수 있으며 특정 아웃바운드 트래픽만 허용하는 아웃바운드 규칙을 추가할 수 있습니다. 보안 그룹에 아웃바운드 규칙이 없는 경우 어떤 아웃바운드 트래픽도 허용되지 않습니다.

소스 또는 대상에 올 수 있는 요소

  • 단일 IPv4 주소: /32 접두사 길이를 사용해야 합니다. ex. 203.0.113.1/32
  • 단일 IPv6 주소: /128 접두사 길이를 사용해야 합니다. ex. 2001:db8:1234:1a00::123/128
  • CIDR 블록 표기법으로 표시된 IPv4 주소의 범위: ex. 203.0.113.0/24
  • CIDR 블록 표기법으로 표시된 IPv6 주소의 범위: ex. 2001:db8:1234:1a00::/64
  • 접두사 목록의 ID: ex. pl-1234abc1234abc123
  • 보안 그룹의 ID: ex. sg-1234567890abcdef0

NACL

  • Network Control Access List
  • 보안그룹과 비슷하게 방화벽 역할을 한다
  • NACL은 서브넷 단위로 설정할 수 있다
  • NACL은 특정 IP 주소를 deny 할 수 있다
  • Stateless 하다: 상대방의 소스, 포트번호를 기억하지 못하기 때문에, 아웃 바운드 규칙을 작성해야 한다
  • 규칙이 리스트 형태로 되어있는데, 각 규칙마다 규칙번호를 가지며, 낮은 번호의 규칙부터 우선 평가된다
  • 우선 적용받는 규칙에서 Allow 된 경우, 이 후의 규칙을 평가하지 않는다

Youtube, AWS 강의실 참조

NAT Gateway

  • Network Address Translation Gateway
  • 프라이빗 서브넷 내의 인스턴스를 인터넷과 연결하기 위한 통로 역할을 한다
  • 프라이빗 IP 주소를 노출하지 않고, 인터넷과 통신할 수 있다
  • 프라이빗 서브넷의 인스턴스가 VPC 외부 서비스와의 연결을 시작할 수 있지만, 외부 서비스는 연결을 먼저 시작할 수 없다
  • (프라이빗 서브넷의 인스턴스는 퍼블릭 NAT 게이트웨이를 통해 인터넷에 연결할 수 있지만 인터넷에서 원치 않는 인바운드 연결을 수신할 수 없습니다. 퍼블릭 서브넷에서 퍼블릭 NAT 게이트웨이를 생성하고 생성 시 탄력적 IP 주소를 NAT 게이트웨이와 연결해야 합니다. 트래픽을 NAT 게이트웨이에서 VPC용 인터넷 게이트웨이로 라우팅합니다)
  • 퍼블릭 서브넷 내에 위치해야 한다

Bastion Host

  • NAT 게이트웨이와 반대로, 외부 서비스가 프라이빗 서브넷 안의 인스턴스와 먼저 연결을 시작하고 싶은 경우 사용한다
  • (사용자가 프라이빗 서브넷 안의 인스턴스에 접속하고자 할 때 사용한다)
  • 퍼블릭 서브넷 안의 EC2 인스턴스를 Bastion Host로 사용한다
[AWS] 컴퓨팅(2) Lambda (준비중) [AWS] 저장소(1) S3

You may also like

See all AWS
06 Feb 2024 [AWS] 컨테이너(1) ECS
devops
AWS

[AWS] 컨테이너(1) ECS

22 Jan 2024 [AWS] 보안(1) IAM
devops
AWS

[AWS] 보안(1) IAM

19 Jan 2024 [AWS] 데이터베이스(1) RDS (준비중)
devops
AWS

[AWS] 데이터베이스(1) RDS (준비중)

Jay Kim

Jay Kim

Web development, data engineering for human for the Earth. I share posts, free resources and inspiration.

Rest
Lifestyle
Hobby
Hobby
Hobby
Hobby
2025 © Jay's Cookbook. Crafted & Designed by Artem Sheludko.