[AWS] Cloud Practitioner Essentials 정리

LULLU·2022년 8월 25일
0
post-thumbnail

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 배포 모델

  1. 클라우드 기반 배포
  2. 온프레미스 배포 (a.k.a 프라이빗 클라우드 배포)
  3. 하이브리드 배포

클라우드 컴퓨팅의 이점

  1. 선행 비용을 가변 비용으로 대체
    • 사용할 방법을 결정하기도 전에 리소스에 미리 투자 하지 않아도 된다.
  2. 데이터 센터 운영 및 유지 관리에 비용 투자 불필요
    • 차별점을 만드는데에 더 집중할 수 있다.
  3. 용량 추정 불필요
    • 필요한 인프라 용량을 예측할 필요가 없다.
  4. 규모의 경제로 얻게 되는 이점
    • 고객이 많을수록 provider의 운영 비용 감소로, 고객의 요금 감소
  5. 속도 및 민첩성 향상
    • 빠르게 애플리케이션을 개발, 배포할 수 있다.
  6. 몇 분 만에 전 세계에 배포
    • 글로벌 입지를 이용해 전 세계 고객에게 짧은 지연 시간, 빠른 배포를 가능하게 함.

모듈 2: 클라우드 컴퓨팅

EC2의 작동 방식

  • EC2 instance는 호스트 머신 위에서 가상머신으로 실행된다.
  • Multi Tenancy : 여러 인스턴스가 기본 하드웨어 공유
  • 하이퍼바이저 : 호스트 머신에서 Multi Tenancy 관리(managed by AWS)

On-premise vs EC2

  • 미리 하드웨어를 구매, 설치 시까지의 기다림, 필요한 구성을 모두 수행해야함 vs 몇 분안에 EC2 인스턴스를 프로비저닝하고 시작
  • 서버를 사용하지 않을 때 유휴 비용 발생 vs 사용한 컴퓨팅 시간에 대해서만 비용 지불

EC2 인스턴스 유형

  1. 범용 인스턴스
    • 컴퓨팅, 메모리, 네트워킹 리소스를 균형 있게 제공
  2. 컴퓨팅 최적화 인스턴스
    • 고성능 프로세서를 활용하는 컴퓨팅 집약적인 애플리케이션에 적합
  3. 메모리 최적화 인스턴스
    • 메모리에서 대규모 데이터 세트를 처리할 때 유용
    • 애플리케이션을 실행하기 전에 많은 데이터를 미리 로드해야 할때 ex) 고성능 데이터베이스, 다량의비정형 데이터 실시간 처리
  4. 액셀러레이티드 컴퓨팅 인스턴스
    • 하드웨어 액셀러레이터 또는 코프로세서를 사용해 가속
    • 특정 연산을 하드웨어 가속기로 처리해 일반 CPU에서의 계산보다 더 효율적으로 수행 ex) 부동 소수점 수 계산, 그래픽 처리, 데이터 패턴 일치 등이 있습니다.
  5. 스토리지 최적화 인스턴스
    • 로컬 스토리지의 대규모 데이터 세트에 대해 순차적 읽기 및 쓰기 액세스가 많이 수행될 때 ex) 분산 파일 시스템, 데이터 웨어하우징 애플리케이션, 고빈도 온라인 트랜잭션 처리(OLTP) 시스템
    • IOPS(초당 입출력 작업 수)라는 용어는 스토리지 디바이스의 성능을 측정하는 지표입니다.
      • 디바이스가 1초 내에 수행할 수 있는 입력 또는 출력 작업의 수
      • 스토리지 최적화 인스턴스는 높은 IOPS를 요구하는 애플리케이션에 유용

EC2 요금

  1. 온디맨드
    • 중단할 수 없는 불규칙한 단기 워크로드에 적합
    • 인스턴스는 중지 전까지 계속 실행, 사용한 시간에 비례하여 비용 지불
    • 1년 미만의 워크로드에 적합 → 1년 이상은 예약 인스턴스가 더 쌈
  2. Amazon EC2 Savings Plans
    • 시간 당 금액에 약정을 걸어 할인 (약정 사용량을 정함)
    • 약정 사용량까지는 할인된 Savings Plan 요금 청구, 초과한 사용량에 대해서는 일반 온디맨드 요금 부과
    • Savings Plan : AWS Lambda와 AWS Fargate는 물론 EC2 인스턴스에도 적용됩니다.
  3. 예약 인스턴스
    • 온디맨드 인스턴스에 약정을 걸어 할인받는 유형 (약정 사용량 X)
      • 표준 예약 및 컨버터블 예약 인스턴스 : 1년 또는 3년 약정
      • 정기 예약 인스턴스 : 1년 약정
    • 약정이 끝나고 계속 사용시, 아래 task 실행 전까지 온디맨드 요금 부여
      • 인스턴스 종료, 인스턴스 속성이 일치하는 새 예약 인스턴스를 구입
  4. 스팟 인스턴스
    • 시작 및 종료 시간이 자유롭거나 중단을 견딜 수 있는 워크로드에 적합
    • 미사용 Amazon EC2 컴퓨팅 용량을 사용
    • 스팟 요청을 해서 지정한 작업을 EC2 요금이 낮을 때 처리하는 방식
  5. 전용 호스트
    • 사용자 전용 EC2 인스턴스 용량을 갖춘 물리적 서버

