[AWS] VPC

김아름·2022년 3월 1일
0

AWS

목록 보기
12/25

VPC

  • Virtual Private Cloud
  • AWS 클라우드에서 논리적으로 격리된 공간을 프로비저닝 하여 고객이 정의하는 가상네트워크에서 AWS를 시작할 수 있다.
  • IP주소 범위 선택, 서브넷 생성, 라우팅 테이블 및 네트워크 게이트웨이 구성 등 가상 네트워킹 환경을 완벽하게 제어할 수 있다.
  • VPC에서 IPv4와 IPv6를 모두 사용하여 리소스와 애플리케이션에 안전하고 쉽게 액세스 할 수 있다.
  • 일종의 가상 네트워크 센터
  • EC2는 컴퓨터를 임대하는 서비스라면, VPC는 컴퓨터를 사용하기 위한 네트워크를 구성하는 서비스라고 볼 수 있다.

VPC를 사용해서 할 수 있는 것들

  • EC2 실행 가능
  • 서브넷 구성 가능
  • 보안 설정(IP block, 인터넷에 노출되지 않은 EC2구성 등) 가능

VPC Peering

  • VPC 간의 연결
  • Transitive Peering 불가능 : 한다리 건너 연결되어 있다고 해서 Peering된 것이 아님

VPC Flow Log

  • VPC의 로그를 CloudWatch에 저장 가능
  • IP 대역 지정 가능
  • Region에 하나: 다른 Region으로 확장 불가능

VPC 종류

1. Default VPC

  • 계정 생성 시 자동으로 셋업 되어있음(모든 리전에)
  • 모든 서브넷의 인터넷 접근이 가능
  • EC2가 Public IP와 Private IP를 모두 가지고 있음
  • 삭제 시 복구 불가
  • 여태까지 EC2만들어서 웹으로 띄우고 한것은 Default VPC로 한것

2. Custom VPC

  • 새로 만들어야 함
  • Default VPC의 특성을 가지고 있지 않음

VPC 구성요소

1. Availability Zone(AZ)

  • 물리적으로 분리되어 있는 인프라가 모여있는 데이터센터
  • 고가용성을 위해서 항상 일정거리 이상 떨어져있음
  • 하나의 리젼은 두개 이상의 AZ로 이루어져있음
  • 각 계정의 AZ는 다른 계정의 AZ와 다른 아이디를 부여받음
    ex) 계정1의 AZ-A는 계정2의 AZ-A와 다른 곳에 있음

2. Subnet

  • VPC의 하위단위
  • 하나의 AZ에만 생성 가능: 다른 AZ로 확장 불가
    cf) 하나의 AZ에는 여러개의 Subnet 생성 가능
  • Private Subnet: 인터넷에 접근이 불가능한 Subnet
    ex) 데이터베이스, 로직을 처리하는 곳 등 보안을 위해서
  • Public Subnet: 인터넷에 접근 가능한 Subnet
    ex) 웹서버, 애플리케이션 서버는 유저에게 서비스 제공하기 위해서
  • CIDR block range 설정가능
    : IP주소를 분배하는 방법

3. Internet Gateway(IGW)

  • 인터넷으로 나가는 통로
  • 고가용성이 확보되어 있음
  • IGW로 연결되어 있지 않은 서브넷 == Private Subnet
  • Route Table에서 연결해줘야 함

4. Network Access Control List(NACL)/Security Group

  • Stateless
    cf) SG: stateful
  • 기본적으로 VPC 생성시 만들어줌
  • Deny 가능

5. Route Table

  • 10.0.0.0/16 --> CIDR block (IP그룹?)
  • 트래픽이 어디로 가야할지 알려주는 이정표
  • 기본적으로 VPC 생성시 만들어줌

6. Network Address Translation Instance/NAT Gateway

  • Private Subnet과 Public Subnet을 나누기 위해서 특별하게 고안된 서비스
  • Private Instance가 외부의 인터넷과 통신하기 위한 통로
  • 외부와의 통신이 불가능한 Private Subnet의 데이터베이스에서 DB패치를 하고싶다면..? Private Instance가 Public Subnet 안에 있는 NAT Gateway에게 부탁해서 Public Instance가 대신 통신해서 전달해준다.
NAT InstanceNAT Gateway
단일 인스턴스AWS에서 제공하는 서비스
= EC2= 서비스
꺼지면 죽음꺼져도 죽지않음(고가용성 보장)
보안그룹 영향 받음보안그룹 영향 받지않음
예전 스타일요즘 스타일
Source/Destination을 해제해야 함
Bastion을 겸할 수OBastion을 겸할 수X
Public Subnet에 있어야 함Public Subnet에 있어야 함

7. Bastion Host

  • Private Subnet과 Public Subnet을 나누기 위해서 특별하게 고안된 서비스
  • 외부에서 Private Instance에 접근하기 위한 Instance
  • Public Subnet에 위치해야 함

8. VPC Endpoint

  • VPC 엔드포인트를 통해 인터넷 게이트웨이, NAT 디바이스, VPN 연결 또는 AWS Direct Connect 연결을 필요로 하지 않고 AWS PrivateLink 구동 지원 AWS 서비스 및 VPC 엔드포인트 서비스에 비공개로 연결할 수 있다.
  • VPC의 인스턴스는 서비스의 리소스와 통신하는데 퍼블릭 IP주소를 필요로 하지X
  • VPC와 기타 서비스 간의 트래픽은 Amazone 네트워크를 벗어나지 않는다.
  • AWS 바깥으로 트래픽이 나가지 않고 AWS의 여러 서비스들을 사용하 수 있게 함

1. Internet Endpoint: ENI(Elastic Network Interface) 기반

  • Private IP를 만들어 서비스로 연결시켜줌
  • 많은 서비스들을 지원(SQS, SNS, Kinesis, Sagemaker 등)
  • 인터페이스 엔드포인트는 Private subnet 안에 위치해 있다. 그래서 인스턴스가 Private IP로 통신을 해서 인터페이스 엔드포인트로 요청을 하면 인터페이스 엔드포인트가 SQS 등 서비스와 통신함

2. Gateway Endpoint

  • 라우팅 테이블에서 경로의 대상으로 지정해서 사용
  • S3 및 DynamoDB 지원
  • 만약 S3에 관한 API를 부르면 라우팅테이블이 그것을 인터셉트 해서 라우터에서 게이트웨이 엔드포인트로 보내준다. 게이트웨이 엔드포인트에서 S3로 트래픽을 전달 해줌

참고

profile
쿄쿄쿄

0개의 댓글