EC2

EBS와 인스턴스 스토어 차이

  • 인스턴스 스토어는 영구성을 제공하지 않아 임시 스토리지로 이상적, 중지 불가
  • EBS는 장기적으로 데이터를 유지하거나 암호화하려는 경우에 사용, 중지 가능

Batch Group

  • 새 인스턴스를 시작하면 모든 인스턴스가 기본 하드웨어 전반에 분산되도록 만든다
  • 유형
    • 클러스터 / 파티션 / 분산

S3

version management

  • 삭제마커: 단순 DELET 요청에 이름이 올랐던 버전 관리 객체의 자리 표시자
    • 삭제마커에서 사용할 수 있는 유일한 작업은 S3 API DELET 호출

기본 암호화

  • S3 버킷에 대한 기본 암호화 동작을 설정하여 모든 새 객체가 버킷에 저장될 때 암호화되도록
  • 유형
    • 서버 측 암호화: 객체를 디스크에 저장하기 전 암호화하고 객체를 다운로드할 때 해독 
      • SSE-S3(S3 관리형 키)
      • SSE-KMS(KMS keys)
    • 클라이언트 측 암호화: 고객 측 데이터를 암호화하여 암호화된 데이터를 S3에 업로드
      • 사용자가 암호화 프로세스, 암호화 키 및 관련 도구 관리
      • AWS KMS에 저장된 키 사용, 애플리케이션 내에 저장한 키 사용

Cloudfront

Presigned URL

  • 콘텐츠에 액세스할 수 있는 대상을 제어하는 기능
  • 만료 날짜 및  시간 같은 추가 정보가 포함되므로 콘텐츠에 대한 액세스를 보다 세부적으로 제어 가능

RDS

Automated Backup

  • 최저 1일부터 35일까지 백업을 보존하는데 복원 기간내로부터 최근 5분까지 특정시점을 지정하여 복원을 어떻게 하는거야...?

VPC

NAT Gateway / NAT Instance

  • SrcDestCheck 속성 → 원본/대상 확인
    • EC2 인스턴스는 기본적으로 원본/대상 확인을 수행(보내거나 받는 트래픽의 원본 또는 대상이어야 한다)
    • NAT 인스턴스는 원본 또는 대상이 그 자신이 아닐 때 트래픽을 보내고 받을 수 있어야 한다.
    • 따라서 비활성화해야함.

Security Group

  • Stateful / Stateless
    • Stateless → 네트워크 ACL 특성
      • 격리된 것으로 간주, 과거 트랜잭션에 대한 정보 또는 참조가 저장되지 않음
      • 단기 요청 처리(온라인 검색)
      • 인바운드에 HTTP(80) 포트 허용되어 있으나, 아웃바운드에 없으면 HTTP 트래픽이 '외부에서 들어왔다 나갈 때' 통신 불가
    • Stateful → 보안그룹 특성
      • 현재 트랜잭션이 이전 트랜잭션에서 발생한 상황에 영향을 받음
      • 컨텍스트와 내역이 저장되므로 중단되어도 중단된 곳부터 다시 시작 가능
      • 인바운드에 HTTP(80) 포트가 허용되어 있으나 아웃바운드에 없으면 HTTP 트래픽이 '외부에서 들어왔다 나갈 때' 통신 가능

VPC Peering

  • Peering / Transit
    • Peering
      • 상대 사업자에게 자신과 자신의 고객 정보만을 제공하는 무정산 관계(일대일 관계를 말하는건가?)
    • Transit
      • 계약을 맺은 고객에게 전 세계 글로벌 인터넷에 연결하기 위한 라우팅 정보를 제공하는 서비스