EC2 확장

  • Amazon EC2 Auto Scaling
    • 변화하는 수요에 EC2 인스턴스를 자동으로 추가, 제거

      → 애플리케이션 가용성을 효과적으로 유지

    • 종류

      • 동적 조정 : 수요 변화에 대응
      • 예측 조정 : 예측된 수요에 따라 인스턴스 자동 예약
    • Auto Scaling 설정

      • 최소 용량
      • 희망 용량
        • 기본 인스턴스 용량 설정
      • 최대 용량
        • 확장 시 최대 용량

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) 선택

  • 한 리전은 다른 리전과 완벽히 분리됨.
  • 핵심 요인
    1. 규정 준수
      • ex) 데이터가 특정 국가를 벗어나면 안된다면 해당 국가의 리전을 선택하면 된다.
    2. 근접성
      • latency가 존재하기 때문에, 가까울수록 좋다.
    3. 기능 가용성
      • 특정 리전에서만 지원되는 기능이 존재할 수 있다.
    4. 가격
      • 같은 하드웨어 리소스를 사용해도, 세금 구조 등의 이유로 가격이 다름.

가용 영역 (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 인프라를 설정하는 프로세스
  • 다음 작업을 수행하는 데 필요한 리소스를 배포합니다.
    • 용량 조정, 로드 밸런싱, 자동 조정, 애플리케이션 상태 모니터링
  • 한번 설정해둔 프로비저닝 설정을 추후에 똑같이 사용할 수 있다.

AWS CloudFormation

  • 개별적으로 리소스를 프로비저닝하는 대신 코드 줄을 작성하여 환경 구축 (IaC)

프로비저닝 - ELB vs CloudFormation

모듈 4: 네트워킹

VPC (Virtual Private Cloud)

VPC → Subnet → Resources

  • 가상 네트워크망 내에서 리소스를 격리하여 프로비저닝
    → AWS 리소스에 경계를 설정

인터넷 게이트웨이

  • VPC와 인터넷 간의 연결

가상 프라이빗 게이트웨이

  • 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 스토리지 클래스
    • 데이터 검색 빈도, 필요한 데이터의 가용성에 따라 선택

      종류대상 및 특징
      S3 Standard자주 액세스, 최소 3개의 AZ
      S3 Standard-IA자주 액세스 X, Standard 대비 가용성 same (최소 3개의 AZ), 스토리지 가격 low, 검색 가격 high
      S3 One Zone-IAAZ 1개, Standard-IA 대비 스토리지 가격 low
      S3 Intelligent-Tiering액세스 패턴 모름, 자주 변화하는 데이터, Standard → Standard-IA (30일 미이용시)
      S3 Glacier데이터 보관용으로 설계된 저비용 스토리지, 검색 시 몇 분 ~몇 시간 소요
      S3 Glacier Deep Archive가장 저렴한 스토리지, 검색 시 12시간 이내 소요

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
    • DynamoDB용 인 메모리 캐시

모듈 6: 보안

keywords : 공동 책임 모델, MFA, IAM, AWS Organizations, 보안 정책

공동 책임 모델 (shared responsibility model)

  • 고객은 클라우드 내부의 보안을 책임진다.
  • AWS는 클라우드 자체의 보안을 책임진다.
    • AWS는 고객의 OS에 접근할 수 없다.

AWS 계정 root user

  • 모든 AWS 서비스 및 리소스에 대한 전체 액세스 권한 소유

AWS IAM

  • IAM User
    • 사용자가 AWS에서 생성하는 자격 증명
  • IAM 정책
    • IAM 계정에 권한을 지정
    • 최소 권한 원칙을 따름
  • IAM 그룹
    • 그룹 내 모든 유저가 그룹 IAM 정책을 부여받음
  • IAM 역할 (IAM roles)
    • 일시적 권한 이용, 해당 role만을 이용

AWS Organizations

  • 여러 AWS 계정을 통합하고 관리
  • 서비스 제어 정책(SCP)
    • 중앙에서 Organization안의 계정 권한을 제어
  • 조직 단위(OU)
    • Organization 내부의 계정을 그룹화

AWS Artifact

  • AWS 보안 및 규정 준수 보고서 및 온라인 계약에 대한 액세스 제공
  • AWS Artifact Agreements
    • 개별 계정 및 AWS Organizations 내 모든 계정에 대한 계약을 검토, 수락 및 관리
  • AWS Artifact Reports
    • 외부 감사 기관이 작성한 규정 준수 보고서를 제공

서비스 거부 공격 (DoS)

  • 공격 유형
    1. UDP Flood
      • return address를 위조하여 제 3의 서버가 공격 대상 서버에 트래픽 대량 송신 → 보안 그룹을 설정해 허용된 목록만 통신 (보안그룹은 AWS 네트워크 수준의 방화벽)
    2. HTTP level attack
      • 일반적인 공격같이 위장
    3. 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과 유사)
    • IP차단 목록을 구성해 액세스를 거부한다.

