본문 바로가기
자격증/AWS

AWS Cloud Practitioner 정리

by kula 2022. 3. 23.

서비스

액세스 하는방법 :

- AWS관리콘솔

- CLI

- SDK

마이그레이션 :

서비스 중인 한 애플리케이션을 전혀 다른 환경(OS, 하드웨어 등) 에서도 돌아갈수 있게 전환작업을 의미합니다.

워크로드

인스턴스

컴퓨팅

EC2

EC2 사용자 데이터 :

일반적인 자동화 구성작업을 수행하고 인스턴스가 시작된 후 스크립트를 실행하는데 사용됩니다. Amazon EC2에서 인스턴스를 시작할 때 쉘 스크립트와 cloud-init 지시문이라는 두가지 유형의 사용자 데이터를 전달할 수 있습니다. 이 데이터를 일반 텍스트나 파일로 시작 마법사에 전달할 수도 있습니다.

- 기본적으로 사용자 데이터로 입력된 스크립트는 루트 사용자 권한으로 실행됩니다.

- 기본적으로 사용자 데이터는 인스턴스를 처음 시작할 때 부팅 주기 동안에만 실행됩니다.

Amazon Lambda :

기본적으로 Lambda 함수는 항상 AWS 소유 VPC에서 작동하므로 모든 공용 인터넷 주소 또는 공용 AWS API에 액세스 할 수 있습니다. Lambda 함수가 VPC를 활성화하면 퍼블릭 리소스에 액세스하려면 퍼블릭 서브넷의 NAT 게이트웨이를 통한 경로가 필요합니다.

Lambda 함수는 매우 빠르게 스케일될 수 있으므로 ConcurrentExecutions 또는 Invocations와 같은 함수 metrics가 예상 임계값을 초과할 때 팀에 알리는 CloudWatch 경보를 배포하는 것이 좋습니다.

둘 이상의 Lambda 함수에서 코드를 재사용하려는 경우 재사용 가능한 코드에 대한 Lambda 계층 생성을 고려해야 합니다.

※Lambda 사용시 고려해야할 핵심 사항

- 둘 이상의 Lambda함수에서 코드를 재사용하려는 경우, 재사용 가능한 코드에 대한 Lambda계층 생성을 고려해야합니다.

- Lambda함수는 매우 빠르게 스케일 될 수 있으므로 ConcurrentExecutions 또는 Invocations와 같은 함수 metrics가 예상 임계값을 초과할 때 팀에 알리는 CloudWatch 경보를 배포하는 것이 좋습니다.

- 기본적으로 Lambda 함수는 항상 AWS 소유 VPC에서 작동하므로 모든 공용 인터넷 주소 또는 공용 AWS API에 액세스할 수 있습니다. Lambda 함수가 VPC를 활성화하면 퍼블릭 리소스에 액세스하려면 퍼블릭 서브넷의 NAT 게이트웨이를 통한 경로가 필요합니다.

AWS Step Functions :

여러 AWS 서비스를 서버리스 워크플로로 조정하여 앱을 신속하게 빌드 및 업데이트할 수 있습니다. 또한 AWS Lambda, AWS Fargate 및 Amazon SageMaker와 같은 서비스를 기능이 풍부한 애플리케이션에 하나로 결합는 워크플로를 설계하고 실행할 수 있습니다.

배치그룹 :

새 EC2 인스턴스를 시작하면 EC2 서비스는 모든 인스턴스가 기본 하드웨어 전반에 분산되도록 하여 상호 관련 오류의 위험을 줄입니다.

- 클러스터 배치그룹 : 단일 가용영역 내에 있는 인스턴스의 논리적 그룹

- 파티션 배치그룹 : 하드웨어 장애가능성을 줄이는데 도움이 됩니다.

가용영역당 파티션 7개까지 만들수있음

- 분산형 배치그룹 : 단일 가용영역에 있는 인스턴스 7개를 보여줌. 7개 인스턴스는 7개의 서로 다른 랙에 배치

오토 스케일링

수직 스케일 : cpu, 메모리등 성능을 변경하는방법

수평 스케일 : 인스턴스 수를 변경하는 방법

Auto Scaling :

Auto Scaling 그룹에는 자동 조정 및 관리를 위한 논리적 그룹으로 취급되는 Amazon EC2인스턴스 모음이 포함되어 있습니다. 그룹 생명 주기 후크를 사용하면 Auto Scaling 그룹이 인스턴스를 시작하거나 종료할 때 사용자 지정 작업을 수행할 수 있습니다. 수명 주기 후크를 사용하면 Auto Scaling 그룹이 인스턴스를 시작하거나 종료할 때 인스턴스를 일시 중지하여 사용자 지정 작업을 수행할 수 있습니다.

Auto Scaling 그룹은 EC2 기반 상태 확인을 사용하고 있고 Application Load Balancer는 ALB 기반 상태 확인을 사용하고 있습니다.

※ 오토 스케일링으로 인한 인스턴스 종료시 :

인스턴스가 종료해야할 상황이면

1. 가용영역의 균형을 맞춘후(인스턴스가 더많은 가용영역에서 먼저 삭제)

2. 제일 오래된 인스턴스를 삭제한다.

스케일링 정책 :

스케일링 휴지기간 :

기본 300초(5분)

Amazon Elastic Container Service(ECS) :

완전 관리형 컨테이너 오케스트레이션 서비스로 ECS를 사용하면 Docker 컨테이너 애플리케이션을 쉽게 실행, 스케일 및 보호할 수 있습니다.

- 도커 컨테이너를 지원하는 관리서비스

- 클러스터 관리 인프라를 설치하고 운영 및 확장함

시작 유형 :

Fargate : 컨테이너를 배포하고 관리할 수 있는 서버리스 컴퓨팅 엔진

