AWS VPC
AWS Region
- AWS Region은 전세계에 AWS DC가 클러스터 형태로 위치한 물리적 위치를 말함.
- 하나의 리전은 고가용성, 확장성과 내결함성을 위해 3개 이상의 AZ로 구성됨.
- 34개의 리전, 108개의 가용 영역, 600+개의 POPs를 지원함.
가용영역
- 모든 AWS 리전은 최소 3개의 물리적으로 분리된 AZ로 구성됨.
- 각 AZ는 독립적으로 분리돼 높은 대역폭 저지연 네트워크로 구성되어 있음.
- 여러 개의 가용영역을 활용해 고가용성 구축을 권고하고 있음.
VPC
- VPC는 사용자가 정의하는 논리적으로 격리된 가상의 프라이빗 네트워크 환경임.
- 간단한 구성만으로도 AWS의 확장 가능한 인프라를 기존 DC 환경과 유사하게 사용할 수 있음.
- AWS 리전 안에 VPC 공간이 있고 그 안에 가용 영역 안에 퍼블릭 서브넷(인터넷 통신)과 프라이빗 서브넷으로 분리됨.
- 리전 선택 및 IP 주소 범위 설정 > AZ 내 서브넷 정의 > Internet GW 설정 > Routing Table 구성 > 네트워크 보안 순으로 구성함.
- IP 주소의 범위는 CIDR 표준을 사용함. (/16 ~ /28 사용 가능함)
*주소 할당 시 On-Premises Network와의 연동을 고려해 주소 중복을 고려해야 함.
- RFC 1918의 사설 IP 대역 사용 권고 예시) 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8
*사용 불가 주소 : 10.0.0.0 NW 주소 10.0.0.1 VPC GW 10.0.0.2 DNS 10.0.03 향후 대비 10.0.0.255 BR 주소
- Internet GW는 분리된 VPC 내의 서브넷을 Internet 간 통신이 가능하도록 경로를 설정하는 기능임.
- Internet GW으로 트래픽을 보내기 위해서는 네트워크 구성에 맞게 라우팅 테이블을 구성해야 함.
- 즉, 라우팅 테이블을 기준으로 프라이빗 서브넷 및 퍼블릭 서브넷으로 간단하게 망분리를 할 수 있음.
- 만약 프라이빗 서브넷에서 양방향 통신이 아닌 API 호출과 같은 단방향 통신이 필요할 때 NAT GW를 사용할 수 있음. 이로서 VPC 내부에서 요청에 대한 응답만 처리할 수 있게 됨.
NACL와 보안그룹의 차이
- NACL 서브넷 단위의 방화벽 / 상태 비저장 / ALLOW DENY 설정 가능
- 보안그룹은 인스턴스 단위 / 상태저장 / ALLOW만 설정 가능
AWS EC2
개요
- Linux, Windows, Mac 지원
- Arm 및 x86 아키텍처
- 범용 및 특정 워크로드 최적화
- 베어 메탈, 디스크, 네트워킹 기능 등 특수한 요구사항에 맞는 EC2 타입 지원
- 다양한 인스턴스 유형(범용, 컴퓨팅 최적화, 메모리 최적화, 가속화된 컴퓨팅, 스토리지 최적화) 등을 지원해 다양한 비즈니스 요구사항에 맞는 옵션 선택 가능
- EC2는 AWS 글로벌 리전에 위치한 물리 서버 -> 물리 서버 위에 하이퍼 바이저를 통해 EC2 인스턴스를 제공하고 있음.
- AMI(Amazone Machine Image)를 통해 다양한 운영체제, App 등의 템플릿을 제공함. Container Image와 비슷한 느낌임.
- 인스턴스 네이밍 규칙 : c7gn.xlarge -> c : 인스턴스 패밀리 / 7 : 인스턴스 세대 / gn : 추가 기능 / xlarge : 인스턴스 크기 (참고)
*목적에 맞는 인스턴스 패밀리 > 최신 세대 > 원하는 기능 > 인스턴스 크기 순으로 선정하면 됨.
Elastic Load Balancing
- ELB를 통해 네트워크 트래픽 분산을 통해 애플리케이션 확장성을 개선할 수 있음.
- 여러 AZ를 기반으로 고가용성을 제공함
- 트래픽에 따라 자동으로 조정해줌. (EC2 인스턴스, 컨테이너 등)
EC2 Auto Scaling
- 변화하는 수요에 동적으로 대응하고 비용을 최적화 -> 비정상 인스턴스 교체(Fleet) / 수요에 맞게 확장 (Dynamic)
- Auto Scaling 그룹에 적절한 정보(시작 템플릿)를 설정해 줘야 추가적인 인스턴스를 정상적으로 생성될 수 있음.
*OS 정보, 네트워크 정보 등 시작 템플릿에 설정해야 함
- 시작 템플릿 -> 인스턴스 타입, EBS 볼륨, AMI ID, NW Interface, Tags, User Data, Block device Mapping, Placement
* 일관된 경험 / 단순한 권한 / 거버넌스 및 모범 사례 / 생산성 향상이 가능함.
- 이로서, 앱 런치를 간소화하고 단순화할 수 있음.
실습 시 겪었던 주의사항 모음
- VPC 생성 시 Default VPC가 생성됨.
- VPC 내부 네트워크에 포함되는 대역만 AZ 서브넷으로 사용할 수 있음.
- 새로고침 기능을 적절하게 사용하자. AWS 콘솔은 즉각적으로 동적으로 반영되지 않음.
- EC2 생성 시 Edit User Data를 편집해 스크립트를 실행시킬 수 있음.
- User Data 스크립트를 재실행 하고 싶을 때는 EC2에 직접 SSH로 접속해 재실행하면 됨.
경로 : /var/lib/cloud/instances/user-data.txt
https://blog.hownowstephen.com/post/45268048932/where-is-ec2-user-data-stored
- AWS 인스턴스 생성 등 특정 작업을 하고나면 AWS 콘솔 내에 필터가 걸리므로, 필터를 제거하고 AWS 리소스를 확인해야 함.
후기
- 친절한 강사님과 정말 친절한 속도로 AWS 콘솔을 처음 보는 사람도 쉽게 따라할 수 있을 것 같음.
*한 번이라도 사용해 본 적이 있다면, 다소 답답할 수는 있으나 넉넉한 강의 시간으로 충분히 수강하는 데 불편함은 없었음.
- Hand-On 자료의 퀄리티가 매우 높아, 강의 없이 Hand-On만 보고도 충분히 실습할 수 있음. 실습 과정 중에서 변하는 AWS 내 아키텍처를 이미지로 가시화해 놓으셔서 공부할 때 매우 도움이 됨.
- 설문조사만 잘 답변해도 AWS 크레딧을 50$ 지급해 주는데, 쏠쏠함. 특히나 AWS 실습 횟수가 점차 늘 것 같은데, 너무 맛있음.
- 아래는 Auto Scaling 까지 실습한 후의 아키텍처임.
- 실습 끝나고 지우는 게 귀찮다면 AWS nuke를 사용하면 됨.
https://iwantbaobab.tistory.com/527
'Dev > AWS' 카테고리의 다른 글
[AWS-SAA] 01. IAM과 AWS CLI에 대하여 (1) | 2024.09.04 |
---|---|
[AWS-SAA] 00. AWS 글로벌 인프라 구조 (압축 요약) (0) | 2024.08.29 |
AWS 한 번에 초기화 할 때 aws-nuke를 사용하자 (0) | 2024.05.28 |
AWS 프리티어 과금 안 되도록 사용하는 방법, 요약 (0) | 2024.05.21 |