TIL/AWS

[AWS] AWS 볶음밥3 (네트워크)

JoJobum 2022. 7. 20.

CIDR(Classless Inter Domain Routing)

주소 범위 지정, /뒤의 숫자 만큼의 비트를 고정

중첩 허용X

 

ex) 0.0.0.0/0 = 모든 IP

10.22.33.44/32 = 10.22.33.44

10.22.33.0/24 = 10.22.33.* 

10.22.0.0/16 = 10.22.*.* 

 

공인 IP 주소는 인터넷을 통해 연결할 수 있음

  • PIP: ec2 만들 때 자동 생성 => ec2 인스턴스를 껏다 킬 때 IP가 바뀔 수 있음
  • EIP(Elastic IP): 고정 공인 IP

사설 IP 주소는 인터넷으로 엑세스할 수 없음 

 

VPC(Virtual Private Cloud)

원래 모든 가용 영역을 포함해서 생성된다

리전 내에 생성된다

격리의 단위 => VPC가 다르면 통신이 안됨

 

고가용성을 달성하기 위해 VPC내에 최소 2개 이상의 가용영역을 사용해서 설계하는 게 좋다

(한쪽이 죽어도 시스템 전체가 마비되지 않게)

로드 밸런서(ELB: Elastic Load Blancer)를 사용해서 가용 영역간의 트래픽을 분산함

 

가용영역 안에 서브넷을 만들어 주소를 나눠 쓴다

서브넷 안에 EC2, RDS 등등 생성해서 사용

 

서브넷(Subnet)

private subnet - 내부 통신만 가능 

public subnet - IGW(Internet GateWay)를 통해 외부와 통신

 

서브넷은 최대한 적게 만드는 것이 좋다, 2~3 개 권장 ex) public, application, database  

각 서브넷은 하나의 가용 영역에 존재

하나의 가용 영역에 여러개 존재 가능 

서브넷 CIDR 블록 중첩 불가

 

인터넷 게이트웨이(IGW, Internet GateWay) 

VPC의 인스턴스와 인터넷 간 통신을 허용

VPC 당 하나 생성 가능 

기본적으로 수평 확장, 중복, 고가용성

 

단일 VPC 외부와의 통신하게 하는 절차 

  • 인터넷 게이트웨이 생성
  • 퍼블릿 서브넷의 라우팅 테이블에 0.0.0.0/0 적용
  • 퍼블릭 서브넷이 공인 IP 가짐

 

다중 VPC

보안 강화를 위해 다중 계정으로 배포할 수도 있음

 

 

탄력적 IP 주소(Elastic IP address)

고정 IPv4 제공

재연결 즉시 새 트래픽 연결할 수 있음

 

 

탄력적 네트워크 인터페이스(ENI)

  •  동일한 가용 영역의 리소스간의 이동
  •  private IP 주소, Elastic  IP 주소, Mac 주소 유지 관리

를 지원하는 가상 네트워크 인터페이스

 

 

NAT(Network Address Translation)

private 서브넷이 외부와 통신해야할 때(outbound 트래픽을 보낼 때)

private 서브넷의 라우팅 테이블에 public 서브넷의 NAT 게이트웨이의 id와 정보를 넣어주면

private  서브넷이 아웃바운드 트래픽을 보내고자 할때 라우팅 테이블을 참조해

public 서브넷에 생성한 NAT 게이트웨이 쪽으로 아웃바운드 트래픽을 보내주면 

NAT 게이트웨이가 이를 인터넷 게이트웨이로 보내줌 

 

 

네트워크 ACL

서브넷 경계에서 방화벽 역할을 함

기본적으로 모든 인바운드 및 아웃바운드 트래픽 허용

 

 

보안 그룹

리소스에 대한 인바운드, 아웃바운드 트래픽을 제어하는 가상 방화벽

IP 프로토콜, 포트, IP 주소를 기반으로 트래픽 허용

stateful => 인바운드 체크 통과했으면 아웃바운드 체크X 

 

 

보안 그룹 연결 (Security Chaining)

인바운드와 아웃바운드 규칙은 트래픽이 상위 티어에서 하위 티어로 흐르도록 허용

ex)

웹 보안 그룹에서  인바운드 규칙 HTTPS 443 포트 허용, 0.0.0.0/0 으로 모두 받음

(인터넷에서 HTTPS로 암호화 된 것만 받음)

앱 보안 그룹에서  인바운드 규칙 HTTP 80 포트 허용, 웹 보안 그룹 id 로 받음

(웹 보안 그룹한테만 받는다, 다른쪽에서 80포트로 들어와도 안받음)