VPC Endpoint

  • IGW, NAT 디바이스, VPN 연결 또는 DX 연결이 없이 VPC와 서비스 간에 연결 생성하는 가상 디바이스
  • Interface Endpoint
    • 서브넷의 IP 주소 범위에서 프라이빗 IP 주소를 사용하는 탄력적 네트워크 인터페이스
    • AWS가 소유하거나 AWS 고객 또는 파트너가 소유한 서비스로 전달되는 트래픽에 대한 진입점 역할
  • Gateway Load Balancer Endpoint
    • 서브넷의 IP 주소 범위에서 프라이빗 IP 주소를 사용하는 탄력적 네트워크 인터페이스
    • 트래픽을 가로채고 Gateway Load Balancer를 사용해 구성한 네트워크 또는 보안 서비스로 라우팅하는 진입점 역할
  • Gateway Endpoint
    • 라우팅 테이블의 경로에 대한 대상인 게이트웨이로, S3 또는 DynamoDB로 전달되는 트래픽에 사용

Route 53

Health Check(상태 확인)

  • 웹 애플리케이션, 웹 서버, 기타 리소스의 상태와 성능을 모니터링
  • Route 53 콘솔에서 상태확인 가능, SDK CLI 등을 통해서도 가능
  • CloudWatch 경보 구성 가능

Routing Policy

  • Simple(단순): 도메인에 대해 특정 기능을 수행하는 하나의 리소스만 있는 경우
    • 동일 레코드 내에 다수의 IP를 지정하여 라우팅 가능
    • 값을 다수 지정한 경우 무작위로 반환
  • Failover(장애 조치): 액티브-패시브 장애 조치를 구성하려는 경우
    • 액티브-패시브 장애 조치: 기본 리소스 또는 리소스 그룹이 대부분의 시간 동안 사용 가능하도록 하고 보조 리소스 또는 리소스 그룹은 기본 리소스가 사용 불가능할 경우를 대비해 대기 중에 있도록 하는 조치
    • Main과 DR(Disaster Recovery)로 나누어 Main 장애시 DR로 쿼리
  • Geolocation(지리 위치): 사용자의 위치에 기반하여 트래픽을 라우팅하려는 경우
    • 레코드 생성시 지역을 지정 가능
  • Geoproximity(지리 근접): 리소스의 위치를 기반으로 트래픽을 라우팅하고 필요에 따라 한 위치의 리소스에서 다른 위치의 리소스로 트래픽을 보내려는 경우
    • Traffic flow를 이용한 사용자 정의 DNS 쿼리 생성 가능
  • Latency(지연 시간): 여러 AWS 리전에 리소스가 있고 왕복 시간이 적은 최상의 지연시간을 제공하는 리전으로 트래픽을 라우팅하려는 경우
  • Multivalue answer(다중 응답): Route 53이 DNS 쿼리에 무작위로 선택된 최대 8개의 정상 레코드로 응답하게 하려는 경우
    • 다수의 IP를 지정한다는 것은 simple과 비슷, health check가 가능(실패시 자동 Failover)
  • Weighted(가중치 기반): 사용자가 지정하는 비율에 따라 여러 리소스로 트래픽을 라우팅하려는 경우
    • 리전별 부하 분산 가능
    • 각 가중치를 가진 동일한 이름의 A 레코드를 만들어 IP를 다르게 줌

ELB(Elastic Load Balancer)

리스너(Listener)

  • 외부의 요청을 받아들이는 역할:  사용자의 요청을 받아드리고 적절한 대상 그룹으로 라우팅
  • L4 로드밸런서(스위치)에서 Virtual Server 역할
  • 서비스 포트 보유, 외부의 요청은 서비스 포트로 접속하는 요청만 처리(웹 서비스: 80 포트)
  • 한 개의 로드밸런서는 다수의 리스너를 보유할 수 있음
  • SSL 인증서를 게시하여 SSL Offload 실시 가능
    • SSL Offload: SSL 암호화/복호화를 L4 스위치가 대신해 서버의 부하를 줄여주는 역할

Auto Scaling