EC2 : 컨테이너를 배포하고 관리할 수 있는 클라우드 컴퓨팅 플랫폼

External : 컨테이너를 배포하고 관리할 수 있는 온프레미스 서버 또는 가상 머신

요금제

온디맨드 인스턴스가 적합한 경우 :

- 선결제 금액이나 장기 약정 없이 저렴하고 유연하게 Amazon EC2를 사용하기 원하는 사용자

- 단기의 갑작스럽거나 예측할 수 없는 워크로드가 있으며, 중단되어서는 안 되는 애플리케이션

- Amazon EC2에서 처음으로 개발 또는 시험 중인 애플리케이션

스팟(경매) 인스턴스가 적합한경우(최대 90%할인) :

- 시작 및 종료 시간이 자유로운 애플리케이션

- 컴퓨팅 가격이 매우 저렴해야만 수익이 나는 애플리케이션

- 대량의 서버 용량 추가로 긴급히 컴퓨팅 파워가 필요한 사용자

스팟 블록 인스턴스 :

중단없이 지정된 기간(1~6시간) 동안 스팟 EC2 인스턴스 세트를 예약할 수 있습니다.

※스팟 플릿은 스팟인스턴스와 선택적 온디맨드 인스턴스의 집합임

예약 인스턴스가 적합한 경우 :

- 수요가 꾸준한 애플리케이션

- 예약 용량이 필요할 수 있는 애플리케이션

- 총 컴퓨팅 비용을 절감하기 위해 1년 또는 3년 동안 EC2를 사용하기로 약정할 수 있는 경우

- EC2가 terminated 경우에도 비용이 청구됨

전용 인스턴스 :

단일고객 전용 하드웨어의 VPC에서 실행되는 인스턴스. 전용 인스턴스는 다른 인스턴스와 하드웨어를 공유할 수 없고, 기존 서버 바인딩 소프트웨어 라이센스를 사용할 수 없음.

전용 호스트(최대 70%할인) :

전용 물리적 서버에서 Amazon EC2 인스턴스 사용. Windows Server와 같은 기존 서버 바인딩 소프트웨어 라이센스를 사용하고 기업 규정 준수 및 규정 요구 사항을 해결할 수 있습니다.

인스턴스 상태 :

pending :

인스턴스는 running 상태로 될 준비를 하고 있습니다. 인스턴스를 처음 시작하거나 stopped 상태의 인스턴스를 다시 시작하면 pending 상태가 됩니다. (인스턴스 사용 요금 : 미청구)

running :

인스턴스를 실행하고 사용할 준비가 되었습니다. (인스턴스 사용 요금 : 청구)

stopping :

인스턴스가 중지 또는 중지-최대 절전 모드로 전환할 준비를 하고 있습니다. (인스턴스 사용 요금 : 중지 준비 중인 경우 미청구, 최대 절전 모드로 전환 준비 중인 경우 청구)

stopped :

인스턴스가 종료되고 사용이 불가합니다. 언제든지 인스턴스를 다시 시작할 수 있습니다. (인스턴스 사용 요금 : 미청구)

shutting-down :

인스턴스가 종료할 준비를 하고 있습니다. (인스턴스 사용 요금 : 미청구)

termiated :

인스턴스가 영구적으로 삭제되었으며 시작할 수 없습니다. (인스턴스 사용 요금 : 미청구)

EC2 배치 그룹 :

- 클러스터 배치 그룹 : EC2 인스턴스를 병렬로 배치하여 고성능 컴퓨팅 및 네트워킹을 제공

- 스프레드 배치 그룹 : EC2 인스턴스를 여러 AZ의 여러 물리적 하드웨어에 배치합니다.

- 파티션 배치 그룹 : EC2가 파티션으로 그룹화되고 다수의 물리적 하드웨어에 분산

스토리지

Amazon S3 :

보고의 목적으로 요청자, 버킷 이름, 요청 시간, 요청 작업, 리퍼러, 처리 시간 및 오류 코드 정보를 포함하여 S3 버킷에 대한 모든 요청 액세스를 추적하고 기록하고 또 버킷의 객체 수준 작업에 대한 가시성을 제공하려면, 필요한 모든 Amazon S3 버킷에 대한 서버 액세스 로깅을 활성화 해야한다.

성능이나 가용성을 변경하지 않고 애플리케이션에 대한 지역 격리를 희생하지 않고 추가 비용 없이 강력한 쓰기 후 읽기 일관성을 자동으로 제공합니다. 새 개체를 성공적으로 쓰거나 기존 개체를 덮어쓴 후 후속 읽기 요청은 즉시 최신 버전의 객체를 받습니다. S3는 또한 목록작업에 대한 강력한 일관성을 제공하므로 쓰기 후 변경 사항이 반영된 버킷의 객체 목록을 즉시 수행할 수 있습니다.

S3 Standard :

모든 데이터 유형에 적합한 범용 스토리지로, 대개 자주 액세스하는 데이터에 사용됨

S3 Intelligent - Tiering :

액세스 패턴을 알 수 없거나 액세스 패턴이 변경되는 데이터에 대해 자동 비용 절감 효과 제공

S3 Standard - Infrequent Access :

라이브 상태가 된 지 오래되었지만 밀리초 단위 액세스 성능이 요구되는 자주 액세스하지 않는 데이터용

S3 One Zone - Infrequent Access :

밀리초 단위 액세스 성능이 요구되는 다시 생성 가능한 자주 액세스하지 않는 데이터용

접근 빈도가 낮지만 필요할 때는 빠른 접근이 필요한 데이터를 위한 것입니다. 최소 3개의 가용 영역(AZ)에 데이터를 저장하는 다른 S3 스토리지 클래스와는 달리 S3 One Zone-IA 하나의 가용역역(AZ)에 저장하고 S3 Standard-IA 보다 20% 저렴합니다.

