[AWS SAA 스터디] VPC

이영한·2022년 4월 22일
0
post-thumbnail

freecodecamp 강의
CIDR
NAT

VPC

Key Features

  • Region Specific, 리전당 5개 가능, 각 리전은 default VPC를 가짐
  • VPC당 200 subnet 생성 가능
  • 요금 부하 x : Route Tables, Nacls, Internet Gateway, Security Group, subnets, VPC peering
  • 요금 부하 o : Nat Gateway, VPC Endpoints, VPN Gateway, Customer Gateway

Default VPC

  • 특정 리전에서 인스턴스를 바로 만들 수 있도록 default VPC를 제공한다
  • size /16 IPv4 CIDR 블록을 생성
  • AZ마다 /20 default subnet 생성
  • internet gateway, default Security group, NACL, DHCP, 를 만들어서 defualt vpc에 연결
  • main route table이 생성됨

Default Everywhere IP

  • 0.0.0.0/0 : 어떤 IP든 pulic resource에 접근할 수 있다

VPC Peering

  • private ip를 사용하여 다른 VPC에 direct newtork route를 통해 접근
  • peered vpc에 있는 인스턴스는 같은 vpc에 있는것처럼 행동
  • 다른 AWS계정, region에도 peering가능
  • Star Configuration : 1 Central VPC- 4 other VPCs
  • No Transitive Peering(한다리 건너 peering 안됨)
  • No overlapping CIDR Blocks

Route Tables

  • network traffic이 어디로 가야하는지를 표시
  • 서브넷도 Route table에 연결되어야 한다. 서브넷은 한 번에 하나의 route table에만 연결 가능하다. 하나의 Route Table에는 여러개의 서브넷이 연결가능하다

Internet Gateway

  • VPC가 인터넷에 접근할 수 있도록 함
  • 하는일
    1. route table에 internet 접근 제공
    2. IPv4를 할당받은 인스턴스에 NAT(Network Address Translation)을 제공

Bastions/Jumpbox

  • Bastions : ssh와 rcp를 통해 private subnet에 있는 EC2에 접근을 할 수 있도록 도와주는 EC2 인스턴스
  • 하나의 Ec2에서 다른 EC2로 바로 점프하게 도와준다고 하여 Jumpbox라고도 부른다
  • NAT Gateways/Instances는 EC2 인스턴스의 아웃바운드만 적용되기 때문에 Bastions로 사용될 수 없다
  • System Manager의 Session Manager가 Bastions를 대체했다

Direct Connect

  • AWS에 온프레미스 접근을 위한 전용 네트워크를 만드는 서비스
  • 매우 빠름
  • 네트워크 비용을 줄이고 bandwidth throughput을 늘린다

VPC Endpoints

Intro

  • VPC가 다른 AWS 리소스와 다른 VPC endpoint에 private하게 접근하도록 허용한다
  • 종류
    • Interface Endpoints
    • Gateway Endpoints
  • 필요성
    • VPC내부의 인스턴스가 public ip없이 AWS 리소스에 접근할 수 있도록 한다. 이과정에서 IGW, NAT Devices, VPN Connection, AWS Direct Network등이 필요하지 않다(AWS 네트워크에서 연결이 이루어진다)
  • Interface Endpoints
    • private Ip Address를 가진 Elastic Network Interface
    • AWS Private Link를 통해 사용됨(돈듦)
  • Gateway Endpoints
    • 특정한 라우팅을 위한 게이트웨이로 과금이 없다
    • S3와 Dynamo DB만 지원된다

VPC Flow Logs

Intro

  • VPC로 들어오가 나가는 IP Flow를 알 수 있도록 해준다
  • VPC, Subnet, Network Interface에 대해 설정할 수 있다
  • S3나 CloudWatch에 저장되어 여기서 확인하면 된다
  • 태그할 수 없음

Network Access Control List (NACL)

Intro

  • subnet의 방화벽 같은 역할
  • 한 서브넷은 하나의 nacl만 사용할 수 있다
  • outbound와 inbound로 구성되어 들어오고 나가는 트래픽을 결정한다
  • Rule #는 inbound, outbound rule의 순서를 결정한다. 32766까지 설정가능하며 가능하면 10,100 단위로 설정하길 권장된다

Security Groups(SG)

Intro

  • EC2 인스턴스의 방화벽
  • inbound, outboud로 구성되며 deny룰은 없다(기본이 deny). EC2 접근을 허용할 접근 방법만 명시하면 된다
  • 여러 서브넷에 걸쳐있는 여러 EC2도 하나의 SG에 연결될 수 있다
  • 리전당 최대 10000개의 SG까지 생성 가능
  • 한 SG에는 60개의 inbound, outbound 가능
  • ENI하나당 16개의 SG가능

Network Address Translation(NAT)

Intro

  • ip space를 매핑하는 방법
  • private network에서 outbound internet access가 필요하다면 NAT gateway가 필요
  • 두 네트워크에서 ip가 충돌할때 NAT으로 해결가능
  • NAT Instances vs NAT Gateways
    • 공통점 : public subnet에서 실행되어야 함
    • NAT Instances(legacy) : Community AMI를 사용하는 EC2 instances를 통해 가동된다
    • NAT Gateways : 남는 EC2를 통해 가동된다

VPC Follow Along

  • CIDR(Classless Inter-Domain Routing)
    • IPv4 : 50억개 정도, 개수가 부족
    • Private Network : 하나의 Publc IP를 여러 기기가 공유
      • private IP를 부여받은 기기와 gateway로 구성
      • private IP는 지정된 아이피 에서만 사용가능(10.xx.xx.xx, 172.xx.xx.xx, 192.xx.xx.xx)
      • Gateway에서는 port를 통해 각 private ip를 식별한다
    • CIDR : 네트워크 영역 나누기
      • / 뒤의 숫만큼의 비트가 네트워크 ip
      • ex) 10.88.135.144/28 : 10.88.135.144 ~ 10.88.135.159
      • 보통 첫번째/마지막 ip는 예약되어 있어서 사용 불가능. AWS에서는 5개의 address 예약(0,1,2,3, 마지막)
      • 192.168.0./16라는 네트워크를 192.168.1.1/24, 192.168.2.1/24, 192.168.3.1/24 등 여러개의 서브넷으로 자를 수 있다.
profile
간단하게 개발하고 싶습니다

0개의 댓글