ASG(Auto Scaling Group)

  • 자동 크기 조정 및 관리를 위해 논리적 그룹으로 취급되는 EC2 인스턴스 모음이 포함되어 있음
  • ASG내 인스턴스 수 유지와 자동 크기 조정 → EC2 AutoScaling 서비스의 핵심 기능

수명 주기 후크(Life Cycle Hook)

  • Auto Scaling 인스턴스 수명 주기의 이벤트를 인식하는 솔루션을 생성한 다음 해당 수명 주기 이벤트가 발생할 때 인스턴스에 대한 사용자 정의 작업을 수행
  • 예시
    • 확장 이벤트가 발생하면 새로 시작된 인스턴스는 시작 시퀀스를 완료하고 대기 상태로 전환. 인스턴스가 대기 상태에 있는 동안 그룹은 스크립트를 실행하여 애플리케이션에 필요한 소프트웨어 패키지를 다운로드해 설치하여 트래픽 수신을  시작하기 전에 인스턴스가 준비를 마치도록 함. 스크립트가 소프트웨어 설치를 마치면 complete-lifecycle-action 명령을 전송해 계속 진행.
    • 축소 이벤트가 발생하는 경우 수명 주기 후크는 인스턴스가 종료되기 전에 인스턴스를 일시 중지하고 Amazon EventBridge를 사용하여 알림을 보냄. 인스턴스가 대기 상태에 있는 동안에는 Lambda 함수를 호출하거나 인스턴스가 완전히 종료되기 전에 인스턴스에 연결하여 로그 또는 다른 데이터를 다운로드.
  • 일반적인 용도는 인스턴스가 ELB에 등록되는 시점을 제어하는 것

IAM

MFA(가상 멀티 팩터 인증)

  • 보안 강화를 위한 것
  • IAM 사용자 또는 AWS 계정 루트 사용자에 대해 활성화 가능
  • 가상 MFA 디바이스 / U2F 보안키 / 하드웨어 MFA 디바이스 / SMS 문자 메시지 기반 MFA

자격 증명 연동

  • 기업 네트워크나 인터넷 자격 증명 공급자와 같은 다른 곳에 이미 암호가 있는 사용자에게 AWS 계정에 대한 임시 액세스 권한 부여 가능

Access Key / Secret Access Key

  • CLI를 사용하거나 AWS의 API를 호출할 때 자격증명용
  • 하나의 AWS 계정은 여러 개의 Access Key(ID) + Secret Access Key(비밀번호) 쌍을 생성해서 사용 가능

→ 결론적으로, 여러 개의 정책을 역할에 집어 넣어서 사용자에게 부여한다 이소린가?

Storage Gateway

  • 주요 기능
    • 온프레미스 스토리지 환경의 관리와 관련된 비용, 유지 관리 및 확장 문제를 줄이는데 유용
    • 표준 스토리지 프로토콜:
      • NFS, SMB, iSCSI 또는 iSCSI-VTL을 통해 로컬 프로덕션 또는 백업 애플리케이션에 원활하게 연결되므로 애플리케이션을 수정할 필요 없이 도입 가능
        • NFS: 네트워크에 파일을 저장하는 메커니즘
        • SMB: 컴퓨터의 애플리케이션에서 파일을 읽고 쓸 수 있으며 컴퓨터 네트워크 상의 서버 프로그램에서 서비스를 요청할 수 있도록 지원하는 네트워크 파일 공유 프로토콜
        • iSCSI: 컴퓨팅 환경에서 데이터 스토리지 시설을 이어주는 IP 기반의 스토리지 네트워킹 표준
    • 완전 관리형 캐시:
      • 로컬 게이트웨이 어플라이언스는 최근에 쓰거나 읽은 데이터의 캐시를 유지 관리
      • 애플리케이션에서 AWS에 내구성 높게 저장된 데이터에 짧은 대기 시간으로 액세스 가능
    • 최적화되고 안전한 데이터 전송:
      • SSL을 사용해 모든 유형의 게이트웨이 어플라이언스와 AWS 간에 전송되는 데이터를 암호화
    • VMware에서의 고가용성:
      • VMware vSphere HA와 통합된 일련의 상태 검사를 통해 고가용성 실현
  • Volume Gateway
    • 온프레미스 애플리케이션에 클라우드에서 지원하는 iSCSI 블록 스토리지 볼륨 제공
    • 캐싱 볼륨
      • S3에 데이터를 저장하고 자주 액세스하는 데이터 하위 집합의 사본은 로컬에 저장
    • 저장 볼륨(Stored Volume)
      • Volume Gateway 의 Stored Volume 을 하는 것이 아닌 제외하고 나머지 유형은 나머지 유형은 AWS 에 EC2 를 지원할 수 있게 하는 하이브리드 스토리지 이용한 Gateway 를 지원할 수 있게 하는 하이브리드 스토리지 생성하여 이를 Mount Point로 활용 가능 → 이 말이 볼륨 백업할 때 EBS 스냅샷으로 저장되어서 그런간가??

