ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AWS 학습 환경 구성 — Phase 2: VPC 네트워크 구성
    IT기술/AWS 2026. 4. 2. 13:35

    AWS 학습 환경 구성 — Phase 2: VPC 네트워크 구성

    목표: 실습용 VPC를 만들고 Public/Private 영역을 분리하는 것.

    Step 1. VPC 생성

    VPC는 AWS 안에 만드는 나만의 격리된 네트워크야. 이 안에 모든 리소스가 들어가.

    study-vpc 10.0.0.0/16 — 65,536개 IP 사용 가능 아직 비어있음. 여기에 서브넷, 리소스들이 들어갈 예정.
    왜 "VPC only"? "VPC and more"는 서브넷·IGW까지 자동 생성해준다. 학습 목적이라 각각 직접 만들면서 이해하는 것이 목적이라 VPC only로 진행한다.

    콘솔 설정

    ① 콘솔 검색 → VPC 진입
    ② 좌측 → Your VPCsCreate VPC
    ③ Resources to create: VPC only
    ④ Name tag: study-vpc
    ⑤ IPv4 CIDR: 10.0.0.0/16
    Create VPC


    Step 2. 서브넷 4개 생성

    Public(인터넷 가능)과 Private(인터넷 차단) 두 종류로 나눠서 리소스를 격리한다.

    study-vpc 10.0.0.0/16 public-subnet-1 10.0.1.0/24 · 2a · ALB public-subnet-2 10.0.2.0/24 · 2c · ALB private-subnet-1 10.0.11.0/24 · 2a · ECS/RDS private-subnet-2 10.0.12.0/24 · 2c · ECS/RDS
    왜 AZ를 2개 쓰나? ALB는 최소 2개 AZ에 서브넷이 있어야 동작한다. 한 AZ가 장애나도 다른 AZ에서 계속 서비스되는 고가용성 구조가 된다.

    왜 Private은 11번대로 잡나? IP만 봐도 Public/Private 구분이 되게 하는 네이밍 컨벤션이다. 강제 규칙은 아니다.

    콘솔 설정

    ① 좌측 → SubnetsCreate subnet
    ② VPC: study-vpc 선택
    Add new subnet으로 아래 4개 한번에 입력
    Create subnet

    이름AZCIDR
    public-subnet-1ap-northeast-2a10.0.1.0/24
    public-subnet-2ap-northeast-2c10.0.2.0/24
    private-subnet-1ap-northeast-2a10.0.11.0/24
    private-subnet-2ap-northeast-2c10.0.12.0/24

    Step 3. Internet Gateway 생성 및 연결

    IGW는 VPC와 인터넷 사이의 유일한 문이다. 이게 없으면 Public Subnet도 인터넷이 안 된다.

    인터넷 study-igw Internet Gateway study-vpc public-subnet-1/2 인터넷 접근 가능 private-subnet-1/2 인터넷 접근 불가
    IGW는 VPC당 1개만 붙일 수 있다. 대역폭 병목이 없고 AWS가 알아서 수평 확장해주는 컴포넌트다.

    콘솔 설정

    ① 좌측 → Internet GatewaysCreate internet gateway
    ② Name: study-igwCreate
    ③ 생성 후 상태 Detached 확인
    ActionsAttach to VPC
    study-vpc 선택 → Attach internet gateway
    ⑥ 상태가 Attached로 바뀌면 완료


    Step 4. 라우팅 테이블 설정

    라우팅 테이블은 "이 목적지 트래픽은 저쪽으로 보내라"는 규칙표다. Public과 Private이 규칙이 달라야 해서 2개 만든다.

    인터넷 study-igw Internet Gateway study-vpc public-rt 0.0.0.0/0 → IGW public-1 public-2 private-rt 0.0.0.0/0 경로 없음 = 차단 private-1 private-2
    핵심: Private RT에 0.0.0.0/0 규칙이 없다는 게 보안의 핵심이다. 인터넷으로 나가는 경로 자체가 없으니 외부에서 Private Subnet 리소스에 직접 접근 불가.

    콘솔 설정 — Public RT

    ① 좌측 → Route TablesCreate route table
    ② Name: public-rt / VPC: study-vpcCreate
    public-rt 클릭 → Routes 탭 → Edit routesAdd route
    ④ Destination: 0.0.0.0/0 / Target: Internet Gateway → study-igw
    Save changes
    Subnet associations 탭 → Edit subnet associations
    public-subnet-1, public-subnet-2 체크 → Save

    콘솔 설정 — Private RT

    Create route table
    ② Name: private-rt / VPC: study-vpcCreate
    ③ Routes는 건드리지 않음 (로컬 라우팅만 유지)
    Subnet associationsprivate-subnet-1, private-subnet-2 체크 → Save


    Step 5. Security Group 2개 생성

    라우팅이 "어느 길로 갈지"를 정한다면, Security Group은 "누가 들어올 수 있는지"를 정하는 개별 방화벽이다.

    인터넷 (0.0.0.0/0) ALB (alb-sg 적용) Inbound: HTTP 80, HTTPS 443 · Source: 0.0.0.0/0 alb-sg에서만 허용 ECS 컨테이너 (ecs-sg 적용) Inbound: TCP 3000 · Source: alb-sg (IP 아닌 SG 지정) 직접 접근 차단 ✕
    SG 체이닝: ECS SG의 Source를 IP 대신 alb-sg로 지정하면 ALB IP가 바뀌어도 규칙 수정이 필요 없다. 실무 표준 패턴이다.

    콘솔 설정 — alb-sg

    ① 좌측 → Security GroupsCreate security group
    ② Name: alb-sg / VPC: study-vpc
    ③ Inbound rules → Add rule
    ④ Type: HTTP / Source: 0.0.0.0/0
    Add rule → Type: HTTPS / Source: 0.0.0.0/0
    Create security group

    콘솔 설정 — ecs-sg

    Create security group
    ② Name: ecs-sg / VPC: study-vpc
    ③ Inbound rules → Add rule
    ④ Type: Custom TCP / Port: 3000 / Source: alb-sg 검색해서 선택
    Create security group


    Phase 2 완료 체크리스트

    항목완료
    VPC study-vpc (10.0.0.0/16) 생성
    Public Subnet 2개 — 2a, 2c
    Private Subnet 2개 — 2a, 2c
    Internet Gateway 생성 + Attached
    Public RT — 0.0.0.0/0 → IGW + 서브넷 연결
    Private RT — IGW 경로 없음 + 서브넷 연결
    alb-sg — 80/443 전체 오픈
    ecs-sg — alb-sg에서만 3000 허용

    다음 단계

    Phase 3 — S3 + CloudFront (프론트엔드)
    S3 버킷에 정적 파일을 올리고 CloudFront로 서빙. CloudFront URL로 브라우저 접근 확인.


    이 시리즈는 AWS 풀스택 웹 호스팅 아키텍처를 콘솔로 직접 구성하며 학습하는 과정을 기록한 것입니다.
    추후 동일한 구성을 AWS CDK(IaC)로 재현하는 것을 목표로 합니다.
Designed by Tistory.