AWS Cloud Practitioner Essentials course를 수강하며 정리한 내용입니다.
강의 : https://explore.skillbuilder.aws/learn/course/1928/aws-cloud-practitioner-essentials-korean
모듈 1: AMAZON WEB SERVICES 소개
Undifferentiated Heavy-lifting of IT
- 공통적인 IT 리소스 작업 관리는 차별점을 만들지 못한다.
- AWS는 이런 작업들을 handling하여, 기업이 다른곳에서 차별점을 만드는데 집중하도록 돕는다.
Cloud Computing 배포 모델
- 클라우드 기반 배포
- 온프레미스 배포 (a.k.a 프라이빗 클라우드 배포)
- 하이브리드 배포
클라우드 컴퓨팅의 이점
- 선행 비용을 가변 비용으로 대체
- 사용할 방법을 결정하기도 전에 리소스에 미리 투자 하지 않아도 된다.
- 데이터 센터 운영 및 유지 관리에 비용 투자 불필요
- 용량 추정 불필요
- 규모의 경제로 얻게 되는 이점
- 고객이 많을수록 provider의 운영 비용 감소로, 고객의 요금 감소
- 속도 및 민첩성 향상
- 빠르게 애플리케이션을 개발, 배포할 수 있다.
- 몇 분 만에 전 세계에 배포
- 글로벌 입지를 이용해 전 세계 고객에게 짧은 지연 시간, 빠른 배포를 가능하게 함.
모듈 2: 클라우드 컴퓨팅
EC2의 작동 방식
- EC2 instance는 호스트 머신 위에서 가상머신으로 실행된다.
- Multi Tenancy : 여러 인스턴스가 기본 하드웨어 공유
- 하이퍼바이저 : 호스트 머신에서 Multi Tenancy 관리(managed by AWS)
On-premise vs EC2
- 미리 하드웨어를 구매, 설치 시까지의 기다림, 필요한 구성을 모두 수행해야함 vs 몇 분안에 EC2 인스턴스를 프로비저닝하고 시작
- 서버를 사용하지 않을 때 유휴 비용 발생 vs 사용한 컴퓨팅 시간에 대해서만 비용 지불
EC2 인스턴스 유형
- 범용 인스턴스
- 컴퓨팅, 메모리, 네트워킹 리소스를 균형 있게 제공
- 컴퓨팅 최적화 인스턴스
- 고성능 프로세서를 활용하는 컴퓨팅 집약적인 애플리케이션에 적합
- 메모리 최적화 인스턴스
- 메모리에서 대규모 데이터 세트를 처리할 때 유용
- 애플리케이션을 실행하기 전에 많은 데이터를 미리 로드해야 할때 ex) 고성능 데이터베이스, 다량의비정형 데이터 실시간 처리
- 액셀러레이티드 컴퓨팅 인스턴스
- 하드웨어 액셀러레이터 또는 코프로세서를 사용해 가속
- 특정 연산을 하드웨어 가속기로 처리해 일반 CPU에서의 계산보다 더 효율적으로 수행 ex) 부동 소수점 수 계산, 그래픽 처리, 데이터 패턴 일치 등이 있습니다.
- 스토리지 최적화 인스턴스
- 로컬 스토리지의 대규모 데이터 세트에 대해 순차적 읽기 및 쓰기 액세스가 많이 수행될 때 ex) 분산 파일 시스템, 데이터 웨어하우징 애플리케이션, 고빈도 온라인 트랜잭션 처리(OLTP) 시스템
- IOPS(초당 입출력 작업 수)라는 용어는 스토리지 디바이스의 성능을 측정하는 지표입니다.
- 디바이스가 1초 내에 수행할 수 있는 입력 또는 출력 작업의 수
- 스토리지 최적화 인스턴스는 높은 IOPS를 요구하는 애플리케이션에 유용
EC2 요금
- 온디맨드
- 중단할 수 없는 불규칙한 단기 워크로드에 적합
- 인스턴스는 중지 전까지 계속 실행, 사용한 시간에 비례하여 비용 지불
- 1년 미만의 워크로드에 적합 → 1년 이상은 예약 인스턴스가 더 쌈
- Amazon EC2 Savings Plans
- 시간 당 금액에 약정을 걸어 할인 (약정 사용량을 정함)
- 약정 사용량까지는 할인된 Savings Plan 요금 청구, 초과한 사용량에 대해서는 일반 온디맨드 요금 부과
- Savings Plan : AWS Lambda와 AWS Fargate는 물론 EC2 인스턴스에도 적용됩니다.
- 예약 인스턴스
- 온디맨드 인스턴스에 약정을 걸어 할인받는 유형 (약정 사용량 X)
- 표준 예약 및 컨버터블 예약 인스턴스 : 1년 또는 3년 약정
- 정기 예약 인스턴스 : 1년 약정
- 약정이 끝나고 계속 사용시, 아래 task 실행 전까지 온디맨드 요금 부여
- 인스턴스 종료, 인스턴스 속성이 일치하는 새 예약 인스턴스를 구입
- 스팟 인스턴스
- 시작 및 종료 시간이 자유롭거나 중단을 견딜 수 있는 워크로드에 적합
- 미사용 Amazon EC2 컴퓨팅 용량을 사용
- 스팟 요청을 해서 지정한 작업을 EC2 요금이 낮을 때 처리하는 방식
- 전용 호스트
- 사용자 전용 EC2 인스턴스 용량을 갖춘 물리적 서버
EC2 확장
ELB (Elastic Load Balancing)
- 애플리케이션 트래픽을 여러 리소스에 자동으로 분산
- Auto Scaling 그룹으로 들어오는 모든 웹 트래픽의 단일 접점
- ELB & EC2 Auto Scaling를 같이 묶어서 사용
메시징 및 대기열
- Tightly coupled →
Monolithic Architecture
- 한쪽 시스템에서 장애 발생 시, 다른 쪽에도 영향을 줌
- Loosely coupled →
Micro Service Architecture
- buffer가 존재하여, component에서의 장애가 전체 시스템으로 확장되지 않음
- Amazon Simple Notification Service (Amazon SNS)
- Pub/Sub 방식으로 메세지 전달
- Subscriber ex) : web server, email address, AWS Lambda
- Amazon Simple Queue Service (Amazon SQS)
AWS Lambda
- Serverless : 서버를 프로비저닝하거나 관리할 필요 없이 코드를 실행
- 사용한 컴퓨팅 시간에 대해서만 비용을 지불
- 작동 방식
Amazon Elastic Container Service(Amazon ECS)
- 컨테이너식 애플리케이션을 실행, 확장할 수 있는 컨테이너 관리 시스템
- Docker 컨테이너를 지원
Amazon Elastic Kubernetes Service(Amazon EKS)
- Kubernetes를 실행하는 데 사용할 수 있는 완전 관리형 서비스
- Kubernetes : 는 컨테이너식 애플리케이션을 대규모로 배포하고 관리
AWS Fargate
- 컨테이너용 서버리스 컴퓨팅 엔진
- Amazon ECS와 Amazon EKS에서 작동
모듈 3: 글로벌 인프라 및 안정성
- high availability & fault tolerance
리전(Region) 선택
- 한 리전은 다른 리전과 완벽히 분리됨.
- 핵심 요인
- 규정 준수
- ex) 데이터가 특정 국가를 벗어나면 안된다면 해당 국가의 리전을 선택하면 된다.
- 근접성
- latency가 존재하기 때문에, 가까울수록 좋다.
- 기능 가용성
- 특정 리전에서만 지원되는 기능이 존재할 수 있다.
- 가격
- 같은 하드웨어 리소스를 사용해도, 세금 구조 등의 이유로 가격이 다름.
가용 영역 (AZ, Availability Zone)
- 리전 내의
단일 데이터 센터
또는 데이터 센터 그룹
- 지연시간을 짧게 유지 / 재해 발생을 동시에 받지 않게 하는 위치에 선정
- Best Practice
- Region 내의
2개 이상의 AZ
에서 인스턴스 실행 → 복원력 있는 고가용성 아키텍처 구축
엣지 로케이션 (for CloudFront)
- CloudFront : 글로벌 콘텐츠 전송 서비스
- 빠른 콘텐츠 전송을 위해 고객과 가까운 위치에 콘텐츠 사본을 캐시 (for CloudFront)
Interact with AWS Services
- AWS Management Console
- AWS CLI
- AWS SDK
AWS Elastic Beanstalk (ELB)
- EC2 기반 환경
프로비저닝
을 지원하는 서비스 (PaaS)
- 프로비저닝 : IT 인프라를 설정하는 프로세스
- 다음 작업을 수행하는 데 필요한 리소스를 배포합니다.
- 용량 조정, 로드 밸런싱, 자동 조정, 애플리케이션 상태 모니터링
- 한번 설정해둔 프로비저닝 설정을 추후에 똑같이 사용할 수 있다.
- 개별적으로 리소스를 프로비저닝하는 대신 코드 줄을 작성하여 환경 구축 (IaC)
모듈 4: 네트워킹
VPC (Virtual Private Cloud)
VPC → Subnet → Resources
인터넷 게이트웨이
가상 프라이빗 게이트웨이
- VPC 내의 비공개 리소스에 액세스하기 위함
- VPN으로 연결 (전용 연결이 아닌 퍼블릭 인터넷 이용)
- 승인된 네트워크에서 온 트래픽만 VPC로 들어가도록 허용
AWS Direct Connect
- AWS와 온프레미스 데이터센터를 전용회선을 통해 연결
- 전용회선으로 연결하기에 프라이빗 리소스 접근 시 보안이 우수하다.
- 한국 AWS의 경우 KINX에 위치
서브넷 및 네트워크 액세스 제어 목록
- 보안그룹 vs 네트워크 ACL
서브넷
- VPC 내부에서 리소스를 그룹화하는 데 사용되는 별개의 영역
- 종류
네트워크 ACL (액세스 제어 목록)
- 서브넷 수준에서 인바운드 및 아웃바운드 트래픽을 제어하는
가상 방화벽
- 기본적으로 모든 인바운드, 아웃바운드 트래픽을 허용
- 상태
비저장
패킷 필터링
보안 그룹 (Security Group)
- 인스턴스 수준에서 인바운드 및 아웃바운드 트래픽을 제어하는
가상 방화벽
- 기본적으로 모든 인바운드 트래픽을 거부하고 모든 아웃바운드 트래픽을 허용
- 상태
저장
패킷 필터링
Route 53
- AWS의
DNS 서비스
- DNS 확인 : 도메인 이름을 IP 주소로 변환하는 프로세스
- user request를 AWS 인프라 or 외부 인프라로 라우팅
- 도메인 이름의 DNS 레코드를 관리하는 기능도 있습니다
모듈 5: 스토리지 및 데이터베이스
인스턴스 스토어 볼륨
- EC2 인스턴스가 실행되는 호스트에 물리적으로 연결되는 볼륨 (like HDD)
- 인스턴스 중지 시, 데이터가 모두 삭제됨
- EC2는 가상 컴퓨터 → 다시 시작하면 다른 호스트에서 시작될 수 있기 때문에 물리적 볼륨 내의 데이터를 유지할 수 없다.
Elastic Block Store(Amazon EBS)
- EC2 인스턴스에서 사용할 수 있는
블록 수준 스토리지
볼륨
- 인스턴스가 중지되어도 데이터 보존
- EBS 스냅샷을 생성해 Incremental backup 가능
- Incremental backup : 처음 백업 시 모두 복사, 이후에는 변경사항만 복사
Simple Storage Service(Amazon S3)
객체 수준 스토리지
제공 서비스 (↔ 블록 수준 스토리지)
- 데이터를 버킷에 객체로 저장 (up to 5TB)
- WORM(한번 쓰기 여러번 읽기), 99.9x9% 내구성
- 권한 및 버저닝 설정 가능
- 웹 지원 (객체마다 link 존재)
- S3 스토리지 클래스
Amazon Elastic File System(Amazon EFS)
파일 스토리지
제공 서비스 (like a NAS)
- 동일한 데이터에 많은 수의 액세스가 필요할 때 유용
- 온프레미스 서버에서 AWS Direct Connect로 EFS에 액세스 가능
- 리전 수준 리소스 (EBS는 AZ 수준)
- 불륨 자동 확장 (EBS는 고정됨)
Amazon Relational Database Service (Amazon RDS)
- AWS Cloud에서 관계형 데이터베이스 실행
- 하드웨어 프로비저닝, 데이터베이스 설정, 패치 적용 백업 등을 자동화
- 사용가능한 데이터베이스 엔진
- Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle, Microsoft SQL Server
Amazon Aurora
- 엔터프라이즈급 관계형 데이터베이스
- 성능 : 5x MySQL, 3x PostgreSQL
- 워크로드 고가용성 확보 : 6개의 데이터 복사본을 3개의 AZ에 복제, S3에 지속 백업
Amazon DynamoDB
- Non-relational NoSQL 데이터베이스
- 테이블 내에 key-value pair로 데이터가 구성됨
- 서버리스, auto scailing
Amazon Redshift
- 데이터 웨어하우징 서비스 (빅 데이터 BI 솔루션)
- 데이터 웨어하우징 : 운영 분석이 아닌 기록 분석 (비즈니즈 질문이 과거로 향하는가?)
AWS Database Migration Service
- 데이터베이스 및 기타 데이터 저장소를 마이그레이션하는 서비스
- 같은 유형 : Homogeneous Migrations
- 다른 유형 : Heterogeneous Migrations
- AWS Schema Conversion Tool로 변환 후, AWS로 이식한다.
- dev 및 test db migration, 데이터베이스 통합, 연속 복제에 사용됨
Amazon ElastiCache
- 데이터베이스 위에 caching layer 추가
- Redis 및 Memcached 지원
추가 데이터베이스 서비스
- Amazon DocumentDB
- document 데이터베이스 서비스 (MongoDB 지원)
- Amazon Neptune
- Amazon Quantum Ledger Database(Amazon QLDB)
- 원장 데이터베이스 서비스 - 모든 변경 기록 검토 가능
- Amazon Managed Blockchain
- Amazon DynamoDB Accelerator
모듈 6: 보안
keywords : 공동 책임 모델
, MFA
, IAM
, AWS Organizations
, 보안 정책
공동 책임 모델 (shared responsibility model)
- 고객은 클라우드 내부의 보안을 책임진다.
- AWS는 클라우드 자체의 보안을 책임진다.
AWS 계정 root user
- 모든 AWS 서비스 및 리소스에 대한 전체 액세스 권한 소유
AWS IAM
- IAM User
- IAM 정책
- IAM 계정에 권한을 지정
- 최소 권한 원칙을 따름
- IAM 그룹
- 그룹 내 모든 유저가 그룹 IAM 정책을 부여받음
- IAM 역할 (IAM roles)
AWS Organizations
- 여러 AWS 계정을 통합하고 관리
- 서비스 제어 정책(SCP)
- 중앙에서 Organization안의 계정 권한을 제어
- 조직 단위(OU)
AWS Artifact
- AWS 보안 및 규정 준수 보고서 및 온라인 계약에 대한 액세스 제공
- AWS Artifact Agreements
- 개별 계정 및 AWS Organizations 내 모든 계정에 대한 계약을 검토, 수락 및 관리
- AWS Artifact Reports
- 외부 감사 기관이 작성한 규정 준수 보고서를 제공
서비스 거부 공격 (DoS)
- 공격 유형
- UDP Flood
- return address를 위조하여 제 3의 서버가 공격 대상 서버에 트래픽 대량 송신 → 보안 그룹을 설정해 허용된 목록만 통신 (보안그룹은 AWS 네트워크 수준의 방화벽)
- HTTP level attack
- Slowloris
AWS Shield
DDoS 공격
으로부터 애플리케이션을 보호하는 서비스
- Type
- AWS Shield Standard
- AWS Shield Advanced
- 유료, 다른 서비스와 통합, AWS WAF와 통합 가능
AWS Key Management Service(AWS KMS)
- 암호화 키 생성, 관리 및 사용
- 광범위한 서비스 및 애플리케이션에서 키 사용 제어
AWS WAF (Web Application Firewall)
웹 애플리케이션 방화벽
- Amazon CloudFront 및 Application Load Balancer와 함께 작동
- 웹 ACL(액세스 제어 목록)로 트래픽 허용 (네트워크 ACL과 유사)
Amazon Inspector
자동화된 보안 평가
실행 → 애플리케이션의 보안 및 규정 준수 개선
Amazon GuardDuty
- AWS 인프라 및 리소스에 대한
지능형 위협 탐지
기능을 제공
모듈 7: 모니터링 및 분석
Amazon CloudWatch
- 지표를 모니터링 및 관리, 경보 구성
- ex) Instance의 cpu 사용률이 임계값 미만 → Instance를 중지하는 경보 → 경보가 트리거 될 때 알림을 받음
- CloudWatch 대시보드
AWS CloudTrail
- 계정에 대한 API 호출을 기록하여 추적 (API 감사 도구)
- CloudTrail Insights
AWS Trusted Advisor
- AWS Best Practice에 따라 실시간 권장 사항을 제시하는 웹 서비스
모듈 8: 요금 및 지원
AWS 프리 티어
- 특정 서비스에 대해 지정된 기간 동안 무료로 사용
- 유형
- 상시 무료 : Lambda, DynamoDB
- 12개월 무료 : S3, EC2, CloudFront
- 평가판 : Amazon Lightsail
AWS 요금 적용 방식
- 실제 사용한 만큼만 지불
- 예약하는 경우 비용 감소
- 많이 사용할수록 볼륨 기반 할인으로 비용 감소
결제 대시보드
- AWS 청구서 결제, 사용량 모니터링, 비용 분석 및 제어
통합 결제
- 여러 계정에 대해 통합 결제 (Using AWS Organizations)
- 할인이 공유되어, 통합결제를 통해 할인을 더 잘 받을 수 있다.
AWS Budget
- 예산을 생성하여 서비스 사용, 서비스 비용 및 인스턴스 예약을 계획
- 하루 3번 업데이트
AWS Cost Explorer
- AWS 비용 및 사용량을 시각화
AWS Support
- AWS 지원 서비스
- Basic
- 제한된 AWS Trusted Advisor 검사
- AWS Personal Health Dashboard 이용 가능
- Developer
- Business
- 모든 AWS Trusted Advisor 검사
- Enterprise
AWS Marketplace
- ISV의 소프트웨어가 포함된 디지털 카탈로그
- ISV : Independent Software Vendor
모듈 9: 마이그레이션 및 혁신
keywords
마이그레이션 및 혁신
, 마이그레이션 전략 6R
, Snowcone
, Snowball
, Snowmobile
, CAF
Cloud Adoption Framework
- AWS로 신속, 원활하게 마이그레이션을 위한 조언
- 6가지 aspect 상의 지침
비즈니스 기능
: 비즈니스, 인력, 거버넌스
기술 역량
: 플랫폼, 보안, 운영
마이그레이션 전략 6가지
- 리호스팅(Rehosting)
- 리플랫포밍(Replatforming)
- 리팩터링(Refactoring)/아키텍처 재설계(Re-architecting)
- 재구매(Repurchasing)
- 유지(Retaining)
- 폐기(Retiring)
AWS Snow Family
- AWS Snowcone
- 2 CPU, 4GB RAM, 8TB Storage
- AWS Snowball
- Snowball Edge Storage Optimized
- Snowball Edge Compute Optimized
- AWS Snowmobile
Innovation with AWS
- 서버리스 애플리케이션
- 인공 지능
- Amazon Transcribe : 음성을 텍스트로 변환
- Amazon Comprehend : 텍스트에서 패턴을 검색
- Amazon Fraud Detector : 잠재적인 온라인 사기 행위를 식별
- Amazon Lex : 음성 및 텍스트 챗봇 빌드
- 기계 학습
모듈 10: 클라우드 여정
keywords
운영 우수성
, 보안성
, 안정성
, 성능 효율성
, 비용 최적화
AWS Well-Architected 프레임워크
- AWS Well-Architected Tool을 사용할 수 있다.
- 5가지 핵심 요소
- 운영 우수성
- 보안성
- 안정성
- 성능 효율성
- 컴퓨팅 리소스를 효율적으로 사용, 효율성을 유지
- 비용 최적화