데이터 보안 그룹에서  인바운드 규칙 TCP 3306 포트 허용, 앱 보안 그룹 id 로 받음

(앱 보안 그룹한테만 받는다, 다른쪽에서 3306포트로 들어와도 안받음)

 

 

보안그룹 vs 네트워크 ACL

보안 그룹(리소스 단위) 네트워크 ACL(네트워크 단위)
탄력적 네트워크 인터페이스에 연결
하이퍼바이저에서 구현됨
하이퍼바이저란 가상머신 생성, 실행하는 프로세스
서브넷에 연결
네트워크에 구현됨
허용 규칙만 지원 허용 및 거부 규칙 지원
stateful 방화벽 stateless 방화벽
모든 규칙 트래픽 허용 여부 결정 전에 평가 모든 규칙 트래픽 허용 여부를 결정할 때 순서대로 처리
인스턴스에서 수동으로 지정 인스턴스가 서브넷에 추가될 때 자동으로 적용
통신을 허용하려면 구성이 필요함 기본적으로 통신 허용

 

VPC 엔드 포인트

엔드포인트를 사용하지 않는 경우는

Private 서브넷의 EC2 인스턴스에서 Public 서브넷의 NAT 게이트 웨이를 지나 인터넷 게이트 웨이를 지나 인터넷을 통해 DynamoDB에 엑세스를 한다.

VPC 엔드포인트 를 사용하면 public 인터넷 엑세스 없이 AWS가 제공하는 Private Link를 타고 엑세스, 내부망처럼 작동

자동적으로 수평 스케일링되고, 이중화되며 가용성이 뛰어나다.

 

VPC 피어링

기본적으로 서로 통신할 수 없이 격리한 것이 VPC, 이들을 통신할 수 있게 해줌

 

  • 사설 IP 주소를 사용해서 내부망처럼 통신할 수 있게 함
  • 리전 내부, 리전 간, 계정 간 지원
  • IP 공간은 중복 될 수 없음 = 피어링되는 VPC 들의 IP 주소가 중복될 수 없다
  • 전이적 피어링 관계없음 = A와 B 연결, B와 C 가 연결 된다고 해서  A와 C가 연결된 것은 아님
  • 피어링을 통해 다른 VPC 인터넷 게이트 웨이 사용 불가
  • 글로벌 AWS 백본망에서 유지, 대역폭 병목 현상 방지

 

Transit Gateway

5개의 VPC 연결할 때  (6*5)/2 = 15개의 피어링 필요

라우팅 테이블도 그렇고 논리적 터널, 물리적 터널... 등등

연결할 VPC 수가 늘어날수록연결이 복잡해짐

 

이를 Transit Gateway가 모든 트래픽의 중간 허브역할로 복잡한 연결을 처리해줌

+ 리전간 피어링도 허용

  • 연결 기반
  • 유연한 라우팅 및 세분화
  • 단순화된 연결
  • 완전관리형(높은 가용성 및 확장성)
  • 향상된 모니터링 기능
  • 멀티캐스트 지원

 

Route 53

AWS의 DNS(DomainNameSystem)

도메인 이름을 IP주소로 확인

도메인 이름을 등록 또는 이전

대기 시간, 상태 확인 및 기타 기준에 따라 요청을 라우팅

(AWS의 DNS) 

퍼블릭 호스팅 영역                                                                                                  프라이빗 호스팅 영역

퍼블릭 호스팅 영역

  • 인터넷에 연결된 리소스로 라우팅
  • 인터넷으로부터 해석
  • 글로벌 라우팅 정책

프라이빗 호스팅 영역 

  • VPC 리소스로 라우팅
  • VPC 내부로부터 해석
  • 전달 규칙 및 엔드포인트를 사용해서 온프로미스 Private 영역과 통합

라우팅 정책

  • 단순
  • 장애 조치
  • 지리적 위치
  • 지리적 근접성
  • 대기 시간 기반
  • 다중값 응답 - 동일한 도메인에 여러개의 IP 주소가 있다면 다중 값 응답
  • 가중치 

 

 

 

 

반응형

'TIL > AWS' 카테고리의 다른 글

[AWS] AWS 볶음밥6 (스토리지)  (0) 2022.07.21
[AWS]AWS 볶음밥5 (데이터베이스)  (0) 2022.07.21
[AWS]AWS 볶음밥4 (컴퓨팅)  (0) 2022.07.21
[AWS] AWS 볶음밥2 (계정, 보안)  (0) 2022.07.20
[AWS] AWS 볶음밥1  (0) 2022.07.20

댓글