Cattles & Puppets
On-premise | Cloud |
Server | Instance |
반려동물 | 가축 |
클라우드에선 트래픽이 급증하는 시기에 필요한 만큼 즉각적으로 인스턴스를 늘리고, 평상시엔 적은 인스턴스로 유지하며 On-demand(종량제)로 리소스를 관리할 수 있다. 반려동물처럼 애지중지하며 관리할 필요없이 가축처럼 다룬다.
AWS Global Infrastructure
Server → Data Center(1~6) → Availability Zone(2~) → Region
1. 수만 개의 서버가 하나의 데이터센터 안에 존재함.
2. 데이터센터 1~6개를 논리적으로 하나의 AZ로 묶음.
3. AZ 최소 2개 이상(Multi-AZ Mirroring for HA)을 하나의 Region으로 묶음.
한 Region의 AZ들은 기본적으로 서로 격리되어 있지만, 한 Region의 AZ들은 지연 시간이 짧은 링크를 통해 연결되어 있어 미러링 되어지고 있음.
또한 각 Region 간 연결이 가능한데, 일본같은 경우 지진 발생으로 도쿄 Region과 오사카 Region이 동시에 Failure될 수 있으므로 타국의 Region과 AWS Backbone Network를 통해 링크를 연결한다.
*2021.11.09 기준 전 세계 Region 25개, AZ 81개
PoP(Points of Presence)
Edge Location : 176개
Edge Cache : 11개
캐시 기능을 하며, 리전 주변에 있음.
PoP 주요 기능
Amazon Route 53 : DNS
Amazon CloudFront : CDN(Content Delivery Network) = Caching
AWS WAF(Web Application Firewall) : L7 Security
AWS Shield : DDoS 공격 완화
VPC (Virtual Private Cloud)
VPC는 퍼블릭 클라우드 환경에서 외부에 노출되면 안 되는 데이터를 인터넷으로부터 보호하기 위한 공간이다.
인터넷이라는 바다에서 가두리 양식을 쳐 놓은 것과 같다.
Soft Limit으로 하나의 계정 당 최대 VPC 5개까지 생성 가능하고, Hard Limit(AWS에 요청)으로는 최대 100개까지 생성 가능하다.
VPC로 인프라를 구성하는 기본 패턴은 다중 VPC와 복수 계정 두 가지이다.
다중 VPC는 하나의 계정에서 VPC를 여럿(주로 부서별로) 생성해 사용하는 것이고, 복수 계정은 계정 자체를 여러 개 만들어 계정 당 VPC 하나로 운용하는 것이다. 과금되는 주체가 'AWS 계정'이기 때문에 주로 다중 VPC 방식을 사용한다.
prefix 24 기준 IP를 251개밖에 못 쓰는 이유
10.0.0.1 : IGW
10.0.0.2 : DNS
10.0.0.3 : AWS 시스템에서 예비로 지정
10.0.0.255 : 브로드캐스트 주소
Public/Private Subnet
Seoul Region 기준 4개의 AZ가 있는데, 이 중 a와 b의 리소스를 받아 각각 2개의 서브넷을 만들었다.
각 Subnet마다 설정해 준 라우팅 테이블에 따라 Public Subnet은 인터넷에 직접 접속, Private Subnet은 NAT Gateway → Internet Gateway를 순서대로 통해 인터넷에 접속한다.
EC2 & SG
Amazon EC2(Elastic Compute Cloud) 서비스를 이용해 EC2 Instance를 생성하여 애플리케이션 등을 구동할 수 있다.
Public Subent엔 Application, Private Subnet엔 DB를 올려 서비스할 때 외부에서 DB로 접근하지 못하도록 가상의 방화벽을 설정해야 한다.
VPC 설정에서 SG(Security Group)를 잡아주는데(Instance Level = 각 인스턴스마다), App Instance에선 0.0.0.0/0:80, DB Instance에선 0.0.0.0/0:3306으로 설정하면 된다(WebApp, MySQL).
서브넷 레벨로 적용하는 NACL(Network Access Control List)도 존재하는데 아래의 글을 참고 바람.
https://blog.naver.com/adaylily/220953739322
Types of EC2 Instance (Not All)
범용 : T, M
고성능 컴퓨팅 최적화(CPU) : C
메모리 최적화(RAM) : R
가속화된 컴퓨팅(GPU - ML, 3D Rendering) : P
스토리지 최적화(비용↓ IOPS↑) : H
ex) t3.large
t = 범용
3 = 3세대
large = 리소스 성능
표기 | vCPU | 메모리(GiB) | 네트워크(Gbps) |
large | 2 | 5.25 | 최대 25 |
xlarge | 4 | 10.5 | 최대 25 |
2xlarge | 8 | 21 | 최대 25 |
4xlarge | 16 | 42 | 최대 25 |
9xlarge | 36 | 96 | 50 |
18xlarge | 72 | 192 | 100 |
ROI(Return on Investment)
인스턴스 변경 | 인스턴스 당 비용 절감 |
t2.xlarge → t3.large | 47% |
t2.large → t3.medium | 44% |
c4.8xlarge → c5.4xlarge | 50% |
userdata, metadata 확인 방법
http://169.254.169.254/latest/userdata
http://169.254.169.254/latest/metadata
'IT > AWS 공인 교육' 카테고리의 다른 글
Systems Operations on AWS - Module 1~2 (0) | 2021.11.29 |
---|---|
Architecting on AWS - 03 (0) | 2021.11.13 |
Architecting on AWS - 04 (0) | 2021.11.13 |
Architecting on AWS - 02 (0) | 2021.11.11 |
Architecting on AWS - 01 (0) | 2021.11.10 |