S3 Glacier :

검색 옵션이 1분부터 12시간까지인 장기적인 백업 및 아카이브용

S3 Glacier Deep Archive :

일년에 한두번 액세스하고 12시간 이내에 복원할 수 있는 장기적인 데이터 아카이빙용

※ 암호화 관련(데이터 프라이버시를 위해 건강보험이동성과 결과보고책무활동(HIPAA)을 준수해야함) :

- HTTPS를 통해 Amazon S3에 데이터를 전송하기 전에 먼저 자체 암호화키를 사용하여 데이터를 로컬로 암호화

- S3 버킷에서 서버측 암호화를 활성화하여 AES-256 암호화를 사용합니다.

S3 버킷 정책 :

단일 버킷 내의 일부 또는 모든 객체에 대한 권한을 추가하거나 거부할 수 있습니다. 정책을 사용자, 그룹 또는 Amazon S3 버킷에 연결하여 권한을 중앙 집중식으로 관리할 수 있습니다. 또 AWS 계정 또는 다른 AWS 계정 내 사용자에게 Amazon S3 리소스에 대한 액세스 권한을 부여할 수 있습니다.

Amazon S3 Transfer Acceleration :

해당 서비스를 사용하면 클라이언트와 S3 버킷 간 장거리를 빠르고 쉽고 안전하게 파일 전송이 가능합니다. 전 세계적으로 분산된 엣지 로케이션을 Amazon CloudFront를 활용합니다. 데이터가 엣지 로케이션에 도착하면 데이터는 최적화된 네트워크 경로를 통해 Amazon S3로 라우팅 됩니다.

※버킷에서 Transfer Acceleration을 사용하는 이유는 다음과 같음

- 전 세계 각지에서 중앙의 버킷으로 업로드하는 고객이 있는 경우

- 전 세계에 정기적으로 수 기가바이트에서 수 테라바이트의 데이터를 전송할 경우

- Amazon S3에 업로드할 때 인터넷을 통해 사용 가능한 대역폭을 충분히 활용할 수 없는 경우

Amazon S3 Select :

간단하게 SQL식을 사용하여 애플리케이션이 객체에서 일부 데이터만 가져올 수 있도록 하는 서비스입니다. S3 Select를 사용하여 애플리케이션에서 필요한 데이터만 가져옴으로써, 상당한 성능 향상을 이룰 수 있습니다. 대부분의 경우 이러한 성능 향상은 최대 400%에 이릅니다.

Amazon Elastic Block Store(EBS) :

EC2 인스턴스와 함께 사용할 블록 수준 스토리지 볼륨을 제공합니다. 암호화된 EBS 볼륨을 생성하여 지원되는 인스턴스 유형에 연결하면 볼륨에 저장된 데이터, 볼륨과 인스턴스 간에 이동하는 데이터, 볼륨에서 생성된 스냅샷 및 이러한 스냅샷에서 생성된 볼륨이 모두 암호화됩니다.암호화된 볼륨 및 스냅샷을 생성할 때 AWS Key Management Service(AWS KMS) 고객 마스터 키(CMK)를 사용합니다. 암호화 작업은 EC2 인스턴스를 호스팅하는 서버에서 발생하여 인스턴스와 연결된 EBS 스토리지 간의 미사용 데이터와 전송중인 데이터븨 보안을 보장.

- 볼륨 내부의 미사용 데이터는 암호하됨.

- 볼륨에서 생성된 모든 스냅샷은 암호화됨.

- 볼륨과 인스턴스 간에 이동하는 데이터는 암호화됨.

모든 규모의 처리량 및 트랜잭션 집약적 워크로드 모두에 대해 Amazon Elastic Compute Cloud(EC2)와 함께 사용하도록 설계된 사용하기 쉬운 고성능 블록 스토리지 서비스입니다. 인스턴스를 시작할 때 루트 디바이스 볼륨에는 인스턴스를 부팅하는데 사용되는 이미지가 포함됩니다. Amazon EC2 인스턴스 스토어에서 지원하는 AMI와 Amazon EBS에서 지원하는 AMI중에서 선택할 수 있습니다.

기본적으로 Amazon EBS에서 지원하는 AMI의 루트 볼륨은 인스턴스가 종료될 때 삭제됩니다. 종료된 후에도 볼륨이 지속되도록 기본 동작을 변경할 수 있습니다. 루트가 아닌 EBS 볼륨은 볼륨이 연결된 인스턴스를 종료한 후에도 계속 사용할 수 있습니다.

AWS Elastic File System(EFS) :

Amazon 클라우드에서 파일 스토리지를 간편하게 설정하고 확장하고 비용을 최적화할 수 있도록 지원하는 완전관리형 서비스입니다. 파일 시스템 인터페이스(표준 운영체제파일 I/O API 사용)를 통해 Amazon EC2 인스턴스에 액세스할 수 있고, 전체 파일 시스템 액세스 시맨틱(강력한 일관성, 파일 잠금 등)을 지원하는 파일 시스템을 AWS Management Console에서 클릭 몇번으로 생성할 수 있습니다.

네트워크 파일시스템으로 한 지역에서 수천개의 인스턴스에 연결할 수 있음. 클라우드 및 온-프레미스 리소스와 함께 사용이 가능.

※허용된 EC2 인스턴스만 EFS 파일 시스템에서 읽을 수 있도록 엑세스 제어하는 방법

- 파일 시스템에 IAM 정책을 부착해 필요한 권한으로 파일 시스템을 들어갈 수 있는 클라이언트를 제어

- EFS 액세스 포인트를 사용하여 애플리케이션 액세스를 관리

- VPC 보안 그룹을 사용해 파일 시스템과 주고받는 네트워크 트래픽을 제어

