출처 : https://www.aws.com
덤프 시험 사이트 : https://www.examtopics.com/exams/amazon/
[1] AWS(Amazon Web Service)
[2] AWS Cloud Practitioner 시험범위
시험 범위
- 도메인 1 : 클라우드 개념
- 1.1 AWS 클라우드 및 가치 제안 정의
- 1.2 AWS 클라우드의 경제적 측면 파악
- 1.3 클라우드 아키텍처의 다양한 설계 원리 나열
- 도메인 2 : 보안
- 2.1 AWS 책임 분담 모델 정의
- 2.2 AWS 클라우드의 보안 및 규정 준수 개념 정의
- 2.3 AWS 액세스 관리 기능 확인
- 2.4 보안 지원 리소스 파악
- 도메인 3 : 기술
- 3.1 AWS 클라우드 내 배치 및 운영 방법 정의
- 3.2 AWS 글로벌 인프라 정의
- 3.3 핵심 AWS 서비스 파악
- 3.4 기술 지원 리소스 파악
- 도메인 4 : 결제 및 요금
- 4.1 AWS의 다양한 요금 모델 비교 및 대조
- 4.2 AWS 결제 및 요금과 관련된 여러가지 계정 구조 인식
- 4.3 결제 지원에 이용할 수 있는 리소스 파악
[3] 개념 정리
★ : 해당 도메인에서 알아야 하는 사항
o : 중요 개념 정의
도메인 1: 클라우드 개념
1.1 AWS 클라우드 및 그 가치 제안 정의
★ AWS 클라우드의 이점을 정의
o 클라우드 컴퓨팅
1. 인터넷(Internet)을 사용해서 공유자원(서버, 네트워크, 스토리지)을 사용할 수 있는 서비스
2. IT 관련한 물리적 자원 및 기술적 자원을 임대하고 사용한 만큼 금액을 지불
o 클라우드 컴퓨팅 이점
- 초기 선투자 비용 없음, 운영 비용 절감, 탄력적인 운영 및 확장, 속도 및 민첩성, 비즈니스에만 집중 가능, 글로벌 확장
1. 보안
- 광범위한 보안 정책 집합,기술 및 컨트롤을 제공하여 데이터,앱 및 인프라를 잠재적인위협으로부터 보호
2. 안정성
- 클라우드 공급자 네트워크의 여러 중복 사이트에 데이터를 미러할 수 있으므로 데이터백업, 재해복구 및 비즈니스 연속성을 더 쉽게 제공
3. 고가용성
- 클라우드 공급자의 여러 리전, 가용영역, 데이터센터를 활용하여 고가용성을 쉽게 설계 가능
- 고가용성 설계를 통해 다운타임을 최소화하면서 장애를 견딜 수 있는 아키텍처 설계 가능
4. 탄력성, 확장성
- 사용자는 필요에 따라 컴퓨팅 용량을 프로비저닝하거나 해제가능하며 현재 수요를 처리하는데 필요한 양의 리소스만 프로비저닝 가능
- 수요변화에 따라 리소스크기를 조정 가능
- 매우 동적인 사용패턴(워크로드)을 지원하기 위해 알림 기능으로 자동 확장 및 축소 가능
5. 민첩성
- 프로비저닝 시간이 짧은 즉시 사용 가능한 리소스, 확장 가능한 컴퓨팅 용량 제공
- 새로운 워크로드를 배포하는데 필요한 직원의 시간 단축하여 애플리케이션 개발팀의 생산성 향상
- 개발자가 IT 리소스를 사용할 수 있도록 하는데 필요한 시간 단축을 통해 혁신을 지원하는 능력 제공
- 새로운 기능을 반복적인 방식으로 신속하게 제공하여 출시 시간을 최소화
- 예를 들어 스타트 업이 빠르게 시장에 출시해야하는 새로운 애플리케이션을 개발 하여 빠르게 클라우드에 배포 및 필요할 때마다 빠르게 조정 가능
6. 사용한 만큼 지불하는 요금제 (Pay-as-you go pricing)
- On-Premise (온프레미스) : 서버, 데이터베이스, 네트워크 장비 등을 모두 구매해서 구축하고 운영하는 모델
- On-Demand (온디멘드) : 클라우드 컴퓨팅 서비스 사용자가 요청한 만큼 서비스를 제공하고 비용을 청구하는 모델
7. 글로벌 도달 범위
- 지연 시간이 짧은 높은 처리량과 중복성을 가진 네트워크로 연결된 여러 지역으로 구성된 클라우드 인프라를 배포
- 회사의 서비스를 빠르게 글로벌화할 수 있는 능력
- AWS 리전, 가용 영역 및 엣지로케이션 네트워크를 통해 전 세계 사용자에게 애플리케이션을 배포
- 데이터를 기본 사용자와 가깝게 저장 가능
8. 규모의 경제
- AWS등의 클라우드 회사에서 높은 구매량으로 인해 변동 비용을 낮출 수 있음
- AWS 클라우드 요금의 지속적인 감소
- 온-프레미스 데이터 센터를 구축하고 유지관리하는데 드는 많은 비용을 없애줌
★ AWS클라우드를 통해 사용자가 비즈니스가치에 집중할 수 있는 방법 설명
- 클라우드 업체에서 인프라를 관리하기에 사용자는 데이터 센터 유지 관리에 돈을 쓰지 않아도 됨
- 데이터센터 인프라는 클라우드 업체에서 관리하기에 사용자는 수익 창출(비즈니스) 활동에 집중할 수 있음
- AWS 관리형 서비스를 활용하면 사용자 관리가 최소화 되므로 AWS 클라우드에서 운영 효율성을 높일 수 있음
- 반복되는 애플리케이션 설치 및 설정을 돕기 위해 클라우드 업체의 엔터프라이즈 지원을 사용하여 효율을 높일 수 있음
1.2 AWS 클라우드의 경제성 식별
★ 총 소유비용 제안의 일부가 되는 품목 정의
★ 클라우드로 전환하여 운영 비용을 절감할 수 있는 부문 식별
o 운영 비용(OpEx)의 역할 이해
=> 규모의 경제 및 온-디멘드 운영함으로써 비용 절감(위의 클라우드 컴퓨팅 이점 내용 참고)
o 설비투자비용(CapEx)의 역할 이해
=> 위와 동일내용 참고
o 온프레미스 운영과 관련된 인건비 이해
=> 위와 동일내용 참고
o 클라우드로 전환할 때 소프트웨어 라이선스 비용이 미치는 영향 이해
=> 위와 동일내용 참고
o 적정규모의 인프라
=> 위와 동일내용 참고
o 자동화의 이점
=> 위와 동일내용 참고
o 규정준수 범위 축소(예:보고)
=> 아래 2.2 AWS 클라우드 보안 및 규정 준수 개념 정의 내용 참고
o 관리형 서비스(예: RDS, ECS, EKS, DynamoDB)
=> 아래 3.3 핵심 AWS 서비스 식별 내용 참고
1.3 다양한 클라우드 아키텍처 설계 원칙 설명
★ 설계원칙 설명
o 장애대비 설계
=> 고가용성
o 구성 요소와 모놀리스 아키텍처 분리
=> 고가용성
o 클라우드와 온프레미스에서 탄력성 구현
=> IasS, Paas, Saas 구분
o 병렬 사고
=> 고가용성
도메인 2: 보안 및 규정 준수
2.1 AWS 공동 책임 모델 정의
★ 공동책임 모델의 요소 인식
1. 공동 책임 모델
* 고객 책임 - 고객이 구성을 하고 사용하는 부분(데이터, 접근권한, ID관리, 암호화 등)
* AWS 책임 - 고객이 변경, 구성이 불가능한 AWS에서 관리하는 부분(AWS 클라우드 인프라 및 AWS관리 소프트웨어)
★ AWS 책임 설명
o 사용한 서비스(예: RDS, Lambda, EC2)에 따라 고객의 책임이 어떻게 달라질 수 있는지 설명
* 고객 - 클라우드 인프라 위의 보안은 고객이 담당
* AWS - 클라우드 인프라 자체의 보안은 AWS 담당
2.2 AWS 클라우드 보안 및 규정 준수 개념 정의
★ AWS 규정 준수 정보를 찾을 수 있는 위치식별
o 사용 가능한 공식 규정 준수 제어(예: HIPPA, SOC) 목록 위치
o AWS 서비스마다 규정 준수 요구사항이 다르다는 점을 인식
1. Artifact
: AWS의 규정 준수 문서와 AWS 계약에 대한 문서를 제공하는 사이트, 서비스X
인정 기구와 규정 준수 기관에서 AWS 보안 제어의 구현 및 운영 효율성을 입증하는 인증서가 포함
* SOC(Serivce Organization Control) 보고서
* PCI(Payment Card Industry) 보고서
★ 감사 및 보고에 도움이 되는 서비스가 있음을 인식
o 감사 및 모니터링을 위한 로그가 존재함을 인식(로그를 이해할 필요는 없음)
o Amazon CloudWatch, AWS Config 및 AWS CloudTrail 정의
1. CloudTail
: AWS 계정이 수행하는 작업에 대해 로그를 기록하는 서비스, 모든 계정 활동에 대해 기록
1) 로그는 CloudWatch Logs 또는 S3 버킷에 저장
2) 모든 계정에 기본으로 활성화
3) 로그 파일은 KMS 사용, 로그 파일 무결성 검증 기능 사용
2. CloudWatch
: AWS 클라우드 리소스와 AWS에서 실행되는 애플리케이션을 위한 모니터링 서비스
3. Amazon EventBridge
: 거의 실시간으로 이벤트를 자동 전송하는 서비스
4. Config
: AWS 리소스 구성 변경사항을 로그기록 하는 기능
2.3 AWS 액세스 관리 기능 식별
★ 사용자 및 ID 관리의 목적 이해
o 액세스 키 및 암호정책(교체,복잡성)
o MFA(Multi-Factor Authentication)
: 다단계 인증
1) AWS 루트 계정 및 IAM 사용자에 적용 가능
2) 웹 콘솔 로그인 및 CLI 사용 모두에 MFA활성화 가능
o AWS IAM(Identity and Access Management)
: AWS 계정 및 권한 관리 서비스
1) AWS 서비스와 리소스에 대한 액세스 관리
2) 사용자, 그룹, 역할, 정책으로 구성
3) 리전에 속하는 서비스가 아닌 글로벌 서비스
1. 역할
: AWS 리소스에서 사용하는 자격증명
1) 특정 AWS 서비스가 다른 AWS 서비스에 액세스하여 작업을 수행할 때 필요한 권한
2) 정책을 연결하여 IAM 역할에 작업 수행에 필요한 권한을 부여
3) 만일, EC2에서 실행되는 애플리케이션이 AWS S3와 AWS RDS 액세스 권한이 필요할 때 역할 사용
o IAM 권한 경계 (Permission Boundary)
: IAM 사용자 또는 역할에 최대 권한을 제한하는 기능
o IAM 자격증명 보고서(Credentails Report)
: 계정의 모든 사용자와 암호, 액세스 키, MFA 디바이스 등 이들의 자격 증명 상태를 나열하는 자격 증명 보고서를 생성하고 다운로드
2. 정책, 사용자 지정 정책 대비 관리형 정책
1) AWS 리소스에 대한 액세스 권한을 정의한 것
2) 사용자, 그룹, 역할에 정책을 연결하여 사용
3) JSON 문서 형식으로 이루어짐
4) 정책이 명시되지 않는 경우 기본적으로 모든 요청이 거부(Deny)됨
o 루트 계정을 사용해야 하는 태스크 루트 계정 보호
1) 루트 계정(AWS회원가입시 만들어지는 계정)은 최초 사용자 계정 생성 이후 가능하면 사용하지 말 것
2) 사용자 계정(IAM 계정)으로 서비스를 사용하고 사용자는 필요한 최소한의 권한만 부여(최소권한의 원칙)
3) 루트계정과 개별 사용자 계정에 강력한 암호 정책과 멀티팩터 인증(MFA) 적용
4) 사용자의 암호에 대한 복잡성 요구 사항과 의무 교체 주기를 정의
2.4 보안 지원을 위한 리소스 식별
★ 서로 다른 네트워크 보안 기능이 있음을 인식
o 기본 AWS 서비스(예: 보안 그룹, 네트워크 ACL, AWS WAF)
1. Shield
: AWS 웹 애플리케이션을 DDos 공격으로부터 보호
* DDoS : 수백만 대의 PC를 원격 조정해 특정 웹사이트에 동시에 접속시킴으로써 단시간 내에 과부하를 일으키는 행위
1) Shield Standard
: 모든 AWS 사용자에게 적용(무료), 기본적인 DDoS 공격 보호
2) Shield Advanced
: 스탠다드보다 더많은 보호 제공(유료), EC2, ELB, CloudFront, Route53 등에서 정교한 DDoS 보호
2. WAF(Web Application Firewall)
: 웹 애플리케이션을 보호하는 방화벽, HTTP에서 동작, Application Load Balancer, API Gateway, CloudFront 적용
* Web ACL를 통해 정의할 수 있는 기능
1) 악성 IP ckeks
2) 특정 국가의 액세스 제어
3) SQL Injection, XSS 방어
4) 속도기반 규칙으로 DDoS 공격 방어
3. KMS(Key Management System)
: 암호화 키를 생성 및 관리하는 서비스
* 고객 관리형 키 - 사용자가 생성, 소유 및 관리하는 AWS 계정의 KMS 키
* AWS 관리형 키 - AWS 서비스가 고객의 계쩡에서 고객 대신 생성, 관리 및 사용하는 키
* AWS의 키 - AWS 서비스가 여러 AWS 계정에서 사용하기 위해 소유하고 관리하는 키모음
4. ACM(AWS Certificate Manager)
: SSL/TLS 인증서를 중앙에서 관리하는 서비스, 인증서를 관리 및 배포
5. Amazon GuardDuty
: AWS 계정 및 워크로드에서 악의적 활동을 모니터링하고 상세한 보안 결과를 제공되는 위협 탐지 서비스
6. Amazon Macie
: 데이터 프라이버시 서비스로서, AWS에서 민감한 데이터를 검색하고 보호
7. Amazon Inspector
: EC2 및 컨테이너 워크로드에서 소프트웨어 취약성과 의도하지 않은 네트워크 노출을 지속적으로 스캔하는 자동화된 취약성 관리 서비스
8. Security Hub
: 보안상태에서 대한 통합 보기를 제공, 검사를 자동화하고 보안 분석 결과를 관리 및 문제를 식별
9. Amazon Detecitve
: 잠재적 보안 문제나 의심스러운 활동의 원인을 쉽고 빠르게 분석, 조사 및 식별하는 서비스
10. AWS Abuse
: 악의적이거나 불법적인 용도로 AWS 리소스가 사용되고 있다고 의심될 경우 AWS에 알릴 수 있음
11. AWS Cognito
: 애플리케이션에 대한 로그인 및 인증을 제공하는 기능
12. AWS Single Sign On(SSO)
: 하나의 계정으로 여러 애플리케이션에 로그인하는 기능
★ 보안 검사가 AWS Trusted Advisor 의 구성 요소임을 파악
1. Trusted Advisor
: 사용자의 AWS 환경을 조사하여 비용 절감, 시스템 성능 향상 또는 보안 결함 제거를 위한 권장사항 제시
* 권장사항 카테고리
1) 비용 최적화
2) 성능
3) 보안
4) 내결함성
5) 서비스한도
도메인 3: 기술
3.1 AWS 클라우드에서 배포 및 운영 방법 정의
★ AWS 클라우드에서 다양한 프로비저닝 및 운영 방식을 개략적으로 식별
o 프로그래밍 방식 액세스
1) API
2) SDK
: 사용자가 프로그래밍 방식으로 AWS 서비스에 연결하고 배포할 수 있도록 허용하는 AWS 서비스
3) AWS Management Console
4) CLI
5) Infrastructure as Code(IaC)
★ 다양한 유형의 클라우드 배포 모델 식별
o 클라우드/클라우드 네이티브 사용
: 공용 인터넷을 통해서 누구에게나 서비스를 제공하며 비용이 낮음
o 하이브리드
: 퍼블릭 클라우드와 프라이빗 클라우드(온-프레미스)를 네트워크로 연결(VPN, DirectConnect, 퍼블릭 인터넷 연결 서비스)하여 사용
o 온프레미스
: 개별 기업이 클라우드 인프라를 데이터 센터를 구성하여 시스템 운영하며 비용이 높음
3.2 AWS 글로벌 인프라 정의
★ 리전,가용 영역 및 엣지로케이션의 관계 설명
1. 리전(Region)
: AWS가 데이터 센터를 클러스터링하는 물리적 위치를 의미
1) 1개 AWS 리전 = 2개이상의 가용영역으로 구성
2) 대부분의 AWS 서비스는 리전을 선택 하여 시작 (예, EC2 서비스)
3) 리전을 선택하지 않는 글로벌 서비스도 있음 (예, IAM 서비스)
4) 재해복구(DR) 설계 = 2개이상의 리전에 시스템을 배치
2. 가용 영역(AZ)
: 각 리전 내에 격리된 위치, 개별 데이터 센터로 구성
1) 가용영역 = 하나 이상의 개별 데이터 센터
2) 1개의 리전은 2개이상의 가용영역으로 구성 (보통 3~4개의 가용영역으로 구성)
3) 가용영역끼리는 물리적으로 떨어져 있고 고속 네트워크로 연결
4) 고가용성 설계 = 다중 AZ (Multi-AZ), 2개이상의 가용영역에 시스템 배치
* 고가용성은 여러 가용 영역을 사용하여 달성된다는 점
* 가용영역이 단일 장애 지점을 공유하지 않는다는 점
3. 엣지 로케이션 : 콘텐츠(데이터)를 캐싱하여 사용자에게 더 짧은 지연 시간으로 콘텐츠를 전송
- 글로벌 배포서비스인 AWS CloudFront, Global Accelerator에서 대표적으로 사용
★ 엣지 로케이션의 이점을 개략적으로 설명
o Amazon CloudFront
1. CloudFront
: 콘텐츠 전송 네트워크 서비스(CDN), 엣지로케이션의 콘텐츠 캐싱을 이용해 콘텐츠를 사용자에게 더 빨리 배포하도록 지원하는 서비스
엣지 로케이션은 데이터를 임시 저장할 수 있는 캐싱 기능이 있음
1) 사용자에게 가까운 곳의 엣지로케이션에서 데이터를 전송
2) 글로벌
3) 실시간 스트리밍 배포
4) EC2등의 오리진 서버의 부하를 줄일 수 있음
5) Price Classes - 비용 절약을 위해 가격 등급에 따라 배포하는 엣지 로케이션 수를 줄임
* 전체 가격 등급 : 모든 리전에 배포
* 가격 등급 200 : 대부분의 리전에 배포
* 가격 등급 100 : 일부 리전에 배포하며 가장 낮은 비용
o AWS Global Accelerator
1. Global Accelerator
: 가장 가까운 위치로 트래픽을 라우팅하며 인터넷 대기시간을 줄이고 전송 성능을 향상하는 서비스
1) 미사용시 서버로부터 지리적으로 만흔 인터넷 라우팅을 하는 방면, 사용시 사용자는 가가운 거리의 엣지로케이션으로 라우팅
2) 애플리케이션의 Health Check기능을 통해 하나의 서버 장애 발생시 다른 서버로 라우팅 가능
* Lambda@Edge
: CloudFront를 통해 전달되는 콘텐츠를 사용자 지정하는 함수를 실행할 수 있게 해주는 AWS Lambda가 확장된 컴퓨팅 서비스
3.3 핵심 AWS 서비스 식별
★ AWS 의 서비스 범주 설명(컴퓨팅, 스토리지, 네트워크, 데이터베이스)
★ AWS 컴퓨팅 서비스 식별
o 서로 다른 컴퓨팅 제품군이 있음을 인식
o 컴퓨팅을 제공하는 다양한 서비스 인식
(예: Amazon ECS(Amazon Elastic ContainerService) 대비 AWS Lambda, Amazon EC2 등)
1. EC2 (Elastic Computing Cloud)
: 사용자가 가상 컴퓨터를 임대 받아 그 위에 자신만의 컴퓨터 애플리케이션들을 실행
1) EC2는 사용자가 아마존 머신 이미지(AMI)로 부팅하여 아마존이 "인스턴스"라 부르는 가상머신을, 원하는 소프트웨어를 포함하여
구성할 수 있게 하는 웹 서비스를 제공
o 탄력성은 Auto Scaling 을 통해 실현됨을 인식
1. Auto Scaling
: EC2 인스턴스를 자동으로 확장하고 축소하는 기능
* 조정 정책
1) 지정된 수의 실행 인스턴스 수준 유지 관리
2) 수동 조정 - 최대, 최소 또는 원하는 용량의 변경 사항만 지정하여 사용
3) 일정 기반 조정 - 시간 및 날짜 함수에 따라 자동 수행
4) 동적 조정 / 온디맨드 기반 조정 - 수요 변화에 맞춰 Auto Scaling 그룹의 크기를 동적 조정
5) 예측 조정 사용 - 머신러닝을 사용하여 CloudWatch의 기록 데이터를 기반으로 필요량을 예측
* 조정 휴지 (Scaling Cooldowns) : EC2가 안정적인 서비스 상태가 될 때까지 스케일리을 하지 않도록 차단하며
불필요한 인스턴스 생성되거나 종료를 방지하는 기능
o 로드밸런서의 목적 식별
1. 로드 밸런서
: 트래픽을 여러 대상으로 자동 분산(대상 : EC2인스턴스, 컨테이너, IP주소, Lambda 등)
2. 로드 밸런서 종류
1) Application Load Balancer : Layer 7(HTTP, HTTPS), HTTP Header 를 통해 라우팅 요청 처리하며 웹 어플리케이션 서비스에 적합
2) Network Load Balancer : Layer 4(TCP, UDP, TLS), Protocol, Port를 통해 라우팅 요청 처리하며 대용량 트래픽 처리
3) Gateway Load Balancer : Layer 3,Layer 4, Gateway Load Balancer, Endpoint
4) Classic Load Balancer : Layer 4, Layer7으로 이전 세대 로드 밸런서
★ 다른 AWS 스토리지 서비스 식별
o Amazon S3 설명
1. S3 (Simple Storage Servie)
: 거의 무제한 저장용량을 제공하는 객체(Object) 스토리지 서비스
1) 최소 3개의 가용영역 사용하여 데이터를 자동 분산 저장하기에 성능, 확장성, 가용성, 내구성이 높음
2) 백업 및 3복원 재해 복구, 아카이브, 클라우드 스토리지, 정적 웹사이트 호스팅에 사용
3) 버전 관리가 용이
4) 객체 암호화
: 데이터를 전송 중에나 스토리지에 저장된 동안 보호하기 위해 사용
* 서버측 암호화(SSE-Server Side Encryption)
: S3에서 관리하는 암호화, KMS(키관리서버)에서 관리하는 암호화, 사용자가 관리하는 암호화
* 클라이언트측 암호화
: 데이터를 전송하기 전에 클라이언트 사이드에서 암호화
* 전송 중 암호화
: SSL/TLS를 이용해 HTTPS 보안 프로토콜을 사용하여 전송
5) 버킷 정책 사용
* 버킷(Bucket)
: 최상위 폴더, 오브젝트 저장공간으로 리전단위로 생성하며 이름은 글로벌에서 유니크해야 함
* 버킷 정책
1) JSON 형식으로 접근 제어 정책
2) 버킷에 액세스를 부여하고 제한하는 기능
3) 다른 AWS계정에 버킷액세스 권한을 부여
4) 퍼블릭 액세스 차단
5) ACL(액세스 제어 목록) - AWS계정에 버킷이나 객체에 읽기/쓰기 권한을 부여하는 기능
2. S3 객체 생명주기 관리(Lifecylce Policy)
: 객체가 저장되어 삭제될 때까지의 수명주기를 비용효율적으로 저장 되도록 관리하는 기능
사용자 지정하여 객체를 일정 기간 이후로 스토리지 객체 버전을 변경하여 관리
o Amazon EBS(Amazon Elastic Block Store) 설명
: EC2에 연결하여 사용하는 블록 스토리지이며 EC2 인스턴스 시작 시 AMI가 설치되는 EBS 볼륨이 생성,
EBS와 EC2는 동일한 가용영역에 존재하여야 연결 가능
* Instance Store
: 블록 수준의 임시 스토리지이며 임시 파일을 보관하는 가장 빠른 성능의 저장 옵션
인스턴스를 중지하거나 최대 절전 모드로 전환하거나 종료하면 인스턴스 스토어의 모든 스토리지 블록이 리셋
o Amazon S3 Glacier 설명
1. Glacier Instant Retrieval
: 분기에 한번 액세스하는 오래된 아카이브 데이터(밀리초 내에 즉시 검색)
2. Glacier Flexible Retrieval(=Glacier)
: 일년에 한 번 액세스하는 오래된 아카이브 데이터(몇 분 내지 몇 시간의 검색 시간 소요)
3. Glacier Deep Archive
: 일 년에 한 번 미만으로 액세스하는 오래된 아카이브 데이터(몇시간의 검색 시간 소요)
o AWS Snowball 설명
1. Snow Family / SnowBall
: 온-프레미스의 1회성 대용량 데이터 오프라인 AWS 마이그레이션을 위한 디바이스
* DataSync
: 온-프레미스 데이터를 S3, EFS, FSx for Windows File Server로 온라인 마이그레이션하는 서비스
o Amazon EFS(Amazon Elastic File System) 설명
: 리눅스 환경의 EC2 인스턴스에서 연결하기 위한 네트워크 파일 스토리지
1) NFS(Network File System) 프로토콜 지원
2) 여러 가용영역에 있는 수십~수백대의 EC2연결 가능
3) EC2외에 Linux방식의 온-프레미스 서버에서도 연결 가능
* EFS 스토리지 클래스
1) 표준 스토리지(Standard) : 3개의 가용영역에 데이터 저장, 자주 액세스하는 파일을 저장하는데 사용
2) 표준 IA(Infrequent Access) : 3개 가용영역, 자주 액세스하지 않는 파일을 저장하는데 사용
3) One Zone : 1개의 가용영역, 자주 액세스하는 파일을 저장하는데 사용
4) One Zone IA : 1개 가용영역, 자주 액세스하지 않는 파일을 저장하는데 사용
* EFS 지능형 계층화를 사용하여 자주 사용하지 않는 데이터를 다른 스토리지 클래스로 자동 전환 가능
o AWS Storage Gateway 설명
1. Storage Gateway
: 온-프레미스와 AWS 스토리지 연결 서비스
★ AWS 네트워킹 서비스 식별
o VPC식별
1. Virtual Private Cloud (VPC)
: AWS 가상 네트워크
1) 네트워크 연결을 제어하는 기능
2) 계정을 생성하면 기본 VPC 네트워크가 생성
3) 기본 VPC는 인터넷과 연결되어 있고 EC2 인스턴스를 생성하면 자동으로 기본 VPC 연결
* VPC는 Private 네트워크이므로 Private IP 대역을 사용
10.0.0.0 ~ 10.255.255.255 (10.0.0.0/8)
172.16.0.0 ~ 172.31.255.255 ( 172.16.0.0/12)
192.168.0.0 ~ 192.168.255.255 (192.168.0.0/16)
* Site-to-Site VPN
: VPC와 연결을 위한 Virtual Private Gateway 및 온-프레미스의 Customer Gateway Device의 정보를 구성하기 위한 Customer Gateway를 설정하여 VPN Tunnel 연결을 만듬
2. CIDR (Classless Inter-Domain Rounting)
: IP 주소 범위를 정의하는 방식
1) IP 주소를 작은 그룹으로 분할 하는 것을 서브넷팅이라고 한다
2) 예를 들어 192.168.32.1/24 의 192.168.32.1은 IP, 24는 서브넷 마스크이며 IP대역을 24비트로 나눈 것이다.
3) 256개의 IP를 사용가능 0~255
3. 서브넷(Subnet)
: VPC의 IP 주소 범위
4. Routing Table
: 라우팅 규칙을 통해 네트워크 트래픽이 전송되는 위치를 결정
5. Internet Gateway
: VPC와 인터넷 간에 통신을 가능하게 함
1) 라우팅 테이블의 대상
2) 트래픽을 인터넷에 전달하기 위해서는 서브넷의 라우팅 테이블에 인터넷 게이트웨이를 대상으로 추가
3) 퍼블릭 서브넷 : 서브넷이 인터넷 게이트웨이로 바로 연결
4) 프라이빗 서브넷 : 서브넷이 인터넷 게이트웨이로 바로 연결
6. NACL(Network Access Control List)
: 서브넷 내부와 외부 트래픽을 제어하는 방화벽, 서브넷 레벨의 연결 방화벽
1) 하나의 NACL은 여러 서브넷과 연결 가능
2) 하나의 서브넷은 하나의 NACL만 연결 가능
3) 허용, 거부 규칙 모두 지정 가능
4) 연결 상태를 추적하지 않는 상태 - 비저장 방화벽(Stateless Fiwewall)
* NACL 규칙번호
: 가장 낮은 번호가 지정된 규칙부터 시작해서 트래픽이 내부 또는 외부로 전달되도록 허용되는 결정
* 보안 그룹 vs NACL 비교
6. NAT Instatnce
: EC2인스턴스에 NAT 기능을 설치
1) 퍼블릭 서브넷에 있는 NAT Instance를 시작하여 프라이빗 서브넷에 있는 EC2인스턴스가 인터넷 또는
다른 AWS 서비스로의 아웃바운드 트래픽 전송하되, 인터넷에서 시작된 인바운드 트래픽을 막을 수도 있다.
-> NAT Gateway
* NAT = 네트워크 주소 변환
7. VPC Peering
: 두 VPC간에 트래픽을 라우팅할 수 있도록 하기 위한 VPC 사이의 네트워킹 연결
1) 트래픽은 퍼블릭 인터넷을 통과하지 않고 프라이빗 IP주소를 사용하여 서로 통신
2) 같은 리전 내에 다른 리전 간, 다른 AWS 계정간 가능
3) 서로의 VPC 피어링을 하기 위해 라우팅 테이블에 피어링 연결 추가
* 지원되지 않는 VPC Peering 구성
1) CIDR 중첩 : 일치 or 중첩되는 IPv4 CIDR 블록 VPC간에는 연결 X
2) 전이적 피어링 (Transitive Peering) : A<->B, A<->C 연결 상태에서 B<->C는 A를 통해 서로 라우팅 X, 1:1만 가능
8. AWS PrivateLink
: VPC와 서비스 간에 프라이빗 연결 제공 기술
9. VPC 엔드포인트
: 인터넷을 통하지 않고 AWS 서비스에 프라이빗하게 연결할 수 있는 VPC 진입점
Ex) 게이트웨이 엔드포인트, 인터페이스 엔드포인트, Gateway Load Balancer 엔드포인트
* 하나의 엔드포인트는 하나의 VPC에만 연결
* 엔드포인트 서비스 : VPC 내에 있는 애플리케이션 or 서비스
o 보안그룹식별
1. 가상 네트워크 인터페이스-Elastic Network Interface (ENI)
1) IP 주소, MAC 주소 등을 부여
2) 인스턴스에 연결되어 네트워크 통신을 하는 역할
3) 인스턴스 생성 시 기본 네트워크 인터페이스가 IP 주소 등의 정보 할당과 함께 생성
4) 여러 개의 네트워크 인터페이스 연결 가능
5) 생성된 VPC 내에서만 사용가능
2. 보안 그룹 - Security Group
1) EC2 인스턴스에 대한 인바운드 및 아웃 바운드 트래픽을 제어하는 가상 방화벽 역할
* 인바운드 트래픽 : 외부에서 EC2 인스턴스로 들어오는 트래픽
* 아웃바운드 트래픽 : EC2인스턴스에서 외부로 나가는 트래픽
* 제어 규칙 : 트래픽 유형(SSH, HTTP), 프로토콜(TCP, UDP), 포트(22,80...), 대상(타겟)
2) EC2 인스턴스의 Elastic Network Interface (ENI)와 연결
3) 허용 규칙만 지정 가능하고 거부 규칙은 지정 할 수 없음
4) 연결 상태를 추적하는 상태저장 방화벽(Stateful Firewall)
* 상태 저장
1. 아웃바운드 규칙에 상관없이, 허용된 인바운드 트래픽에 대한 반응으로 외부로 나가는 흐름이 수행
2. 사용자가 인스턴스에서 요청을 전송하면 해당 요청의 응답 트래픽은 인바운드 보안 그룹 규칙에 관계없이 인바운드 흐름이 허용
o Amazon Route 53 의 목적 식별
1. Route 53
: AWS에서 제공하는 DNS(Domain Name System) 서비스
1) 퍼블릭 도메인 구매 또는 이전
2) AWS 내부 VPC에서만 사용할 수 있는 프라이빗 도메인 생성
3) 라우팅 정책 적용
: 도메인 네임을 IP주소 2개이상 라우팅 가능
1) 단순 - 랜덤하게 라우팅
2) 가중치 기반 - 가중치(%)에 따라 라우팅
3) 지연시간 - 지연시간이 가장 짧은 리전으로 라우팅
4) 지리적 위치 - 사용자가 속한 대륙이나 국가를 기준으로 라우팅
5) 장애조치 - 상태검사에 기본 라우팅이 실패하면 보조로 라우팅
o VPN, AWS Direct Connect 식별
1. VPN
: 인터넷을 이용해 가상 사설망(VPN)을 구성
2. Client VPN
: AWS 리소스와 클라이언트 PC와 연결하는 OpenVPN 기반의 VPN 서비스
3. Direct Connect
: AWS와 온-프레미스 간에 Direct Connect(DX) Location을 통한 전용선을 통해 프라이빗 네트워크 연결 생성
4. Transit Gateway
: 각 VPC or VPN 간의 모든 트래픽을 라우팅하며 복잡한 피어링 관계를 제거하여 네트워크 간소화
* AWS Data Transfer Chage 비용 : 동일 가용영역 내 < 동일 리전 내의 서로 다른 가용영역 < 서로 다른 리전 간
o Amazon RDS 식별
1. RDS(Relational Database Service)
: 관계형 데이터 베이스 서비스(Aurora, PostgreSQL, MySQL, MariaDB, Oracle, SQL Serve)을 제공
<-> 비관계형(NoSQL - DynamoDB, ElastiCache, Neptune)
o Amazon DynamoDB 식별
1. DynamoDB
: NoSQL 데이터베이스 서비스, 키-값 문서데이터 모델 지원, 서버리스 서비스 및 Auto Scaling
2. ElastiCache
: 인메모리 데이터 스토어, 1밀리초 미만의 빠른 응답시간을 제공
3. Neptune
: 완전 관리형 그래프 데이터베이스 서비스
o Amazon Redshift 식별
1. RedShift
: 데이터 웨어하우스, 클라우드에서 완벽하게 관리되는 페타바이트급 데이터 웨어하우스 서비스
보다 정보에 입각한 의사 결정을 내릴 수 있도록 분석 가능한 정보의 중앙 리포지토리
* 데이터 분석 서비스
1. Amazon Athena
: 표준 SQL을 사용해 Amazon S3에 저장된 데이터를 분석할 수 있는 쿼리 서비스
2. Amazon EMR(Elastic MapReduce)
: 분산 병렬 처리 컴퓨팅, Hadoop 클러스터를 손쉽게 생성해 주는 서비스
3. RedShift
: 위 참조
4. AWS Glue
: 데이터 분석을 위한 ETL(추출, 변환, 로드) 서비스
5. AWS QuickSight
: 클라우드 기반의 비즈니스 인텔리전스 도구, 대시보드, 그래프 등의 시각화를 통한 데이터분석을 통해 의사결정을 도와주는 서비스
3.4 기술 지원을 위한 리소스 식별
★ AWS 지원의 다양한 수준과 범위 식별
o AWS침해
o AWS 지원 사례, Premium Support, 기술지원관리자
* AWS Support 플랜
: AWS에서는 기본, 개발자, 비즈니스 Enterprise On-Ramp, 엔터프라이 5가지 플랜을 제공하며 기본 지원은 모든 AWS 고객에게 제공됨
* 기본 제공
1) 고객 서비스 및 커뮤니티
2) AWS Trusted Advisor
3) AWS Personal Health Dashboard - AWS 서비스 상태를 확인 및 특정 이벤트에 대한 알림 생성 가능
* AWS Support 플랜 종류
1) 개발자
: 실험중이거나 테스트하는 경우 권장하며 이메일을 통한 기술 지원 및 24시간 이내의 일반지침 응답시간 및 시스템손상시 12시간 이내
2) 비즈니스
: 워크로드가 있는 경우 최소 권장, 전화 및 채팅 액세스, 프로덕션 시스템 손상에 대해 4시간 이내 응답 중단 시 1시간 이내
3) Enterprise On-Ramp
: 프로덕션 또는 비즈니스 크리티컬 워크로드가 있는 경우 권장, 연중무휴 24시간 기술 지원 및 비즈니스 크리티컬 상황시 30분 이내
4) Enterprise
: 비즈니스 및 미션 크리티컬 워크로드가 있는 경우 권장, 연중무휴 24시간 기술 지원 및 비즈니스/미션 크리티컬 시스템 중단 시 15분이내
* AWS Well-Architected
: 인프라를 구축하는 클라우드 아키텍트를 돕기 위한 프레임워크
1) 운영 우수성 원칙
* 코드를 통한 운영
* 작은 단위성 변경
* 수시 운영 절차 수정
* 실패 예측
* 실패로부터 학습
2) 보안 원칙
* 강력한 자격 증명 기반 구현
* 추적 기능
* 모든 계층에 적용
* 보안 모범 사례 적용
* 전송 및 보관 데이터 보호
* 데이터를 쉽게 액세스할 수 없도록 유지
* 보안 이벤트에 대비
3) 안정성/신뢰성 원칙
* 장애 자동 복구
* 복구 절차 테스트
* 수평적 확장으로 워크로드에 가용성 증대
* 용량 추정 불필요
4) 성능 효율성 원칙
* 고급기술 대중화
* 글로벌 배포
* 서버리스 아키텍처 사용
5) 비용 최적화 원칙
* 클라우드 재무 관리
* 소비 모델 도입
* 효율성 측정
* 획일적인 업무부담에 대한 비용 지출 중단
* 지출 분석
도메인 4: 결제 및 요금제
4.1 AWS 의 다양한 요금제(예: 온디맨드 인스턴스, 예약 인스턴스 및 스팟 인스턴스 요금제) 비교 및 대조
★ 온디맨드 인스턴스 요금제에 가장 적합한 시나리오 식별
★ 예약 인스턴스 요금제에 가장 적합한 시나리오 식별
o 예약 인스턴스 유연성 설명
o AWS 조직의 예약 인스턴스 동작 설명
★ 스팟 인스턴스 요금제에 가장 적합한 시나리오 식별
1. 온디맨드 인스턴스
- 사용한 만큼만 비용을 지불하는 인스턴스
- 처음 60초 이후 초당 과금
- 장기약정이나 선결제가 없음
- 단기간 동안 예측할 수 없는 워크로드 및 중단되어서는 안되는 애플리케이션에 적합
- EC2에서 처음으로 개발 중이거나 시험 중인 애플리케이션 사용에 적합
2. 예약 인스턴스
- 1년 또는 3년 약정으로 구매하는 인스턴스
- 온디맨드에 비해 최대 75% 저렴
- 수요가 꾸준하고 예측가능한 경우에 유용
- 결제옵션은 전체 선결제, 부분 선결제, 선결제 없음 3가지 선택가능
o 선택가능한 예약 인스턴스 유형
- 표준 예약 인스턴스(Standard Reserved Instances): 인스턴스 타입을 지정하면 예약기간동안 변경 불가능
- 전환형 예약 인스턴스(Convertible Reserved Instances): 예약기간동안 인스턴스 타입 변경가능
- 정기 예약 인스턴스(Scheduled Reserved Instances): 지정된 시간, 날짜 동안에 인스턴스가 시작되어 사용
(반복적이며 하루, 한 주 또는 한달의 일부 기간 동안 필요한 경우 적합)
3. Saving Plans
- 1년 또는 3년 기간에 특정 사용량 약정으로 구매하는 인스턴스
- EC2 뿐만 아니라 Lambda 및 Fargate 서비스도 사용 가능
- 사용량은 시간당 USD 요금으로 측정
- 예를 들어 한 시간에 $5의 컴퓨팅 사용량을 약정하면 $5까지 Saving Plans 가격이 청구 되고 초과 사용량 은 온디맨드 요금이 청구 됨
- 온디맨드에 비해 최대 66~72% 저렴
- Compute Saving Plans 와 EC2 Instance Saving Plans 두가지 유형이 있음
- 예약 인스턴스와 달리 EC2 인스턴스 패밀리, 인스턴스 사이즈, 리전, OS 관계없이 적용 및 변경 가능한 유연성이 있음
4. 전용 호스트
- 물리적인 전용 서버를 할당 받아 사용하는 방식
- 사용자가 인스턴스 배치 방법을 지정할 수 있음
5. 전용 인스턴스
- 물리적인 전용 서버를 할당 받아 사용하는 방식
- 전용 호스트에서 사용가능한 CPU 코어, 인스턴스 배치, 사용자 라이선스 사용 불가
6. 스팟 인스턴스
- 사용하지 않는 예비 EC2용량을 경매방식으로 구매하여 사용하는 방식
- 온디맨드 인스턴스보다 최대 90% 저렴
- 경매조건에 미달하면 인스턴스가 정지 또는 종료되므로 언제든지 시작 및 종료가 가능한 경우에 사용
- 언제든 인스턴스가 종료될 수 있기 때문에 서버가 중단없이 지속적으로 실행 되어야하는 경우 사용 안함
- 여러 개의 스팟 인스턴스를 하나의 그룹으로 묶어 스팟 집합(Spot Fleets)으로 구매해서 사용
- 예약인스턴스 + 스팟인스턴스(짧은 시간 급격하게 증가된 용량이 필요한 경우)의 조합으로 사용
4.2 AWS 결제 및 요금제와 관련된 다양한 계정 구조 인식
★ 통합 결제가 AWS Organizations 의 기능임을 인식
★ 여러 계정을 통해 부서 전체에 비용을 할당하는 방법 식별
1. AWS Organizations
: 여러 AWS 계정을 중앙에서 관리, 전체 계정을 관리하는 계정을 관리계정, 그 외의 계정은 멤버 계정
1) 조직 단위로 그룹화하여 관리
2) 그룹마다 서비스 제어 정책을 적용하여 제어
* SCP(Service Control Policy) - 서비스 제어 정책으로 계정에 대한 AWS 서비스 제어
3) 결제를 한 곳으로 통합 가능하고 볼륨 가격 할인을 받을 수 있음
4.3 결제 지원에 사용할 수 있는 리소스 식별
★ 결제 지원 및 정보를 얻는 방법 식별
o 비용 탐색기, AWS 비용 및 사용 보고서, Amazon QuickSight, 서드 파티 파트너 및 AWS Marketplace 도구
1. AWS Budgets(예산)
: 예산을 지정하여 비용과 사용량을 추적하는 서비스
1) 비용 또는 사용량이 사용자가 지정한 임계값을 초과할 때 이메일 등으로 알림을 받거나 RDS/EC2 등 의 서비스를 중지하는 작업을
연결할 수 있음
2) 비용 할당 태그를 이용해 AWS 특정 리소스에 태그값을 지정하여 태그에 대한 리소스 보고서만 생성 가능
(예를 들어 특정 애플리케이션을 실행하는 서비스 비용과 사용량에 대한 보고서 작성)
2. AWS Cost Explorer(비용 탐색기)
: AWS 서비스에 대한 비용 및 사용량을 분석하는 서비스
1) 서비스별, 계정별로 일별, 월별 사용량 및 비용을 확인하여 보고서를 생성 및 다운로드 할 수 있음
2) Cost Explorer는 그래프, 숫자를 통한 시각화 된 인터페이스를 제공
3. AWS Pricing Calculator
: 예상 비용을 계산하는 서비스
[4] 기타 개념
* 탄력적 IP (Elastic IP)
1. 인스턴스 생성시 자동으로 할당 받은 Pulbic IP는 인스턴스를 재시작 하면 다른 IP로 재할당 받기에 Public IP 주소가 변경
2. 인터넷 연결 가능한 정적 Public IP
* Amazon Machine Image (AMI)
1. OS, 애플리케이션, 서버 프로그램 설정 등이 미리 구성된 이미지
2. 운영 중인 EC2인스턴스를 커스텀 AMI로 만들어서 동일한 환경으로 구성된 EC2를 빠르게 시작 가능
* 배치 그룹
: EC2 인스턴스 배치를 구성하는 방법
1. 클러스터 배치그룹 : 고성능 네트워크 연결로 이루어진 인스턴스 그룹
2. 파티션 배치그룹 : 인스턴스 그룹을 하드웨어를 공유하지 않는 파티션 단위로 분할
3. 분산형 배치그룹 : 인스턴스 그룹을 별개의 서버랙 단위로 분할
* DMS(Database Migration Service)
: 데이터베이스를 마이그레이션하는 서비스 (DB->DB)
* SQS(Simple Queue Service)
: 메시지를 대기하는 기능, 애플리케이션 간의 느슨한 결합 제공
* SNS(Simple Notification Service)
: 메시지 전송 서비스, Push 방식으로 메세지 전송, 문자, 이메일, S3버킷이벤트, CloudWatch 이벤트 등
* Kinesis
: 실시간 스트리밍 데이터를 손쉽게 수집, 처리 및 분석하는 서비스
* API Gateway
: 개발자가 API 생성, 게시, 유지 관리, 모니터링 및 보안 유지를 할 수 있게 하는 서비스
* CloudFormation
: 코드를 통해 인프라를 프로비저닝, 관리하는 서비스(Infrastructure as Code)
* AWS 컨테이너 서비스 종류
1) Elastic Container Service(ECS) - Docker 컨테이너를 배포 관리하는 컨테이너 오케스트레이션 서비스
2) Amazon Elastic Kubernetes Service(EKS) - 아마존에서 Kubernetes를 실행하는 대규모 오픈 소스 컨테이너 서비스
3) AWS Fargate - 서버리스 컨테이너 서비스
4) Amazon Elastic Container Registry(Amazon ECR) - Docker 등의 컨테이너 이미지를 공유, 배포 등의 관리 서비스
* Lambda
: 코드를 실행하여 동작하는 서버리스 컴퓨팅
1) 인프라를 프로비저닝하거나 관리하지 않고 코드를 실행합니다. .zip 파일 또는 컨테이너 이미지로 코드를 작성하고 업로드하기만 하면 됩니다.
2) 일일 12건에서 초당 수십만 건에 이르기까지 모든 규모의 코드 실행 요청에 자동으로 응답합니다.
3) 최대 용량을 위해 인프라를 미리 프로비저닝하는 대신 사용한 컴퓨팅 시간에 대해서만 밀리초 단위로 비용을 지불하여 비용을 절감합니다.
* Elastic Beanstalk
: 웹 애플리케이션 및 서비스를 배포하고 운영하는 서비스, 사용자가 직접 인프라 리소스를 구성할 필요없고 코드에만 집중
* SSM(System Manager)
: 서버의 운영 데이터를 수집하는 기능
* CodeCommit
: Git을 이용해 코드 버전 관리하는 서비스
* CodeDeploy
: 코드 배포를 자동화하는 서비스
* CodeBuild
: 코드를 빌드하는 서비스
* CodePipeline
: 코드 릴리즈 파이프라인을 자동화하는 서비스, 빌드->테스트->배포 단계를 자동화
* CodeArtifact
: 소프트웨어 패키지를 안전하게 관리하는 아티팩트 리포지토리 서비스
* CodeStar
: 개발 활동을 한 곳에서 쉽게 관리하는 서비스
* Cloud9
: 클라우드 기반 IDE 서비스
* X-Ray
: 애플리케이션 분석 및 디버깅 서비스
* Device Farm
: 웹 및 모바일 앱 품질을 향상시키는 애플리케이션 테스트 서비스
* Fault Injection Simulator
: 오류 주입 실험을 수행하기 위한 완전 관리형 서비스
* Comprehend
: 텍스트안에서 특정 항목 찾아내는 서비스
* Rekognition
: 이미지, 비디오 분석
* Polly
: 텍스트를 음성으로 변환
* Lex
: 음성 인식 서비스
* Textract
: 문자, 테이블, 양식 추출 서비스
* Translate
: 번역 서비스
* Amazon Connect
: 클라우드 기반 고객 센터 서비스
* Forecast
: 머신러닝 기반으로하며 지표분석을 위해 예측 서비스
* SageMaker
: 머신러닝 모델을 구축, 훈련 및 배포하는 서비스
* AWS Marketplace
: 클라우드에 쓸 소프트웨어를 구입하는 곳
1) 다른 AWS 사용자에게 솔루션 판매
2) 라이센스에 따라 시간 또는 월 단위로 소프트웨어 비용을 지불
3) 사용자가 1-Click 으로 애플리케이션 사용 가능