Technical Essetional 교육 요약
* AWS 클라우드 장점
- 자본비용을가변비용으로대체: 데이터센터와서버에 대규모의투자대신 사용한만큼만 비용을 지불
- 규모의경제로얻게되는이점: CSP는 많은 사용자들로 더높은 규모의 경제 달성으로 사용량에 따른요금이 더낮아져서,
인프라를 소유할때보다 가변비용이낮다.
- 용량추정 불필요: 필요한만큼의 리소스에 액세스하고 필요에 따라 몇분만에 확장또는축소 할수있어서 과투자 예방
- 속도및민첩성개선: 개발자는 해당리소스를 몇주가아니라 단몇분만에 사용할 수 있어서 실험및개발에드는 비용절감과
시간이 단축되므로, 조직의 민첩성이 크게향상됨
- 데이터센터 운영 및 유지관리에 비용투자 불필요: 수많은 서버를 관리하느라 시간을 단축 고객에게더욱집중 가능.
- 몇분만에 전세계에 배포: 짧은 시간내 전세계에 애플리케이션을 손쉽게 배포, 고객에게 더짧은 지연시간과 더나은 경험을 제공 (DR센터로 손쉽게 이용가능 - Data Replication은 필요)
*AWS 서비스 관리주체에 따른구분
1.비관리형-사용자가 직접 모든관리, AWS 관리안함 : EC2
2.관리형
- 일반관리형-사용자가 일부관리, AWS 일부관리 : EIP, Elasticsearch Service, DynamoDB(NoSQL),
RDS(RDB)-자동백업(replica),이중화,인스턴스확장
- 완전관리형-사용자 관리안함, AWS가 모든관리 : ELB, S3, Route53, Elastic Beanstalk, Aurora
* AWS 서비스 Scope
1.Global : Route53, CloudFront, WAF, Shiled, IAM
2.Region : EF, S3(버켓이름은 Global하게 unique해야함), VPC, EKS
3.AZ : EC2, EBS, RDS(EC2기반 서버구성), Subnet, Routing Table
* EBS(SAN/DAS), EFS(NAS: NFS 기반의 관리형서비스-서버level은 AWS관보)
보안그룹 : EC2구성시 EC2에 반드시 적용, Network ACL : Network 방화벽
Elastic Beanstalk : Docker 컨테이너(OS+Platform)를 기반으로 애플리케이션을 쉽게 배포, 운영, 관리를 도와주는 서비스
(서비스 사용료x, 리소스 사용료O)
→애플리케이션을 업로드하기만 하면 용량 프로비저닝, 로드 밸런싱, 조정, 오토스케일링, 애플리케이션
상태 모니터링에 대한 세부 정보를 자동으로 처리(예: AutoScale시 자동으로 in/out 해줌)
* 엣지로케이션
- End User의 지연시간을 줄이고 성능을 향상하고 보안을 위해 구성한 로컬지점(AZ간 고속Network구성)
→ Route53(DNS), CloudFront(CDN), WAF(Firewall), Shield(DDoS완화)
* 리전(2개 이상의 AZ로 구성, 다른 AZ의 장애와 격리) 선택 기준
1. compliance
- 지역마다 법에 따라 서비스가 안되는 경우가 있음
2. 지연시간
- 가능한 가까운 곳을 선택
3. 서비스 유무
- 모든 리전에 모든 서비스가 있는것이 아님.
4. 서비스 가격
- 리전마다 가격이 다름
* EC2 태그 기준으로 과금 상태 확인이 가능함 (초단위 종량제 요금)
- 태그하지 않을 경우 EC2 전체에 대한 비용만 표시됨.
* AMI = OS 이미지 + α : α - S/W 인 경우가 대부분임.
- template AMI : 아마존에서 제공
- Golden Image 를 사용자가 만들 수 도 있음.
▶ t2.micro (AMI 이미지 이름에 대한 설명)
> t-family
> 2-generation
> micro- scale
* EC2
- 전용 인스턴스 : 한대의 기계를 나만 쓰지만 기계가 정해져 있지 않음
- 전용 호스트 : 기계를 나만 쓰고 기계가 정해져 있음
* VPC
> 기본적으로 public에 연결되지 않음, 격리된 프라이빗 가상 네트웍
※ 버킷 이름은 유니크 해야함 : 교차 리전 지원
<리소스 접근 제어 정책>
1. 사용자 기반
> IAM
2. 리소스 기반
* S3에서 사용하던 데이터를 백업할 경우 glacier 사용
> 자주 엑세스 하지 않는 데이터에 최적, 검색시간이 오래 걸림
* S3는 S3에서 송신한 데이터를 기준으로 전송 비용 과금
> cloudfront (CDN) 와 연결해서 사용할 수 있음.
* EBS는 용량 제한 있음(16테라)
> 반드시 EC2에 마운트해야함
> 스냅샷을 뜨면 S3에 저장
> EC2 제거시 스냅샷은 삭제가 안되므로, 잘 확인해야함.
* EBS
> SSD
. gp2 (범용SSD)- 1GB당 3 IOPS : IOPS확보를 위해 용량을 늘려야함
. io1 (프로비저닝) - IOPS지정가능
*EC2 인스턴스 스토리지
> 로컬 직접 연결된 스토리지
> 속도 빠름
> 지속성 없고, 휘발성 스토리지 -> 다른 하드웨어에서 EC2가 기동될 수 있어서 데이터를 가져갈 수 없음.
* 인증방법
1. user 계정/ password
-> AWS management console
2. access key ID
secret access key
-> CLI,API
3. key pair -> EC2 ssh
<서버 scaling 방법>
1.scale up/down -> 수직적
2.scale out/in -> 수평적
* dynamo DB
> 프로비저닝된 처리용량 지정
. WCU : 1KB단위
. RCU : 4KB단위
Region > VPC > AZ > Subnet > EC2
- Region : 지역 (ex. 서울, 도쿄, etc)
- VPC(Virtual Private Cloud) : 논리적 IDC (하나 or 여러개의 물리적 IDC 그룹)
- AZ(Avaliability Zones) : 물리적 IDC (물리적 격리)
- Subnet : 네트워크 분할 (ex. Public or Private Subnet)
- EC2(Elastic Computing Cloud) : Computing Instance (Server)
- VPC Router : 다른 Subnet 간에 통신이 가능하게 설정 (Routing Table 설정)
- Internet Gateway(IGW) : 원하는 Subnet을 외부(인터넷) 통신이 되도록 설정(양방향)
- NAT Gateway : Private Subnet 에서 Public Subnet을 통한 외부 통신(단방향)
- ELB(Elastic Load Balancer) : Application(HTTP, HTTPS) LB, Network(TC) LB
- Auto-Scaling : Scale In/Out 자동화
- CloudWatch : Application/Resource 모니터링/알림
- Security Group : Instance 단위 (Firewall, All-deny)
- Network ACL : Subnet 단위 (All-allow)
[구성 예제]
- 10.10.0.0/16 (B 클래스 대역)의 가상 네트워크(VPC)를 서울 Region(ap-northeast-2)에 생성
- AZ1(ap-northeast-2a)에 Sbnet 2개(Public:1, Private:1), AZ2(ap-northeast-2c)에 Subnet2개 생성(Public:1, Private:1)
- EC2(Subnet당 1개) 생성
- IGW(외부통신 목적) 생성
- VPC Router 설정 : route table 을 생성 -> 외부 통신을 위한 public-subnet-01/02에 route table assign
-> public route table의 traffic을 IGW로 가도록 설정