KMS(Key Management System)

  • CloudHSM
    • CMK를 KMS가 아닌 CloudHSM에 저장하여 사용하는 방식: 사용자 지정 키 스토어
      • AWS CloudHSM 클러스터에 연결된 AWS KMS 리소스
    • AWS에서 자체 암호화 키를 손쉽게 생성 및 사용할 수 있도록 지원하는 클라우드 기반 하드웨어 보안 모듈
    • 특정 상황인 경우에 사용하는 듯...?

EFS(Elastic File System)

  • 성능 모드
    • 범용 모드: 최대 35000IOPS를 지원, 작업당 지연 시간이 가장 낮음
    • 최대 I/O 모드: 500000개 이상의 IOPS를 지원하며 범용 모드에 비해 작업당 지연 시간이 더 높음
    • 대부분 범용 모드를 사용하는게 좋음
  • 처리량 모드
    • Bursting 처리량: 기본 모드, EFS 리전에 따라 달라지는 최대 값까지 파일 시스템 크기에 비례
    • Provisioning 처리량: 일정한 처리량을 갖는 애플리케이션의 경우
    • Switching 처리량: 처리량 모드 변경

ElastiCache

Memcached / Redis

  • Memcached
    • 가능한 가장 단순한 모델이 필요한 경우
    • 여러 코어 또는 스레드가 있는 큰 노드를 실행해야하는 경우
    • 시스템의 요구사항이 증가하고 감소함에 따라 노드를 추가 및 제거하는 확장 및 축소 기능이 필요한 경우
    • 객체를 캐시에 저장해야하는 경우
  • Redis
    • 메모리와 SSD간에 데이터를 계층화하는 경우
    • 역할 기반 액세스 제어로 사용자를 인증하려는 경우
    • 생산자가 실시간으로 새 항목을 추가하고 소비자가 차단 또는 비차단 방식으로 메시지를 사용할 수 있도록 지원하는 경우
    • 암호화 및 Redis 클러스터에서 샤드의 동적인 추가 또는 제거를 지원하는 경우
    • 버전 마다 다르다... 해당 내용은 찾아보기

Redshift

Enhanced VPC Routing

  • VPC를 통해 클러스터와 데이터 리포지토리 간의 모든 COPY 및 UNLOAD 트래픽을 강제 실행
  • Redshift 클러스터와 다른 리소스 간의 데이터 흐름을 긴밀하게 관리

API Gateway

  • 사용 사례
    • API Gateway를 사용하여 HTTP / REST / WebSocket API 생성

Cognito

SAML 자격 증명 공급자

  • Security Assertion Markup Language 2.0(SAML 2.0)을 통해 자격 증명 공급자(IdP)를 사용하여 인증하도록 지원

OpenID Connect 자격 증명 공급자

  • 여러 로그인 공급자가 지원하는 인증에 대한 개방형 표준

 