수명 전환 :

 

Amazon Athena :

Amazon Athena는 Amazon S3에서 표준 SQL을 사용하여 데이터를 쉽게 바로 분석할 수 있는 대화형 쿼리 서비스입니다. AWS Management Console에서 몇가지 작업을 수행하면 Amazon S3에 저장된 데이터에서 Athena를 가리키고, 표준 SQL을 사용하여 임시 쿼리를 실행하고, 몇 초안에 결과를 얻을 수 있습니다.

서버리스 서비스이므로 설정하거나 관리할 인프라가 없으며, 실행한 쿼리에 대해서만 비용을 지불합니다. Athena에서는 쿼리를 동시에 실행하여 규모를 자동으로 조절합니다. 따라서 많은 데이터 세트와 복잡한 쿼리가 있더라도 결과를 빠르게 도출합니다.

Amazon FSx for Windows File Server :

업계 표준 SMB(서버 메시지 블록)프로토콜을 통해 액세스 가능한 고도로 안정적이고 확장 가능한 완전관리형 파일 스토리지 서비스를 제공합니다. Windows Server에 구축되며 사용자 할당량, 최종 사용자 파일 복원 및 Microsoft Active Directory(AD)통합과 같은 광범위한 관리 기능을 제공합니다.

Amzon Storage Gateway :

온프레미스 소프트웨어 어플라이언스를 클라우드 기반 스토리지에 연결하여 데이터 보안기능으로 온프레미스 IT환경과 AWS 스토리지 인프라 사이에 원활한 통합이 이루어지도록 지원합니다.

네트워크

VPC :

Amazon VPC는 인터넷을 통해 원격 고객 네트워크와 Amazon VPC 간에 IPsec VPN 연결(site-to-site VPN이라고도 함)을 생성하는 기능을 제공합니다. 다음은 site-to-site VPN의 주요 개념입니다.

Virtual private gateway :

가상 프라이빗 게이트웨이(VPN 게이트웨이라고도 함)는 VPN연결의 AWS VPC 측 엔드포인트 입니다.

VPN 연결 :

온-프레미스 장비와 VPC 간의 보안 연결입니다.

VPN 터널 :

고객 네트워크에서 AWS로 또는 AWS에서 데이터를 전달할 수 있는 암호화된 링크입니다.

고객 게이트웨이 :

고객 게이트웨이 디바이스에 대한 정보를 AWS에 제공하는 AWS 리소스입니다.

※Amazon VPC 콘솔 마법사에서 지원하는 구성

- 단일 퍼블릭 서브넷이 있는 VPC

- 퍼블릭 및 프라이빗 서브넷이 있는 VPC(NAT)

- 퍼블릭 및 프라이빗 서브넷과 AWS Site-to-Site VPN 액서스가 있는 VPC

Amazon VPC 서브넷 :

각 서브넷은 단일 가용 영역에 매핑 됩니다.

생성한 모든 서브넷은 VPC의 기본 라우팅 테이블과 자동으로 연결됩니다.

VPC 공유(Resource Access Manager의 일부) :

VPC 공유를 사용하면 여러 AWS 계정에서 EC2인스턴스, RDS 데이터베이스, Redshift 클러스터 및 Lambda 함수와 같은 애플리케이션 리소스를 공유 및 중앙 관리형 Amazon Virtual Private Cloud(VPC)에 생성할 수 있습니다. 이를 설정하기 위해 VPC를 소유한 계정(소유자)은 AWS Organizations의 동일한 조직에 속한 다른 계정(참가자)과 하나 이상의 서브넷을 공유합니다.

VPC 바인딩 :

AWS 계정 전용 가상 네트워크

Transit Gateway :

가상 사설 클라우드(VPC)와 온-프레미스 네트워크를 상호 연결하는데 사용할 수 있는 네트워크 전송 허브. 클라우드 인프라가 전 세계적으로 확장됨에 따라 리전 간 피어링은AWS 글로벌 인프라를 사용하여 Transit Gateway를 함께 연결합니다. 데이터는 자동으로 암호화되며 퍼블릭 인터넷을 통해 전송되지 않습니다.

VPC 피어링 :

프라이빗 IPv4 주소 또는 IPv6 주소를 사용하여 VPC 간에 트래픽을 라우팅 할 수 있도록 하는 두 VPC 간의 네트워크 연결입니다.

Route 53 :

Amazon Route 53은 가용성과 확장성이 우수한 DNS(도메인 네임 시스템) 웹 서비스 입니다. Route 53을 사용하여 세가지 주요 기능, 즉 도메인 등록, DNS 라우팅, 상태 확인을 조합하여 실행할 수 있습니다. 세 기능 모두에 Route 53을 사용하도록 서택한 경우 이 순서대로 단계를 수행합니다.

DNS :

Site-to-Site VPN :

VPC를 온프레미스 네트워크에 비공개로 연결합니다. AWS와 네트워크를 연결하는 두 개의 암호화된 IPSec VPN터널로 구성됨

 

IPsec VPN connection :

IPsec VPN connection, AWS Direct Connect :

온프레미스 인프라를 AWS 클라우드에 연결하는데 사용할수 있는 서비스

AWS Global Accelerator :

AWS 글로벌 네트워크를 통해 트래픽(TCP, UDP 등)을 최적의 엔드 포인트로 보내는 네트워크 계층 서비스로, 인터넷 애플리케이션의 가용성과 성능을 향상시킵니다.

- 표준 액셀러레이터를 사용하면 전 세계 사용자가 이용하는 인터넷 애플리케이션의 가용성을 향상시킬 수 있습니다. 글로벌 액셀러레이터는 표준 가속기를 사용하여 AWS 글로벌 네트워크를 통한 트래픽을 클라이언트와 가장 가까운 리전의 엔드포인트로 보냅니다.

