Amazon VPC

2023. 12. 23. 23:11·클라우드&인프라/AWS 구조와 서비스

가상 네트워크 Amazon VPC

Amazon Virtual Private Cloud(이후 VPC)는 AWS에서 생성할 수 있는 프라이빗 가상 네트워크 공간 입니다. 

하나의 VPC를 논리적으로 나눠 분리할 수 도 있고 여러 VPC를 연결할 수도 있습니다. 인터넷에 공개하는 퍼블릭 VPC나 VPN(Virtual Private Network-가상 사설 네

트워크) 등을 이용해 접속하는 프라이빗 VPC도 구축할 수 있습니다. 

 

  • CIDR 블록 지정
    • VPC를 만들 때 CIDR 블록(IP 주소 범위)를 지정하고 지정한 CIDR 블록 네트워크를 확보합니다.
    • AWS는 서브넷 마스크를 16 ~ 28까지 지정할 수 있습니다. 
  • VPC는 일반적으로 프라이빗 IP 주소를 사용
    • 퍼블릭 IP 범위에서 지정할 경우 외부 퍼블릭 IP와 겹치면 통신할 수 없으므로 기본적으로 프라이빗 IP 주소 공간을 CIDR 블록에 지정하는 것이 좋다.
    • 온프레머스 환겨이나 다른 VPC 등 외부 네트워크와의 접속을 해야 한다면 접속할 네트워크와 VPC의 cIDR 블록이 중복되지 않게 주의해야 합니다.
  • 호스트 주소는 여유를 갖도록 가능한 한 많이 확보해 두는 것이 좋습니다.
AWS가 관리용으로 사용하는 IP
만약 10.0.0.0/24를 VPC로 설정할 경우
- 10.0.0.0 : 네트워크 주소
- 10.0.0.1 : AWS에서 VPC 라우터용으로 예약 (Default Gateway)
- 10.0.0.2 : DNS 서버 주소, DNS 서버의 IP 주소는 기본 VPC 네트워크 범위에 2를 더한 주소 입니다. CIDR 블록                      이 여러 개인 VPC의 경우, DNS 서버의 IP 주소가 기본 CIDR에 위치하게 됩니다.
- 10.0.0.3 : AWS에서 앞으로 사용하려고 예약한 주소
- 10.0.0.255 : 네트워크 브로드캐스트 주소
즉, 5개의 IP를 AWS가 사용합니다.

 

VPC 및 서브넷 생성

위의 내용들을 입력하면 간단하게 VPC를 만들 수 있습니다. 

태넌시는 라이선스 및 보안 요구 사항으로 하드웨어를 독점하려는 경우에만 독점 옵션을 지정할 수 있습니다.

VPC만으로는 EC2와 같은 자원을 네트워크에 만들 수 없습니다. VPC 안에 더 작은 네트워크 단위인 서브넷을 만들어야 합니다.

 

라우팅 정보를 설정해 인터넷과 통신

라우팅 테이블

라우팅 테이블은 네트워크의 경로 정보입니다. AWS는 VPC에 라우팅 테이블을 생성하고 각 서브넷에 사용할 라우팅 테이블을 지정합니다. VPC를 통해 흐르는 패킷은 이 라우팅 테이블의 정보를 기반으로 경로를 결정합니다. VPC를 만들 때 기본적으로 하나의 라우팅 테이블이 만들어 집니다. 기본 상태에서는 VPC 내의 라우팅 정보만 있으므로 VPC 외부로는 통신할 수 없습니다. 즉, 처음 만들어진 VPC는 private VPC 입니다.

 외부와 통신하려는 경우에는 외부 라우팅 정보를 추가해야 합니다. 예를 들어 대상 0.0.0.0/0(모든 네트워크)에 대해 인터넷 게이트웨이로 라우팅 테이블에 등록하면 인터넷 게이트웨이를 통해 인터넷과 통신할 수 있습니다.

 

인터넷 게이트웨이

인터넷 게이트웨이는 서브넷 안에 있는 EC2와 같은 자원이 인터넷과 통신할 수 있게 하기 위한 기능입니다. 

인터넷 게이트웨이를 생성하고 서브넷의 라우팅 테이블에 설정하면 인터넷과 VPC가 서로 통신할 수 있게 됩니다.

  • 퍼블릭 서브넷 : 인터넷 게이트웨이로 가는 경로가 설정된 서브넷
  • 프라이빗 서브넷 : 인터넷 게이트웨이를 통해 인터넷과 통신할 수 없는 서브넷

EC2의 경우 퍼블릭 IP 또는 Elastic IP를 통해 소통할 수 있습니다.  

 

NAT 게이트웨이

프라이빗 서브넷에 있는 EC2와 같은 자원은 일반적으로 인터넷과 통신할 수 없습니다. 인터넷과 통신해야 하는 경우 NAT 게이트웨이를 사용하면 됩니다. 인터넷 게이트웨이와 달리 인터넷에서 VPC로 통신할 수 없는 단반향 통신이므로 AWS 외부와 더 안전하게 통신할 수 있습니다.