개념

  • 컴퓨팅
  • 비용 관리
  • 데이터베이스
  • 재해 복구
더보기

사업 및 시스템이 발전함에 따라 지속적으로 수행해야 할 분석 및 개선 과정

- 필요에 따라 인프라 확장 가능

- 확장성, 신뢰성, 보안성, 속도 보장

- 온디맨드

- 최소 권한 설계가 가능하도록 역할 분리가 가능한 도구 제공

  • 고가용성
더보기

서버, 네트워크, 프로그램 등의 시스템이 상당히 오랜 기간 동안 지속적으로 정상 운영이 가능한 성질

"절대 고장 나지 않음"

  • 관리 및 거버넌스
더보기

비즈니스 민첩성과 거버넌스 제어를 모두 지원하는 환경을 활성화, 프로비저닝 및 운영 가능

확장 / 간편성 / 타사 솔루션 / 비용 절감

서비스: Control Tower, Organizations, Well-Architected Tool, Budgets, License Manager

  • 마이크로서비스 및 구성 요소 결합 해제
더보기

마이크로 서비스: 소프트웨어가 잘 정의된 API를 통해 통신하는 소규모 독립적인 서비스(각 티어가 존재)

  • 마이그레이션 및 데이터 전송
  • 네트워킹, 연결 및 콘텐츠 전송
  • 보안
  • 서버리스 설계 원칙
  • 스토리지

AWS 서비스 및 기능

분석:

  • Amazon Athena
  • Amazon ES(Elasticsearch Service)
  • Amazon EMR
  • AWS Glue
  • Amazon Kinesis
  • Amazon QuickSight

AWS 결제 및 비용 관리:

  • AWS Budgets
  • Cost Explorer

애플리케이션 통합:

  • Amazon SNS(Simple Notification Service)
  • Amazon SQS(Simple Queue Service)

컴퓨팅:

  • Amazon EC2
  • AWS Elastic Beanstalk
  • Amazon ECS(Elastic Container Service)
  • Amazon EKS(Elastic Kubernetes Service)
  • Elastic Load Balancing
  • AWS Fargate
  • AWS Lambda

데이터베이스:

  • Amazon Aurora
  • Amazon DynamoDB
  • Amazon ElastiCache
  • Amazon RDS
  • Amazon Redshift

관리 및 거버넌스:

  • AWS Auto Scaling
  • AWS Backup
  • AWS CloudFormation
  • AWS CloudTrail
  • Amazon CloudWatch
  • AWS Config
  • Amazon EventBridge(Amazon CloudWatch Events)
  • AWS Organizations
  • AWS Resource Access Manager
  • AWS Systems Manager
  • AWS Trusted Advisor

마이그레이션 및 전송:

  • AWS DMS(Database Migration Service)
  • AWS DataSync
  • AWS Migration Hub
  • AWS SMS(Server Migration Service)
  • AWS Snowball
  • AWS Transfer Family

네트워킹 및 콘텐츠 전송:

  • Amazon API Gateway
  • Amazon CloudFront
  • AWS Direct Connect
  • AWS Global Accelerator
  • Amazon Route 53
  • AWS Transit Gateway
  • Amazon VPC(및 관련 기능)

보안, 자격 증명 및 규정 준수:

  • ACM(AWS Certificate Manager)
  • AWS Directory Service
  • Amazon GuardDuty
  • Amazon IAM(Identity and Access Management)
  • Amazon Inspector
  • AWS KMS(Key Management Service)
  • Amazon Macie
  • AWS Secrets Manager
  • AWS Shield
  • AWS Single Sign-On
  • AWS WAF

스토리지:

  • Amazon EBS(Elastic Block Store)
  • Amazon EFS(Elastic File System)
  • Amazon FSx
  • Amazon S3
  • Amazon S3 Glacier
  • AWS Storage Gateway

+ Recent posts