- 사용자 지정 라우팅 가속기를 사용하여 하나 이상의 사용자를 여러 대상 중에서 특정 대상에 매핑할 수 있습니다.

Amazon cloudfront : 탄력적

Amazon CloudFront는 .html, .css, .js 및 이미지 파일과 같은 정적 및 동적 웹 콘텐츠를 사용자에게 더 빨리 배포하도록 지원하는 웹 서비스입니다. CloudFront는 엣지 로케이션이라고 하는 데이터 센터의 전 세계 네트워크를 통해 콘텐츠를 제공합니다. CloudFront를 통해 서비스하는 콘텐츠를 사용자가 요청하면 지연 시간이 가장 낮은 엣지 로케이션으로 요청이 라우팅되므로 가능한 최고의 성능으로 콘텐츠가 제공됩니다.

※ Global Accelerator 와 Cloudfront 차이점? :

둘다 동일한 글로벌 네트워크, 엣지 로케이션을 사용합니다.

다만 CloudFront는 성능을 향상시킵니다. 이미지 및 비디오와 같은 캐시 가능한 콘텐츠, API가속화 및 동적 사이트 제공과 같은 모두에 대한 성능을 향상시킵니다. 그리고 콘텐츠가 엣지로케이션에서 제공됨

Global Accelerator의 경우 TCP 또는 UDP를 통해 광범위한 앱들의 성능을 향상시킵니다

VPN 클라우드허브(CloudHub) :

AWS Site-to-Site VPN 연결이 여러 개 있는 경우 AWS VPN CloudHub를 사용하여 사이트 간에 보안 통신을 제공할 수 있습니다. 이렇게 하면 원격 사이트가 VPC뿐만 아니라 서로 통신할 수 있습니다.

NAT 관련 :

- 보안그룹은 NAT인스턴스와 연결할 수 있습니다.

- NAT인스턴스는 포트 전달을 지원합니다.

- NAT 인스턴스는 bastion 서버로 사용할 수 있습니다.

- NAT게이트웨이, 및 NAT 인스턴스는 IPv4에만 적용되고 IPv6에는 적용되지 않습니다.

인터넷 게이트웨이 :

주로 프라이빗 서브넷이 아닌 VPC의 퍼블릭 서브넷에 있는 인스턴스에 대한 인터넷 액세스를 제공하는데 사용됩니다. 그러나 인터넷 게이트웨이를 사용하면 퍼블릭 인터넷에서 시작된 트래픽도 사용자의 인스턴스에 연결할 수 있습니다.

외부 전용 인터넷 게이트웨이 :

수평확장되고 가용성이 높은 VPC구성요소로서, VPC의 인스턴스에서 인터넷으로 IPv6을 통한 아웃바운드 통신을 가능케하되 인터넷에서 해당 인스턴스와의 IPv6연결을 시작하지 못하게 할 수 있습니다.

로드 밸런서

Cross-Zone Load Balancing :

A리전에 EC2 2개, B리전에 EC2 8개가 있다고 했을때, Cross-Zone load Balancing은 100 요청시 EC2 각각 별로 10개씩 할당하는 방법이다 (공평한 방법)

데이터베이스

RDS는 관계형 데이터베이스 서비스를 나타냅니다. 쿼리 언어로 SQL을 사용하는 데이터베이스를 위한 관리형 데이터베이스입니다.

AWS에 의해 관리되는 데이터베이스 엔진 종류 :

- Postgres

- MySQL

- MariaDB

- Oracle

- Microsoft SQL Server

- Aurora(AWS Proprietary database)

Amazon RDS :

데이터베이스 인스턴스가 실패할 경우, 장애조치는 Amazon RDS가 자동으로 처리함. 관리자가 개입하지 않고 최대한 신속하게, DB인스턴스의 정식 이름 레코드(CNAME)가 예비 복제본을 가리키도록 변경합니다.

※ RDS백업은 자동적으로 RDS에 저장

※ 최대 5개의 읽기 복제본을 가짐

RDS Read Replica와 Multi AZ의 차이? :

RDS Read Replica는 읽기 스케일을 돕는다

같은 리전내 데이터 동기는 무료지만, 다른 리전으로 데이터 동기화는 유료

Multi AZ 사용이유는 주로 재해복구(DR)를 위함임

RDS 보안 :

고정된 암호화는 데이터베이스 인스턴스를 처음으로 생성할때 만 적용되는데, 만약 그것이 암호화 되어있지 않은 경우 스냅샷과 스냅샷의 복사본을 생성하여 암호화하고 암호화된 스냅샷으로부터 새로운 데이터베이스를 생성해야합니다.

Amazon Aurora : AWS특허 기술

RDS에 Auto Scaling 기능을 추가한 형태. 구버전의 MySql, PostgreSQL만 호환하고 MariaDB 등 최신 버전의 DBMS는 지원하지 않는다.

클라우드용으로 구축된 MySQL 및 PostgreSQL 호환 관계형 데이터베이스로, 기존 엔터프라이즈 데이터베이스의 성능 및 가용성과 오픈 소스 데이터베이스의 단순성 및 비용 효율성을 결합합니다. Amazon Aurora는 데이터베이스 인스턴스당 최대 64TB까지 자동 스케일되는 분산형 내결함성 자가복구 스토리지 시스템을 갖추고 있습니다.

- 성능은 RDS MySQL 5배, postgres 3배 성능이 뛰어남

- 용량은 기본10GB ~ 128TB 까지 늘어남

- 최대 15개의 replica (MySQL은 최대 5개)

- 페일 오버시에는 MySQL 보다 복구가 빠름

- 비용은 RDS보다 약 20%정도 비싸지만 훨씬 효율적임

- 높은 가용성과 Read scaling