Amazon Inspector

  • 자동화된 보안 평가 실행 → 애플리케이션의 보안 및 규정 준수 개선

Amazon GuardDuty

  • AWS 인프라 및 리소스에 대한 지능형 위협 탐지 기능을 제공

모듈 7: 모니터링 및 분석

Amazon CloudWatch

  • 지표를 모니터링 및 관리, 경보 구성
    • ex) Instance의 cpu 사용률이 임계값 미만 → Instance를 중지하는 경보 → 경보가 트리거 될 때 알림을 받음
  • CloudWatch 대시보드
    • 모든 지표를 한 곳에서 모니터링

AWS CloudTrail

  • 계정에 대한 API 호출을 기록하여 추적 (API 감사 도구)
  • CloudTrail Insights
    • 비정상적인 API 호출을 자동으로 감지

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
    • TAM 포함

AWS Marketplace

  • ISV의 소프트웨어가 포함된 디지털 카탈로그
    • ISV : Independent Software Vendor

모듈 9: 마이그레이션 및 혁신

keywords

마이그레이션 및 혁신, 마이그레이션 전략 6R, Snowcone, Snowball, Snowmobile, CAF

Cloud Adoption Framework

  • AWS로 신속, 원활하게 마이그레이션을 위한 조언
  • 6가지 aspect 상의 지침
    • 비즈니스 기능비즈니스인력, 거버넌스
    • 기술 역량 : 플랫폼보안, 운영

마이그레이션 전략 6가지

  1. 리호스팅(Rehosting)
    • 애플리케이션 변경 없이 이전
  2. 리플랫포밍(Replatforming)
    • 몇 가지 클라우드 최적화만 수행
  3. 리팩터링(Refactoring)/아키텍처 재설계(Re-architecting)
    • 클라우드 네이티브 기능을 활용해 재구성
  4. 재구매(Repurchasing)
    • SaaS로 전환
  5. 유지(Retaining)
  6. 폐기(Retiring)

AWS Snow Family

  • AWS Snowcone
    • 2 CPU, 4GB RAM, 8TB Storage
  • AWS Snowball
    • Snowball Edge Storage Optimized
      • 80TB HDD
    • Snowball Edge Compute Optimized
      • 52 vCPU, V100 GPU 옵션
  • AWS Snowmobile
    • up to 100PB

Innovation with AWS

  • 서버리스 애플리케이션
  • 인공 지능
    • Amazon Transcribe : 음성을 텍스트로 변환
    • Amazon Comprehend : 텍스트에서 패턴을 검색
    • Amazon Fraud Detector : 잠재적인 온라인 사기 행위를 식별
    • Amazon Lex : 음성 및 텍스트 챗봇 빌드
  • 기계 학습
    • Amazon SageMaker

모듈 10: 클라우드 여정

keywords

운영 우수성, 보안성, 안정성, 성능 효율성, 비용 최적화

AWS Well-Architected 프레임워크

  • AWS Well-Architected Tool을 사용할 수 있다.
  • 5가지 핵심 요소
    • 운영 우수성
      • 지원 프로세스 및 절차를 개선하는 능력
    • 보안성
      • 정보, 시스템, 자산을 보호하는 능력
    • 안정성
      • 수평 확장, 장애 발생 시 자동 복구
    • 성능 효율성
      • 컴퓨팅 리소스를 효율적으로 사용, 효율성을 유지
    • 비용 최적화

0개의 댓글