3. 네트워킹 1
- 워크로드를 지원하기에 충분한 IP 주소가 네트워크에 있는가?
- AWS 계정에 안전한 동적 네트워크 인프라를 구축하는 방법은 무엇인가?
- 네트워크 리소스 보호를 위해 인바운드, 아웃바운드 트래픽을 필터링하는 방법은 무엇인가?
IP 주소
- 네트워크 내 리소스의 로케이션에 대한 정보 포함
- IPv4, IPv6
CIDR (Classless Inter Domain Routing)
- 앞쪽 비트로 네트워크 식별, 나머지 비트로 호스트 범위 표현 RFC 1918 비싸지 않으니까 넉넉하게 사용하자.
VPC
Amazon VPC
- 사용자가 정의한 가상 네트워크 안에서 AWS 리소스 시작 가능
- 단일 AWS 리전에 연결됨
- 해당 리전의 모든 가용 영역이 VPC에 속함.
- 기본적으로 리전당 5개 만들기 가능. Quota 요청해야 더 만들 수 있음.
서브넷
- VPC 내의 IP 주소 범위
- 지정한 서브넷으로 AWS 리소스 시작
- 인터넷에 연결되어야 하면 퍼블릭 서브넷
- 연결되지 않아야 하면 프라이빗 서브넷
- 복수의 가용 영역을 사용
- 주소 5개 AWS가 관리용으로 사용
퍼블릭 서브넷
퍼블릭 서브넷에는 인바운드 및 아웃바운드 인터넷 트래픽을 사용하는 리소스 포함
- 라우팅 테이블: 네트워크 트래픽이 전달되는 위치 결정에 사용되는 규칙(경로) 집합
- 인터넷 게이트웨이: VPC의 리소스와 인터넷 간의 통신 허용
- 퍼블릭 IP주소: 인터넷에 액세스할 수 있는 주소
인터넷 게이트웨이
- VPC간의 인스턴스와 인터넷 간의 통신 허용
라우팅 테이블
- 네트워크 트래픽의 방향을 제어할 수 있다.
프라이빗 서브넷
기본 Amazon VPC
- 각 AWS 계정에는 즉시 사용 가능하도록 미리 구성된 기본 VPC가 존재
- 모두 퍼블릭
- 테스트할 때 사용
탄력적 IP 주소
- 원래 IP 바뀜
- Elastic IP 할당받아서 고정
- 하나의 인스턴스에서 다른 인스턴스로 탄력적 IP 주소 이동 가능
- 기존 보유 IP 가져오기 (Bring Your Own IP) 지원
탄력적 네트워크 인터페이스
- 가상의 랜 카드
- Elastic IP 할당 가능
- 프라이빗 IP 주소, Elastic IP 주소, Mac Address가 그대로 유지
NAT 게이트웨이 (Network Address Translation)
- 우리 집에 있는 공유기가 NAT 게이트웨이
- 가용 영역 레벨
- 트래픽 많이 나오면 가용 영역별로 NAT 게이트웨이 두면 좋음
- 아니면 outbound는 별로 민감하지 않으니 하나만 둬도 괜찮다.
- 밖에서 안으로 들어오는거 X, 나가기만 가능
- 프라이빗 인스턴스의 인터넷 연결이 필요
여러 가용 영역에 VPC 배포
- 데이터 보안 유지
- 트래픽 분산
- 고가용성
VPC 트래픽 보안
네트워크 액세스 제어 목록 (ACL)
- NACL은 인바운드, 아웃바운드 따로따로 존재
- 특정 IP 대역에서 공격이 들어오면 인바운드 거부
- 번호가 낮은 규칙부터 순서대로 평가. 앞에서 거부당하면 끝.
보안 그룹
- 방화벽
- 기본적으로 인바운드 다 막혀있고, 아웃바운드 다 열려있음.
- 인바운드 80포트 열어서 HTTP 통신 가능하도록
- 규칙 순서대로 평가하지 않고 종합적으로 평가
- 3티어 아키텍쳐 예시
- 체이닝 가능 (대상 명확해짐, IP 대역 바뀌어도 상관 없음)
- 앱 서버 프라이빗으로 두고, 외부 api랑 통신해야 하면? NAT 게이트웨이
설계
- NACL로 인바운드, 아웃바운드 체크 -> 보안팀이 이걸로 체크함
- 보안그룹은 EC2 인스턴스에 붙어있음
- 필요하다면 웹서버, MySQL 포트 등 들어올 수 있게 열어주기
보안 그룹 vs ACL
상태 비저장 -> 인바운드, 아웃바운드 둘 다 확인