- 3개의 가용영역에 6개의 복제본으로 자동복구, 자동확장, 복제기능이 있음

- RDS의 multi-AZ랑 비슷

Aurora 복제본과 CloudFront 배포를 사용하여 요청속도 급증에 대한 애플리케이션의 탄력성을 높일 수 있습니다.

복제본을 사용하는 목적은 쿼리를 실행하여 애플리케이션에 대한 읽기 작업을 스케일할 수 있고, 가용성을 향상 시킵니다. AWS 리전 내에 최대 15개의 Aurora 복제본을 DB 클러스터가 걸쳐 있는 가용 영역에 배포 할 수 있습니다.

Aurora는 in-memory 데이터베이스가 아닙니다.

Redis용 ElastiCache :

인터넷 규모의 실시간 애플리케이션을 지원하기 위해 millisecond 미만의 지연 시간을 제공하는 초고속 in-memory 데이터 스토어. 캐싱, 채팅/메시지, 게임 순위표, 지리 공간, 기계 학습, 미디어 스트리밍, Queues, 실시간 분석 및 세션 스토리지와 같은 실시간 트랜잭션 및 분석 처리 사용 사례에 탁월한 선택입니다. 즉시 복제, 고가용성 및 클러스터 샤딩을 지원하며 HIPAA 적격 서비스

※ HIPAA 미국 의료 정보 보호법

※ Redis 인증 사용

Memcached용 ElastiCache :

캐시 또는 데이터 스토리지로 사용할 수 있는 Memcached 호환 in-memory 키-값 스토리지 서비스입니다. in-memory 캐시를 구현하여 액세스 지연시간을 줄이고 처리량을 늘리며 관계형 또는 NoSQL 데이터베이스의 부하를 줄이는데 탁월한 선택입니다.

Redis용
Memcached용
높은 가용성, 백업, Read Relica 읽기전용 복제본
분배형식
가용성 X, 백업 X, 저장 X

Amazon DynamoDB :

모든규모에서 한 자릿수 millisecond 성능을 제공하는 키 - 값 데이터베이스. 인터넷 규모 애플리케이션을 위한 보안, 백업 및 복원, in-memory 캐싱(DAX를 통해)이 내장된 완전 관리형 다중 지역, 다중 마스터, 내구성 데이터베이스입니다. in-memory 데이터베이스가 아님.

※키-값 형식 Lambda

DynamoDB Accelerator(DAX) :

DAX는 DynamoDB를 위한 가용성이 뛰어난 완전관리형 in-memory cache로서, 초당 요청 수가 몇 백만 개인 경우에도 몇 밀리초에서 몇 마이크로초까지 최대 10배의 성능을 제공합니다. 개발자가 캐시 무효화, 클러스터 관리 또는 데이터 집단을 관리할 필요 없이 DAX가 DynamoDB 테이블에 인 메모리 가속화를 추가하는데 필요한 모든 작업을 수행합니다.

Amazon DocumentDB :

MongoDB 워크로드를 지원하는 빠르고 스케일이 가능하며 가용성이 높은 완전 관리형 문서 데이터베이스.

DocumentDB를 사용하면 JSON 데이터를 쉽게 저장, 쿼리 및 인덱싱 할 수 있습니다.

in-memory 데이터베이스가 아님.

Amazon Redshift :

데이터 웨어 하우징. 엄청난 규모(페타바이트) 데이터를 SQL로 다룰때 사용한다.

개발자도구

CodeDeploy :

Amazon EC2 인스턴스, 온프레미스 인스턴스, 서버리스 Lambda 함수 또는 Amazon ECS 서비스로 애플리케이션 배포를 자동화하는 배포(Code, 서버리스 AWS Lambda 함수, 웹 및 구성파일, Executables, 패키지, 스크립트, 멀티미디어 파일) 서비스입니다.

- 새 기능을 신속하게 출시

- AWS Lambda 함수 버전 업데이트

- 애플리케이션 배포 시 가동 중지 방지

- 오류가 발생하는 수동 배포와 관련된 다양한 위험 없이 애플리케이션 업데이트에 따른 복잡성 처리

관리도구

보안

보안 그룹 :

인스턴스에 대한 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽 역할을 합니다. VPC에서 인스턴스를 시작할 때 최대 5개의 보안 그룹에 인스턴스를 할당할 수 있습니다. 보안 그룹의 변경사항은 즉시 구현됨.

CloudWatch :

AWS 리소스의 변경 사항을 설명하는 시스템 이벤트를 거의 실시간 스트림을 제공합니다. 이는 AWS 서비스에서 발생하는 변경 사항을 기반으로 알림을 트리거 하는데 도움이 됩니다. 계정 간에 데이터를 디버그하고 추적할 수 없습니다.

CloudTrail :

AWS인프라 전반에서 작업과 관련된 계정 활동을 기록하고 지속적으로 모니터링하고 유지할 수 있습니다. 계정 활동의 이벤트 기록을 제공하여 AWS 계정의 거버넌스, 규정 준수, 운영 감사 및 위험 감사를 가능하게 합니다. 계정 간에 데이터를 디버그하고 추적할 수 없습니다.

AWS Shield :

DDoS 공격을 막아주는 유해 트래픽 차단 서비스이다.

AWS Shield Advanced :

고성능 유해 트래픽 차단 서비스이다. 사용시 자신의 Endpoint에 들어오는 공격 뿐만 아니라 AWS에서 얼마나 많은 규모의 공격을 처리하고 있는지 볼 수있다. 공격 발생하면 처리 프로세스가 나타나서 시각적으로 공격을 인지할 수 있다.

Amazon Certificate Manager(ACM) :

SSL 인증서 관리서비스. HTTPS 보안 웹서버나 로드 밸런서, 커스텀 도메인으로 CloudFront 서비스를 사용할 때 여기서 인증서를 등록한다. 또한 Elastic Beanstalk의 사용할 인증서도 여기서 등록하여 HTTPS로 배포할 수 있다.

