[AWS] Certified Cloud Practitioner(CCP) 모듈4: 네트워킹
1. AWS와의 연결
1 ) Amazon Virtual Private Cloud(Amazon VPC)
- *AWS 클라우드 내에서 사용자가 정의한 네트워크 환경으로 IP 주소 범위, 서브넷, 라우팅 테이블 등을 설정할 수 있음
- AWS 리소스(AWS 클라우드 환경에서 실행되는 모든 서비스 및 인프라 구성요소)에 경계를 설정하는 데 사용하는 네트워킹 서비스
- AWS 클라우드의 격리된 섹션인 VPC를 프로비저닝 하며, 격리된 섹션에서는 사용자가 정의한 가상 네트워크(사용자는 VPC 내에서 서 서브넷, IP 주소 범위, 보안설정 지정)에서 리소스를 시작할 수 있음
- 한 VPC 내에서 여러 서브넷으로 리소스를 구성할 수 있음
- 서브넷은 리소스(예: Amazon EC2 인스턴스)를 포함할 수 있는 VPC 섹션
*AWS 클라우드: AWS의 모든 서비스를 제공하는 클라우드 인프라
2) 인터넷 게이트웨이(IGW: Internet Gateway)
- 인터넷에서 공개 트래픽이 VPC에 액세스할 수 있도록 허용하려면 VPC에 인터넷 게이트웨이를 연결
- 인터넷 게이트웨이는 VPC와 인터넷 간의 연결
- 인터넷 게이트웨이가 없으면 아무도 VPC 내의 리소스에 액세스 할 수 없음
- 예시를 통해 이해하기
- Client: 고객(집)
- Internet: 집과 카페 사이의 도로
- Internet gateway: 고객이 카페로 들어갈 수 있는 출입문
- VPC: 카페
3) 가상 프라이빗 게이트웨이(VPG: Virtual Private Gateway)
- VPC의 프라이빗 리소스에 액세스하려면 가상 프라이빗 게이트웨이(VPG)를 사용
- 인터넷을 통해 암호화된 VPN(Virtual Private Network) 연결을 설정하여 주변의 모든 요청으로부터 인터넷 트래픽을 보호함
- 보호된 인터넷 VPN 트래픽만이 VPC로 로 들어올 수 있도록 하는 구성 요소
4) AWS Direct Connect
- 데이터 센터와 VPC 간 비공개 전용 연결을 설정하는 서비스
- 네트워크 비용을 절감하고 네트워크를 통과할 수 있는 대역폭을 늘리는데 도움이 됨
- 예시를 통해 이해하기
- Client: 고객(집)
- AWS Direct Connect: 집과 카페 사이 비공개 고객 전용 도로
- VPG: 고객이 카페로 들어갈 수 있는 출입문
- VPC: 카페
2. 서브넷 및 네트워크 액세스 제어 목록
1) 서브넷
- 보안 또는 운영 요구 사항에 따라 리소스를 그룹화할 수 있는 VPC 내의 한 섹션
- 서브넷은 퍼블릭이거나 프라이빗일 수 있음
퍼블릭 서브넷
- 온라인 매장 웹사이트와 같이 대중이 접근할 수 있어야 하는 리소스를 가짐
프라이빗 서브넷
고객의 개인 정보 및 주문 내역이 포함된 데이터베이스와 같이 프라이빗 네트워크를 통해서만 액세스 할 수 있는 리소스를 가짐
2) VPC의 네트워크 트래픽
- 고객이 AWS 클라우드에 호스팅되는 애플리케이션에 데이터를 요청하면 이 요청은 *패킷으로 전송됨
- 패킷은 인터넷 게이트웨이(IGW)를 통해 VPC로 들어가고, VPC에 속한 서브넷에 들어가거나 나오려면 권한 확인이 필요함
- 사용 권한은 패킷을 보낸 사람과 패킷이 서브넷의 리소스와 통신하려는 방법을 나타냄
- 서브넷의 패킷 권한을 확인하는 VPC 구성요소는 네트워크 액세스 제어 목록(ACL) 임
*패킷: 인터넷이나 네트워크를 통해 전송되는 데이터의 단위
1) 네트워크 액세스 제어 목록(ACL: Access Control List)
- 서브넷 수준에서 인/아웃바운드 트래픽을 제어하는 가상 방화벽
- 각 AWS 계정에는 기본 네트워크 ACL이 포함되며, VPC를 구성할 때 계정의 *기본 네트워크 ACL을 사용하거나 *사용자 지정 네트워크 ACL을 만들 수 있음
- 모든 네트워크 ACL에는 패킷이 목록의 다른 모든 규칙과 일치하지 않으면 해당 패킷이 거부되는 명시적 거부 규칙이 있음
*기본 네트워크 ACL: 기본적으로 모든 인/아웃 바운드 트래픽 허용(사용자가 자체 규칙 추가하여 수정 가능)
*사용자 지정 네트워크 ACL: 사용자가 허용할 트래픽을 지정하는 규칙을 추가할 때까지 모든 인/아웃바운드 트래픽 거부
2) 상태 비저장 패킷 필터링(Stateless packet Filtering)
- 네트워크 ACL은 스테이트리스 패킷 필터링을 수행함
- 즉, 아무것도 기억하지 않고 각 방향(인/아웃바운드)으로 서브넷 경계를 통과하는 패킷만 확인하는 것
패킷이 서브넷에 들어간 후에는 서브넷 내의 리소스(예: Amazon EC2 인스턴스)에 대한 권한을 평가해야 하며 패킷에서 Amazon EC2 인스턴스에 대한 권한을 확인하는 VPC 구성 요소는 보안 그룹임
3) 보안 그룹
Amazon EC2 인스턴스에 대한 인/아웃바운드 트래픽을 제어하는 가상 방화벽
기본 보안 그룹: 모든 인바운드 트래픽 거부, 모든 아웃바운드 트래픽 허용
사용자 지정 보안 그룹: 사용자 지정 규칙을 추가하여 허용해야 할 트래픽을 구성할 수 있음(허용되지 않은 트래픽은 모두 거부됨)
동일한 VPC 내에 여러 Amazon EC2 인스턴스가 있는 경우 동일한 보안 그룹에 연결하거나 각 인스턴스마다 서로 다른 보안 그룹을 사용할 수 있음
4) 상태 저장 패킷 필터링(Stateful packet Filtering)
- 보안 그룹은 스테이트풀 패킷 필터링 수행
- 들어오는 패킷에 대한 이전 결정을 기억
- 해당 요청에 대한 패킷 응답이 인스턴스로 반환될 때 보안 그룹이 이전 요청을 기억함
- 보안 그룹은 인바운드 보안 그룹 규칙에 관계없이 응답이 진행하도록 허용
3. 글로벌 네트워킹
1) Domain Name System(DNS)
- 도메인 이름(예: www.example.com)을 컴퓨터가 이해할 수 있는 IP 주소(예: 192.0.2.1)로 변환해 주는 시스템
- 웹사이트에 접속할 때 사람들이 기억하기 쉬운 도메인 이름을 입력하면, DNS가 이를 해당 서버의 IP 주소로 변환해 웹사이트에 연결되도록 도와줌
2) Amazon Route 53
- AWS의 DNS 웹 서비스
- 개발자와 기업이 최종 사용자를 AWS에서 호스팅되는 인터넷 애플리케이션으로 라우팅 할 수 있는 신뢰할 수 있는 방법을 제공
- 사용자 요청을 AWS에서 외부의 인프라로 라우팅할 수 있음
① 기능
도메인 이름의 DNS 레코드를 관리하는 기능이 있음
Route 53에 직접 새 도메인 이름을 등록할 수 있음
다른 도메인 등록 대행자가 관리하는 기존 도메인 이름의 DNS 레코드를 전송할 수 있음
단일 위치에서 모든 도메인 이름을 관리할 수 있음
② Amazon Route 53 및 Amazon CludFront가 콘텐츠를 제공하는 방법
- 가정
- 한 회사의 애플리케이션이 여러 Amazon EC2 인스턴스에서 실행 중
- 이 인스턴스는 Application Load Balancer에 연결되는 Auto Scaling 그룹에 포함되어 있음
- 프로세스
- 고객이 회사의 웹 사이트로 이동하여 애플리케이션에서 데이터를 요청
- Amazon Route 53은 DNS 확인을 사용하여 회사. com의 IP 주소인 192.0.2.0을 식별하고 이 정보는 다시 고객에게 전달됨
- 고객의 요청은 Amazon CludFront를 통해 가장 가까운 엣지 로케이션으로 전송됨
- Amazon CloudFront는 수신 패킷을 Amazon EC2인스턴스로 전송하는 Application Load Balancer에 연결됨