NAT는 Network Address Translation의 약자로 프라이빗 IP 주소를 퍼블릭 IP 주소로 변환하는 것을 의미합니다.

즉, NAT 게이트웨이는 프라이빗 서브넷의 IP 주소를 NAT 게이트웨이의 퍼블릭 IP로 변환해 인터넷과 통신할 수 있게 해줍니다.  

 

VPC 접근 제어 및 통신 로그 확인

VPC에는 서브넷 단위로 접근 제어를 설정할 수 있는 네트워크 접근 제어 목록(네트워크 ACL)이라는 기능이 있습니다.

보안 그룹과 조합해 접근 제어 설정이 가능합니다. 

  네트워크 ACL 보안 그룹
설정 단위 서브넷 단위로 설정 인스턴스(지원) 단위로 설정
허용/거부 설정 허용 및 거부 설정 가능 허용만 설정 가능
(허용하지 않은 모든 것은 거부)
상태 저장 여부 상태 비저장(Stateless).
단일 패킷만 확인하므로 정보를 저장하지 않음
상태 저장(Stateful)
패킷과 관련된 세션까지 확인하므로 정보를 저장
규칙 우선 순위 등록된 규칙의 번호순으로 트래픽 허용 및 거부 등록된 모든 규칙을 평가해 트리픽 허용
  • 네트워크 ACL이나 보안 그룹에서 허용되거나 거부된 통신 상황은 VPC 흐름 로그라고 하는 VPC 내의 IP 트래픽 상황을 로그로 저장할 수 있는 기능을 사용해 확인할 수 있습니다.
  • 로그는 AWS 모니터링 서비스인 CloudWatch Logs 또는 S3에 저장할 수 있습니다. 
  • EC2와 같은 VPC의 자원은 IP 주소마다 네트워크 인터페이스(ENI, Elastic Network Interface)를 가집니다.
  • 로그는 네트워크 인터페이스별로 출력되며 Elastic Load Balancing, RDS, RedShift와 같이 VPC에서 실행되는 모든 서비스 로그도 출력됩니다.

 

출처
https://product.kyobobook.co.kr/detail/S000200882352

 

AWS 구조와 서비스 | 우에노 후미아키 - 교보문고

AWS 구조와 서비스 | 풍부한 그림과 알기 쉬운 설명으로 핵심 AWS 서비스를 한눈에 이해한다!전 세계적으로 클라우드 서비스의 이용이 활발해지고 있어 클라우드의 활용은 이제 비즈니스에서 빼

product.kyobobook.co.kr

 

'클라우드&인프라 > AWS 구조와 서비스' 카테고리의 다른 글

ELB로 부하를 분산시켜 가용성 향상  (0) 2023.12.24
VPC에서 VPC, 외부 서비스, 온프레미스와의 연결  (1) 2023.12.24
네트워크 기초 지식  (1) 2023.12.23
가상 서버 데이터 저장을 위한 EBS  (0) 2023.12.18
Amazon S3에 대해 (2)  (0) 2023.12.11
'클라우드&인프라/AWS 구조와 서비스' 카테고리의 다른 글
  • ELB로 부하를 분산시켜 가용성 향상
  • VPC에서 VPC, 외부 서비스, 온프레미스와의 연결
  • 네트워크 기초 지식
  • 가상 서버 데이터 저장을 위한 EBS
인프라 감자
인프라 감자
  • 인프라 감자
    삶은 인프라
    인프라 감자
  • 전체
    오늘
    어제
    • 분류 전체보기 (243)
      • 클라우드&인프라 (28)
        • 인프라 공부 (4)
        • AWS 구조와 서비스 (18)
        • 클라우드 공부 (4)
        • Terraform (2)
      • AWS Cloud School (13)
        • project (5)
        • Linux, Network (6)
        • Docker (2)
      • BackEnd (162)
        • JAVA 공부 (15)
        • 알고리즘 공부 (71)
        • MySQL 문제 풀기 (8)
        • 스프링 핵심 원리 - 기본편 (18)
        • 스프링 MVC 1편 (4)
        • 자바 ORM 표준 JPA 프로그래밍 (21)
        • 실전! 스프링 부트와 JPA 활용1 (8)
        • 실전! 스프링 부트와 JPA 활용2 (5)
        • 스프링 데이터 JPA (8)
        • Querydsl (4)
      • 혼자하는 프로젝트 (32)
        • 배달의 민족 클론코딩 (7)
        • 나만의 프로젝트 (10)
        • 스프링 부트로 구현한 웹 (15)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Email
    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    상속
    정렬
    조합
    중첩 선언
    이것이 자바다
    백트래킹
    querydsl
    유니온 파인드
    네트워크 기본 용어
    자바
    완전탐색
    프로그래머스
    자동 배포
    디팬스 게임
    쿼드 압축
    스프링 핵심 원리-기본편
    linux
    다이나믹 프로그래밍
    dp
    VPN
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
인프라 감자
Amazon VPC
상단으로

티스토리툴바