AWS 하드웨어 모안 모듈(CloudHSM) :

로그인시도 실패로 HSM 초기화되어 HSM의 암호화 키가 지워지면, 저장된 키 사본이 없는 경우 키가 영구적으로 손실됩니다.

Amazon Cognito :

웹 및 모바일 앱에 대한 인증, 권한 부여 및 사용자 관리를 제공. 2가지 주요 구성요소는 사용자 풀과 자격증명 풀.

- 사용자 풀 : 앱 사용자의 가입 및 로그인 옵션을 제공하는 사용자 디렉터리

- 자격증명 풀 : 기타 AWS서비스에 대한 사용자 액세스 권한을 부여

Amazon Security Token Service(AWS STS) :

AWS STS를 사용하면 AWS 리소스에 대한 액세스를 제어할 수 있는 임시 보안 자격 증명을 생성하여 신뢰받는 사용자에게 제공할 수 있습니다. 임시 보안 자격증명은 다음과 같은 차이점을 제외하고는 IAM사용자가 사용할 수 있는 장기 액세스 키 자격 증명과 거의 동일한 효력을 지닙니다.

분석

Amazon Glue :

Amazon Glue는 고객이 분석을 위해 손쉽게 데이터를 준비하고 로드할 수 있게 지원하는 완전관리형 ETL(추출, 변환 및 로드) 서비스 입니다. AWS Management Console에서 클릭 몇번으로 ETL 작업을 생성하고 실행할 수 있습니다

인공지능

Amazon Kinesis Data Streams :

초당 기가바이트의 데이터를 수집가능, 실시간으로 읽고 쓸수 있는 정렬된 순서의 데이터 레코드로, 기본적으로 데이터 레코드는 Kinesis스트림에 추가된 시점부터 24시간 동안만 액세스 할 수 있음

- 웹사이트 클릭스트림

- 데이터베이스 이벤트 스트림

- 금융 거래

- 소셜 미디어 피드

- IT로그 및 위치 추적 이벤트

Amazon Connect :

전세계 Amazon 고객 서비스 직원이 고객 대화를 지원하게 위해 사용하는서비스

AWS Snowball 디바이스 :

방대한 양의 데이터를 Amazon S3에 업로드하고 다운로드 할 수 있는 서비스

한 디바이스에 80TB의 데이터를 저장할 수 있음

AWS Snowball Edge 디바이스 :

방대한 양의 데이터를 Amazon S3에 업로드하고 다운로드 할 수 있는 서비스(온-프레미스 > AWS)

한 디바이스에 100TB의 데이터를 저장할 수 있음

AWS Snowball Edge Storage Optimized 디바이스 :

수십 테라바이트에서 페타바이트 규모의 데이터를 AWS로 안전하고 빠르게 전송하는 서비스. Snowball Edge 디바이스에 저장된 데이터는 S3 버킷에 복사할 수 있으며 나중에 수명주기 정책을 통해 AWS Glacier로 전환할 수 있습니다. Snowball Edge 디바이스에서 AWS Glacier로 데이터를 직접 복사할 수 없습니다.

AWS DataSync :

온라인 데이터 전송 서비스로, 인터넷 또는 AWS Direct Connect를 통해 AWS 스토리지 서비스에서 송수신 되는 대량의 데이터 복사를 간소화, 자동화 및 가속화하는 서비스

NFS(Network File System)/SMB(Server Message Block) 파일서버 또는 AWS Snowcone과 Amazon Simple Storage Service(Amazon S3) 버킷, Amazon Elastic File System(Amazon EFS) 및 Amazon FSx for Window File Server 파일 시스템 간에 데이터를 복사할 수 있음

AWS Identity and Access Management(IAM) :

AWS리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스. 로그인(인증) 및 권한 부여된 대상을 제어함

※권한 경계는 직원이 만들고 관리하는 IAM 보안 주체(즉, 사용자 및 역할)에 부여할 수 있는 최대 권한을 제어하는데 사용할 수 있습니다. IAM관리자는 관리형 정책을 사용하여 하나 이상의 권한 경계를 정의하고 직원이 이 경계로 보안 주체를 생성하도록 허용할 수 있습니다.

Elastic Beanstalk :

애플리케이션을 실행하는 인프라에 대한 염려 없이 AWS 클라우드에서 애플리케이션을 신속하게 배포 및 관리할 수 있습니다. Go, Java, .NET, Node,js, PHP, Python 및 Ruby에서 개발된 애플리케이션을 지원함.

Elastic Beanstalk를 사용하면 애플리케이션을 실행하는 인프라에 대해 자세히 알지 못해도 AWS 클라우드에서 애플리케이션을 신속하게 배포하고 관리할 수 있습니다. Elastic Beanstalk를 사용하면 선택 또는 제어에 대한 제한 없이 관리 복잡성을 줄일 수 있습니다. 애플리케이션을 업로드하기만 하면 Elastic Beanstalk에서 용량 프로비저닝, 로드 밸런싱, 조정, 애플리케이션 상태 모니터링에 대한 세부 정보를 자동으로 처리합니다.

Amazon Simple Queue Service(SQS) :

마이크로 서비스, 분산 시스템 및 서버리스 애플리케이션을 쉽게 분리하고 확장할 수 있도록 지원하는 완전관리형 메시지 대기열 서비스

- 짧은 폴링 : ReceiveMessage 요청은 서버의 하위 집합만 쿼리하여 응답에 포함할 수 있는 메시지를 찾음. 쿼리에서 찾지 못하더라도 응답을 즉시 전송.

