AWS CCP 시험 대비 내용 정리
클라우드 컴퓨팅
클라우드 컴퓨팅 장점 6개
- 자본비용을 가변비용으로 대체
- 규모의 경제로 얻게 되는 이점
- 용량 추측 불필요
- 속도 및 민첩성 개선 (=리소스 확장/감소 용이함)
- 데이터 센터 운영 및 유지 관리에 비용 투자 불필요
- 몇 분안에 전지역으로 배포
클라우드 컴퓨팅 모델
1. IaaS(서비스로서의 인프라)
- 클라우드 IT의 기본 구성 요소를 포함하고 네트워킹 기능/컴퓨터 및 스토리지 공간 제공
- AWS, EC2
2. Paas(서비스로서의 플랫폼)
- 기본 인프라를 관리할 필요가 없고 애플리케이션 개발/배포/관리에 집중 할 수 있다.
- 애플리케이션 실행과 관련된 리소스 구매, 용량 계획, 소프트웨어 유지 관리 패치 등
- AWS Elastic Beanstalk, RDS, ECS 등
3. SaaS(서비스로서의 소프트웨어)
- 서비스 제공자에 의해서 실행되고 관리되는 완전한 제품을 고객에게 제공
- S3, dropbox 등
클라우드 컴퓨팅 배포 모델
1. 클라우드
- 클라우드 상에 완전히 배포되며 애플리케이션의 모든 부분이 클라우드에서 실행
2. 하이브리드
- 클라우드 기반 리소스와 온프레미스 인프라가 연결됨.
3. 온프레미스
- 기업이 자체 시설에서 보유하고 직접 유지하는 프라이빗 데이터 센터
글로벌 인프라
1. 리전
- AWS가 전 세계에서 데이터 센터를 클러스터링 하는 물리적 위치
- 각 리전은 3개 이상의 가용영역으로 구성되어 있다.
2. 가용영역(Availavility Zone)
- AWS 리전의 중복 전력, 네트워킹 및 연결이 제공
- 하나 이상의 개별 데이터 센터로 구성되어 있다.
- 다른 AZ와 수 킬로미터 거리를 두고 분리되어 있다.
3. 데이터센터
- 데이터 센터는 데이터가 상주하고 데이터가 처리되는 위치
- 각 데이터 센터는 이중화 된 전력, 네트워킹 및 연결을 사용하고 별도의 시설에 구축 된다.
4. 엣지 로케이션(Edge Location)
- 전 세계 사용자에게 빠른 데이터 전달을 위해서 캐시 데이터를 보관하는 사이트
- Amazon CloudFront(=CDN)서비스와 연관됨 ★
AWS 클라우드 플랫폼
AWS의 다양한 클라우드 서비스에 액세스 하는 방법
1. AWS management console(웹 콘솔)
- 브라우저를 통해서 AWS의 여러가지 서비스를 관리할 수 있다.
2. AWS CLI
- AWS 서비스를 명령어를 이용해서 관리
- 스크립트로 자동화 가능
3. AWS SDK(소프트웨어 개발 키트)
- 프로그래핑 언어 또는 플랫폼에 맞게 조정된 API로 애플리케이션에서 AWS 서비스를 사용
- 프로그래밍 언어를 이용해서 사용 할 수 있다.
- 사용자가 코드 및 구성 설정을 제공하면 자동으로 용량/로드밸런싱/모니터링을 해준다.
컴퓨팅
Amazon EC2(Amazon Elastic Computing Cloud)
- 클라우드에서 안전하고 크기 조정이 가능한 컴퓨팅 파워를 제공하는 서비스
- EC2의 OS, 성능(CPU, MEM, 스토리지 등)을 선택할 수 있다.
- Amazon VPC와 함께 작동하며 컴퓨팅 리소스에 보안성 및 강력한 네트워킹 기능을 제공한다.
EC2 요금제
1. 온디맨드 요금제
- 약정없이 사용량에 따라 요금을 지불한다.
- 단기적이고 갑작스러울 때, 예측하기 어렵고 중단하면 안되는 경우에 적합
2. 예약 인스턴스
- 항상 사용중인 서버 자원을 위한 예약 요금제
- 1년 또는 3년 약정
- 온디맨드 요금제에 비해서 최대 75% 할인
3. 스팟 인스턴스
- 남는 컴퓨팅 자원에 대해서 저렴하게 사용하는 요금제
- 언제든지 종료되어도 되는 인스턴스에 적합
- 백그라운드 작업, 배치 작업 등 단기성 작업에 적합
- 온디맨드 요금제에 비해서 최대 90% 할인 가능
4. 전용호스트
- EC2가 동작하는 물리서버를 단독으로 사용하는 요금제
- 가장 비싸다.
EC2 관련 서비스
1. EC2 오토 스케일링(Auto Scaling)
- EC2 용량을 자동으로 확장/축소하여 가용성을 유지한다.
- 무료사용
- 수요 증가 할 때 → 리소스 증설 or 인스턴스 개수 증가
- 수요 감소 할 때 → 리소스 축소 or 인스턴스 개수 감소
- 최소 1개 이상의 인스턴스가 실행중이어야 함
- 최소용량/희망용량/최대용량을 지정(=제한)할 수 있다.
- 스케일 업(수직확장) → 성능 추가
- 스케일 아웃(수평확장) → 인스턴스 개수 증가
2. ELB(Elastic Load Balancing)
- 애플리케이션 트래픽을 자동으로 분산하는 서비스
- 오토 스케일링과 ELB는 서로 연동 가능하다.
- 들어오는 트래픽의 양에 따라서 EC2인스턴스를 증가/감소 한다.
3. AWS Elastic Beanstalk
- Java, Python, Docker, Ruby, .NET, Node.js를 사용하여 Apache, Nginx, Passenger 같은 친숙한 서버에서 개발된 웹 애플리케이션 및 서비스를 배포하고 확장하는 서비스
4. AWS Batch
- 제출된 배치 작업의 볼륨 및 특정 리소스 요구사항에 따라 최적의 컴퓨팅 리소스를 동적으로 프로비저닝 한다.
서버리스
1. AWS Lambda
- 서버를 프로비저닝 하지 않고도 코드를 실행할 수 있는 컴퓨팅 서비스(서버리스)
- 사용한 시간 동안에만 비용이 부과된다.
2. AWS ECS(Amazon Elastic Container Service)
- Docker 컨테이너를 지원하는 컨테이너 관리 서비스
- 자체적인 클러스터 관리 인프라를 설치, 운영 및 확장할 필요가 사라진다.
- ELB, Amazon EBS, IAM 역할 등 여러 기능에 엑세스 가능하다.
3. AWS EKS(Amazon Elastic Kubernetes Service)
- AWS에서 Kubernetes를 실행하는 데 사용할 수 있는 완전 관리형 서비스
4. AWS Fargate
- 컨테이너를 위한 서버리스 컴퓨팅 엔진
- 서버 확장, 패치, 보안 및 관리 운영 오버헤드를 피한다.
- ECS, EKS에서 작동한다.
메시징
1. Amazon SES(Simple Email Service)
- 애플리케이션 안에서 이메일을 보낼 수 있는 서비스
2. Amazon SNS (Simple Notification Service)
- 메시지를 전달하는 서비스
- 애플리케이션 간에 메시지를 전송하거나 SMS, 푸시, 알림 등을 이용하여 사용자와 직접 통신
3. Amazon SQS (Simple Queue Service)
- 메시지 대기열 서비스
- 애플리케이션 이벤트 또는 메시지에 대해 내구성 있는 스토리지가 필요한 경우
- 더 나은 내결함성을 위해서 시스템의 특정 부분을 분리해야 하는 경우
스토리지
스토리지 종류
1. AWS 인스턴스 스토어
- EC2에 물리적으로 연결되어 있으며, EC2가 종료되면 데이터 삭제된다.(휘발성)
- 임시 블록 수준의 스토리지, 물리서버에 장착된 디스크에 위치한다.
2. Amazon EBS(Elactic Block Store)
- EC2 인스턴스에서 사용할 수 있는 블록 수준 스토리지 볼륨을 제공한다.
- 특정 시점의 EBS 볼륨 스냅샷을 지원한다.
- EBS 볼륨은 단일 가용영역에 데이터를 저장한다.
- 하나의 EBS 볼륨을 여러 인스턴스에서 사용하기 위해서는 동일한 AZ에서 인스턴스가 실행되어야 한다.
3. Amazon EFS(Elastic File System)
- EC2 인스턴스에 사용할 수 있는 간단하고 확장 가능한 파일 스토리지 서비스
- 여러 가용영역에 데이터를 저장한다.
- 같은 리전 내에 여러 인스턴스에서 동시에 R/W할 수 있다.
- 온프레미스와 VPC간에 AWS Direct Connect로 연결 구성하면 EFS에 엑세스 할 수 있다.
3. AWS S3(Simple Storage Service)
- 확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스
- 클라우드 데이터 마이그레이션을 통해 S3로 대량의 데이터를 송수신 가능하다.
- 데이터를 버킷에 객체로 저장하며 모든 유형의 파일을 업로드 할 수 있다.
- 최소 3개의 가용영역에 데이터를 저장한다.
- 온프레미스에서 직접 접근 불가
- 온프레미스에서 직접 접근하려면 AWS Storage Gateway를 사용해야 한다.
S3 요금제
1. S3 Standard
- 자주 액세스하는 데이터용으로 설계
- 객체에 대한 고가용성을 제공, 검색요금 부과X
2. S3 Standard IA(Infrequent Access)
- 액세스 빈도는 낮지만 필요할 때 빠르게 액세스가 필요한 데이터를 위한 용도
- 장기저장, 백업 및 재해복구 데이터 저장용, 검색요금 부과X
3. S3 One Zone IA(Infrequent Access)
- 자주 액세스 하지 않지만 필요할 때 빠르게 액세스가 필요한 데이터에 적합
- 단일 가용영역에 데이터를 저장
- S3 Standard IA보다 20%저렴
4. S3 Glacier
- 데이터 보관 및 장기 백업을 위해 안정적이며 비용이 저렴한 스토리지 클래스
- 데이터 암호화를 자동으로 활성화
- 객체를 몇 분에서 몇 시간 이내에 검색
5. S3 Glacier Deep Archive
- S3에서 가장 저렴한 비용의 스토리지 클래스
- 1년에 한두번 액세스 하거나 장기보관할 때 적합
- 객체를 12시간 이내에 검색 가능
6. AWS Storage Gateway
- 온프레미스 스토리지 환경과 AWS 클라우드 양쪽을 하이브리드 스토리지로 사용 가능
데이터베이스
1. Amazon RDS(Amazon Relational Database Service)
- AWS 클라우드에서 관계형 데이터베이스를 실행할 수 있는 서비스
- 프로비저닝, DB설정, 패치 적용, 백업 등 작업을 자동화하는 관리형 서비스
- SQL 사용
- Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle, MS-SQL 엔진 중 하나 선택 할 수 있다.
- 저장 및 전송시 암호화 기능 제공
2. Amazon Aurora
- 클라우드를 위해 구축된 MySQL, PostgreSQL 호환 관계형 데이터 서비스
- 매우 짧은 초당 읽기/쓰기 시간
- 완전 관리형 데이터베이스 서비스
- Amazon VPC, KMS, SSL등을 이용해 암호화
- 6개의 데이터 복사본을 3개의 가용영역에 복제하고 지속적으로 Amazon S3 데이터를 백업
3. Amazon DynamoDB
- 지연시간이 한자리 밀리초 단위여야 하는 빠른 NoSQL 데이터베이스 서비스
- 비관계형 데이터베이스의 구조적 접근 방식 중 한 유형은 키-값 페어이다.
- 완전관리형 데이터베이스 서비스
- 서버리스 시스템이라서 자동으로 용량/성능 조절 가능하다.
4. Amazon ElastiCache
- 클라우드에서 인메모리 캐시를 배포/운영/조정할 수 있게 하는 웹 서비스
- Redis : 빠른 오픈소스인 메모리 데이터 스토어 및 캐시
- Memcached : 널리 채택된 메모리 객체 캐싱 시스템
마이그레이션
1. AWS Database Migration Service(AWS DMS)
- 데이터베이스를 AWS로 간편하고 안전하게 마이그레이션 할 수 있는 서비스
- 마이그래이션 진행중에도 DB 정상 작동함.
- 여러 DB통합, 여러 복제본 생성 가능함
2. AWS Snowball
- 페타바이트 규모의 데이터 전송 솔루션
네트워킹과 콘텐츠 전송
1. Amazon VPC
- 사용자가 정의한 가상의 네트워크에서 AWS 리소스를 실행할 수 있다.
- 한 VPC내에 여러 서브넷으로 쪼개어 사용이 가능하다.(서브넷끼리 통신 가능)
- 퍼블릭 네트워킹/프라이빗 네트워킹 구분되어 있다.
- VPC 대시보드에서 보안그룹/ACL 관리 가능함
2. Gateway
- 인터넷 게이트웨이 : 퍼블릭 트래픽이 VPC에 액세스하기 위해서는 인터넷 게이트웨이를 통해야 함
- 가상 프라이빗 게이트웨이 : 허용된 네트워크만 특정 VPC로의 액세스가 가능하도록 한다.
3. AWS Direct Connect
- 데이터센터와 VPC간에 비공개 전용선을 연결하는 것
4. ACL
- 서브넷에 대한 인바운드/아웃바운드 트래픽을 제어하는 역할
- ACL은 상태 비저장 패킷 필터링 기능이 있다.
- ACL은 규칙 목록에 따라 패킷 응답을 확인하여 허용 또는 거부 결정한다.
5. 보안그룹
- 서브넷 내에 있는 인스턴스에 대한 인바운드/아웃바운드 트래픽을 제어하는 역할
- 기본적으로 모든 인바운드 트래픽을 거부하고 모든 아웃바운드 트래픽을 허용한다.
6. Amazon Route53
- DNS 서비스
- 도메인 이름의 DNS레코드를 관리하는 기능이 있다.
- IPv6와 호환
7. Amazon CloudFront
- CDN 서비스
8. AWS Transit Gateway
- 중앙 허브를 통해 VPC와 온프레미스 네트워크를 연결
- 복잡한 피어링 관계를 제거하여 네트워크를 간소화
개발자도구
1. AWS CodePipeline
- 애플리케이션 및 인프라를 빠르고 안정적으로 업데이트 할 수 있는 지속적 통합 및 전송 서비스
2. AWS X-Ray
- 개발자가 마이크로 서비스 아키텍처를 사용하여 배포된 애플리케이션을 분석 및 디버그하는데 도움
3. AWS CodeBuild
- 소스코드 컴파일 및 테스트 → 소프트웨어 패키지 개발 및 배포하는 완전관리형 통합 서비스
4. AWS CodeCommit
- Git 기반의 레포지토리를 호스팅하는 완전관리형 소스제어 서비스
관리도구
1. Amazon CloudWatch
- 여러 모니터링 지표를 시각화 하고 임계값을 설정하여 알람을 발생시키는 툴
- 시간 경과에 따라 성능이 어떻게 변하는지 그래프 생성해줌
- 결제지표는 미국 동부 리전에 저장
2. AWS CloudFormation
- 코드를 사용해서 리소스를 안전하게 반복적으로 프로비저닝 가능
3. AWS CloudTrail
- 계정에 대한 AWS API호출을 기록하고 로그를 보관
- API 호출시간, 호출자, 변경내용등 여러 내용 있음
- 기본적으로 활성화 되어 있음
4. AWS Trusted Advisor★
- AWS 환경을 최적화하여 비용을 줄여주고 성능을 향상시키며 보안을 개선하는 온라인 리소스
- 비용 최적화, 보안, 내결함성, 성능 및 서비스 한도
- AWS 모범사례에 따라 리소스를 프로비저닝할 때 도움이 되는 지침을 실시간으로 제공
5. AWS Personal Health Dashboard
- AWS가 고객에게 영향을 미칠수 있는 이벤트가 발생 할 때 알림 및 지침 제공
6. AWS Service Health Dashboard
- 모든 리전에 대해 표 형식으로 모든 AWS 서비스의 상태 및 가용성에 대한 최신 정보를 게시
자격증명, 보안 및 규정준수
자격증명
1. AWS IAM
- AWS 서비스와 리소스에 대한 액세스를 관리
2. IAM 정책
- root 사용자가 리소스에 대한 IAM 사용자의 권한을 지정할 수 있다.
- [최소 권한 부여 원칙] 권장
3. IAM 액세스 어드바이저
- 사용자에게 부여된 권한을 검토할 수 있다.
4. IAM 자격 증명 보고서
- 모든 계정의 ID-PW 및 MFA 디바이스 등 자격증명상태를 볼 수 있다.
5. Multi-Factor Authentication
- AWS 로그인 할 때, ID와 PW 외에 2차 인증 필요
6. AWS Organizations
- 여러 IAM 계정을 관리하는 계정 중앙 관리 시스템
- 여러 계정에서 발생하는 비용을 통합결제 가능
- SCP(서비스제어정책)을 사용하여 계정에 대한 권한을 중앙에서 통제한다.
보안
1. AWS KMS
- 데이터 암호화 키를 생성 및 관리하는 서비스
- AWS CloudTrail에 키 사용 관련 로그 제공
2. AWS WAF
- 웹 어플리케이션이나 API를 보호하는데 도움이 되는 웹 애플리케이션 방화벽
- 승인된 요청을 제외한 모든 요청을 차단할 수 있다.
- AWS CloudFront, Application Load Balancer과 연동하여 작동 할 수 있다.
3. Amazon Inspector
- 자동화된 보안평가를 실시하여 사용자에게 보여주는 서비스
- 보안 탐지 결과 및 심각도 제공
- 애플리케이션의 보안 및 보안 규정준수에 도움을 주는 서비스
4. AWS Shield
- AWS에서 실행되는 애플리케이션에 대한 DDos 보호 서비스
5. Amazon GuardDuty
- Amazon GuardDuty는 AWS 인프라 및 리소스에 대한 지능형 위협 탐지 기능을 제공하는 서비스
- AWS 환경 내의 네트워크 활동 및 계정 동작을 모니터링하여 위협을 식별
- AWS 소스의 데이터를 지속적으로 분석
6. Amazon Macie
- 완전관리형의 데이터 보안 및 데이터 프라이버시 서비스
- 기계 학습 및 패턴 매칭을 활용하여 AWS에서 민감한 데이터를 검색하고 보호
7. AWS CloudHSM
- 암호화 키를 생성 및 사용할 수 있도록 지원하는 클라우드 기반 하드웨어 보안 모듈
8. AWS Certificate Manager
- AWS 서비스 및 연결된 내부 리소스에 사용할 공인 및 사설 SSL/TLS 인증서를 손쉽게 프로비저닝
규정준수
1. AWS Artifact
- 규정 준수와 관련된 정보를 제공하는 서비스
- 규정 준수 사례를 읽고 기업들이 다양한 규정준수 거버넌스 및 감사 과제 해결 사례를 참고 할 수 있다.
분석
1. Amazon Redshift
- 빅데이터 분석에 사용할 수 있는 데이터 웨어하우징 서비스
- 여러 데이터를 수집하여 데이터 간의 관계 및 추세를 파악하는 데 도움이 되는 기능을 제공
인공지능
1. Amazon Lex
- 음성과 텍스트를 사용하는 애플리케이션에 대해서 대화형 인터페이스를 구축하는 서비스
2. AWS Polly
- 텍스트를 음성으로 변환하는 서비스
3. Amazon Rekognition
- 딥러닝 기술을 이용한 이미지 및 비디오 분석 기능
4. Amazon Machine Learning
- 기술 수준을 막론하고 모든 개발자가 기계 학습 기술을 사용 할 수 있게 해주는 서비스
5. Amazon SageMaker
- 모든 개발자 및 데이터 과학자가 기계 학습 모델을 빠르게 구축, 훈련, 배포 할 수 있도록 하는 완전 관리형 서비스
6. Amazon Transcribe
- 개발자가 음성을 텍스트로 변환하는 기능을 애플리케이션에 쉡게 추가할 수 있도록 지원
7. Amazon Connect
- 컨택 센터 운영을 단순화 가능하며 수백만 고객을 지원 할 수 있음
- 상담원 효율성 개선 및 비용 절감
비용 및 요금
1. AWS Cost Explorer
- AWS 비용 및 사용량을 시각화 및 분석해주는 도구
- 필터 및 그룹을 지정하여 확인 가능
2. AWS budget
- 비용이나 사용량이 예산 금액을 초과 또는 임박했을때 알람 서비스 제공
3. AWS 비용 및 사용 보고서
- AWS 비용 및 사용에 대한 포괄적인 정보에 액세스할 수 있는 단일 위치
4. AWS Pricing Calculator(비용 탐색기)
- 사용자가 제공한 특정 정보를 기반으로 AWS 서비스의 사용료 추정치를 제공
기타
공동책임모델
- 고객 → 클라우드 내에서 생성하는 애플리케이션, OS, 데이터 등에 대한 책임
- AWS → 클라우드 자체의 보안, 글로벌 인프라 보호, HW, 가용영역, 물리적 보안 등 책임
AWS Well-Architeched 원칙
- 운영 우수성 원칙 – 시스템을 실행 및 모니터링(변경 자동화, 절차 개선)
- 보안 원칙 – 정보, 시스템, 자산을 보호(데이터의 기밀성 및 무결성, 권한 관리)
- 안정성 원칙 – 워크로드가 의도하는 기능을 원하는 시점에 수행(down time 최소화, 서비스 중단 최소화)
- 성능 효율성 원칙 – IT 및 컴퓨팅 리소스를 효율적으로 사용
- 비용 최적화 원칙 – 불필요한 비용 발생 최소화(지출영역 파악 및 통제)
AWS 서포트 단계
1. Basic Support 플랜
- AWS Trusted Advisor 검사, AWS Personal Health Dashboard 사용 가능
2. Developer Support 플랜
- 기능과 구축 및 테스트시 일반적인 아키텍처 지침을 지원
7-3) Business Support 플랜
- 모든 AWS Trusted Advisor 검사
- 특정 요구 사항을 가장 잘 지원할 수 있는 AWS 제품, 기능 및 서비스를 식별하기 위한 사용 사례 지침 제공
7-4) Enterprise Support 플랜
- 회사의 특정 사용 사례 및 애플리케이션을 지원하기 위한 컨설팅 관계인 애플리케이션 아키텍처 지침 지원
- 모든 AWS Trusted Advisor 검사 지원
- 기술 지원 관리자(TAM)에 대한 액세스가 포함
- 비즈니스 크리티컬 시스템 중단 발생시 지원 < 15분 내
인공지능
1. Amazon Lex
- 음성과 텍스트를 사용하는 애플리케이션에 대화형 인터페이스를 구축하는 서비스
2. AWS Polly
- 텍스트를 음성으로 변환하는 서비스
3. Amazon Rekognition
- 딥러닝 기술을 이용한 이미지 및 비디오 분석 기능
4. Amazon Machine Learning
- 기술 수준을 막론하고 모든 개발자가 기계 학습 기술을 사용 할 수 있게 해주는 서비스
5. Amazon SageMaker
- 모든 개발자 및 데이터 과학자가 기계 학습 모델을 빠르게 구축, 훈련, 배포 할 수 있도록 하는 완전 관리형 서비스
6. Amazon Transcribe
- 개발자가 음성을 텍스트로 변환하는 기능을 애플리케이션에 쉡게 추가할 수 있도록 지원
기타
1. Amazon Cognito
- google, apple 등 타사 계정을 통해서 로그인 가능
- 웹과 모바일 앱에 빠르고 손쉽게 사용자 가입, 로그인 및 액세스 제어 기능을 추가