- 긴 폴링 : ReceiveMessage 요청이 모든 서버에서 메시지를 쿼리. 적어도 하나의 사용 가능한 메시지를 수집한 후 요청에 지정된 최대 메시지 수까지 응답을 보내고, 폴링 대기시간이 만료되는 경우에만 빈 응답을 보냄. 긴 폴링을 사용하면 빈 응답을 수신하는 횟수를 줄일 수 있으므로 SQS 사용 비용을 절감할 수 있음

※SQS 표준 Queues에서 FIFO Queues로 마이그레이션하려면,

- 기존 표준 Queues을 삭제하고 FIFO Queues로 다시 생성

- FIFO Queues의 이름이 .fifo 접미사로 끝나는지 확인하십시오

- 대상 FIFO Queues의 처리량이 초당 3000개 메시지를 초과하지 않는지 확인하십시오

Amazon GuardDuty :

다음을 분석하고 처리하는 지속적 보안 모니터링 서비스입니다. 위협 인텔리전스 피드를 바탕으로 Machine Learning을 적용하여 예기치 않게 발생하는 잠재적 무단 활동과 악의적 활동을 찾아냅니다.

- VPC 흐름 로그

- DNS 로그

- AWS CloudTrail관리 이벤트 로그

- CloudTrail S3 데이터 이벤트 로그

- 악성 IP 주소 및 도메인 목록 등

Amazon Macie :

민감한 데이터(개인정보 등)를 식별

AWS OpsWorks :

Chef 및 Puppet을 사용해 운영을 자동화함

Chef 및 Puppet은 코드를 사용해 서버 구성을 자동화할 수 있게 해주는 자동화 서비스

Amazon Neptune :

고도로 연결된 데이터 세트와 함께 작동하는 애플리케이션을 쉽게 구축하고 실행할 수 있는 빠르고 안정적인 관리형 그래프 데이터베이스 서비스. 핵심은 수십억 개의 관계를 저장하고 millisecond의 지연 시간으로 그래프를 쿼리하도록 최적화된 특수 목적의 고성능 그래프 데이터베이스 엔진입니다. 추천 엔진, 사기 탐지, 지식 그래프, 약물 발견 및 네트워크 보안과 같은 그래프 사용 사례를 지원합니다.

백업 및 복원

Pilot Light :

AWS사용시, AWS에서 시스템의 가장 중요한 핵심 요소를 구성하고 실행하여 Pilot Light을 유지할 수 있습니다.복구해야 할 때가 되면 중요 코어를 중심으로 전체 프로덕션 환경을 신속하게 프로비저닝할 수 있습니다.

최소 버전의 환경이 항상 클라우드에서 실행되는 DR 시나리오를 설명하는데 종종 사용됩니다. Pilot Ligth의 아이디어는 가스 히터에서 나온 비유로, 히터에서 켜져있는 작은 불꽃이 용광로 전체를 빠르게 점화시켜 집을 데울 수 있습니다.

기타

마이크로서비스 :

소프트웨어가 잘 정의된 API를 통해 통신하는 소규모의 독립적인 서비스로 구성되어 있는 경우의 소프트웨어 개발을 위한 아키텍처 및 조직적 접근 방식 입니다. 보통 독립적인 소규모 팀에서 보유하며, 애플리케이션 확장을 용이하게 하고 개발 속도를 앞당겨 혁신을 실현하고 새로운 기능의 출시 시간을 단축할 수 있게 해 줍니다.

블루/그린 배포(blue/green) :

서로 다른 버전의 애플리케이션을 실행하는 두 개의 동일한 환경 간에 트래픽을 이동하여 애플리케이션을 릴리스하는 기술입니다. 블루는 현재 실행중인 버전, 그린은 새 버전입니다. 블루/그린 배포는 다운 타임 및 롤백 기능과 같은 소프트웨어 배포와 관련된 일반적인 위험을 완화할 수 있습니다.

단점은 레코드를 업데이트하거나 라우팅 기본 설정을 변경하거나 애플리케이션 오류가 있을 때 모든 사용자가 업데이트된 IP주소를 받기까지 얼마나 걸릴지 모릅니다.

X-Ray :

AWS 계정에서 데이터를 디버그 및 추적하고 중앙집중식 계정에서 시각화하는 서비스.

트래픽 변동을 대비한 버퍼링 또는 조절에 사용할수 있는 AWS서비스 :

Amazon API Gateway, Amazon SQS 및 Amazon Kinesis

SWF(Simple Workflow Service) :

분산된 구성 요소에 대해 작업을 조정하는 애플리케이션을 쉽게 구축할 수 있습니다. Amazon SWF에서 작업은 애플리케이션의 구성 요소가 수행하는 논리적 작업 단위입니다. 애플리케이션간 작업 조정에서는 애플리케이션의 논리적 흐름에 따라 작업 간 종속성, 일정 예약 및 동시성을 관리합니다. Amazon SWF를 사용하면 진행상황을 추적하고 상태를 유지 관리하는 것과 같이 밑바탕에 깔려있는 복잡한 문제에 대한 염려 없이 구현 작업과 조정을 완벽하게 제어할 수 있습니다.

AWS Resource Access Manager(RAM) :

고객에게 AWS계정 또는 AWS Organizations내에서 리소스를 공유할 수 있는 간단한 방법을 제공합니다. 많은 AWS고객이 여러 AWS계정을 사용하여 팀에 관리 및 결제 자율성을 제공합니다. 이러한 고객은 이제 중앙 집중식으로 리소스를 생성하고 RAM을 사용하여 여러 계정 간에 공유할 수 있으므로 다중 계정 전략의 이점을 유지하면서 고객의 운영 오버헤드는 줄일 수 있습니다. RAM을 사용하여 리소스를 공유하면 고객이 각 계정에서 중복 리소스를 만들지 않아도 되므로 비용을 절감할 수 있습니다.

댓글