헷갈리거나 기억해야할만한 내용이라고 보이는 것만 부분적으로 정리한 내용입니다.

 

 

VPC Gateway

  • Interface Endpoint
    • Elastic Network Interface를 통해 Private IP 할당되면 해당 IP로 Access하는 방식
      • Interface Endpoint가 Private Subnet 내부에 위치함
      • PrivateLink에 대한 요금 발생
        *AWS PrivateLink는 트래픽을 공용 인터넷에 노출시키지 않고 VPC, AWS 서비스 및 온프레미스 네트워크 간의 비공개 연결을 제공합니다. Amazon VPC 엔드포인트를 통해 비공개로 안전하게 서비스에 액세스할 수 있습니다.
    • SQS, SNS, Kenesis, Sagemaker 등 지원
    • VPC 피어링 또는 AWS Transit Gateway를 통해 다른 Region에서 Access 가능
  • Gateway Endpoint
    • VPC 내부에 위치
    • S3, DynamoDB 등 지원
    • 비용 발생하지 않음
    • 다른 Region에서 Access 허용하지 않음

 

S3

  • 버킷 정책
    • 버킷 정책에서 "aws:SecureTransport" 조건을 사용하면 S3 버킷에 대한 모든 연결이 전송 중에 암호화됩니다
    • S3 버킷에 업로드된 모든 객체가 암호화 PutObject에 x-amz-server-side-encryption 헤더 세트가 없는 경우 거부하도록 버킷 정책을 업데이트합니다
    • S3 기본설정이 모든 객체 암호화임
    • S3 버킷 접근 보호를 Cognito로 할 시 적절한 IAM 역할을 맡도록 Amazon Cognito 자격 증명 풀을 업데이트합니다
  • Amazon S3 Glacier:
    • Expedited Retrieval(신속 검색): Provides access to data within 1-5 minutes.
    • Standard Retrieval(표준 검색): Provides access to data within 3-5 hours.
    • Bulk Retrieval(대량 검색): Provides access to data within 5-12 hours.
  • Amazon S3 Glacier Deep Archive:
    • Standard Retrieval(표준 검색): Provides access to data within 12 hours.
    • Bulk Retrieval(대량 검색): Provides access to data within 48 hours.
  • S3 객체 잠금
    • 법적 보존
      • 객체 잠금 법적 보존 작업을 사용하면 객체 버전에 법적 보존을 적용할 수 있습니다.
      • 보존 기간 설정과 마찬가지로 법적 보존은 객체 버전을 덮어쓰거나 삭제하는 것을 방지합니다.
        • 객체를 삭제해야 하는 사용자의 IAM 정책에 s3:PutObjectLegalHold 권한을 추가합니다
      • 그러나 법적 보존에는 관련 보존 기간이 없으며 제거될 때까지 유효합니다
  • OAI, OAC
    • S3에 직접 접근을 막고 인증된 경로로만 접근할 수 있도록 하는 버킷 정책
      • 예) CloudFront를 통한 접근만 허용할 경우, OAI만 읽기 권한을 갖는 S3 버킷권한을 생성 후 CloudFront에 OAI를 할당합니다.

 

EC2

  • 비용 절약
    • EC2 Instance saving plan 
    • 근데 EC2 인스턴스 패밀리 변경 가능한 건 Compute Savings Plans
      *EC2 Instance saving plan은 family 변경 불가
      • Compute Savings Plans에 대한 운영 유연성: 선결제 없음 > 선결제
        • 선결제 없음은 월별 사용량에 대해서만 지불
  • EC2 Auto Scaling
    • 예측 조정: 트래픽 흐름의 일일 및 주간 패턴에 앞서 Auto Scaling 그룹의 EC2 인스턴스 수를 늘립니다. 정기적인 트래픽 증가 패턴이 있는 경우 예측 확장을 사용하면 예측된 로드보다 먼저 용량을 시작하여 더 빠르게 확장할 수 있습니다. 예측 확장은 기계 학습을 사용하여 CloudWatch의 기록 데이터를 기반으로 용량 요구 사항을 예측합니다. 트래픽이 적을 것으로 예상되는 주말에는 예약된 조정을 사용하여 Auto Scaling 그룹 용량을 0으로 변경합니다. 이렇게 하면 사용되지 않는 인스턴스를 종료하여 비용이 최소화됩니다
    • 대상 추적 조정 정책을 사용하여 인스턴스 CPU 사용률을 기반으로 Auto Scaling 그룹을 조정합니다. 이를 통해 Auto Scaling 그룹은 수요에 따라 동적으로 확장 및 축소할 수 있습니다.
    • 임의의 요일에 갑작스러운 트래픽 증가에도 성능 유지해야한다면, 동적 스케일링(예측 불가하므로 예측 조정X)
  • EC2 Auto Scaling lifecycle hooks: 수명 주기 후크를 사용하면 스크립트가 완료될 때까지 인스턴스 종료를 지연
  • 전용인스턴스와 전용 호스트
    • 오라클 같은 서비스는 라이센스가 CPU 단위로 체결 가능. 인스턴스는 가상 CPU다 보니 이걸론 사용에 한계있음. 그럴 때 쓰는 게 전용호스트
    • 전용 테넌시는 다른 고객과 하드웨어 공유 방지하고 내 워크로드 내에서는 하드웨어 공유됨
      • 시험용) "소켓 및 코어"는 "전용 호스트”
    • 분산 배치 그룹: 노드 그룹이 동일한 기본 하드웨어를 공유하지 못하도록 하는 네트워크 아키텍처
      • 각 인스턴스가 격리된 단일 테넌트 하드웨어에서 실행
  • EC2 백업: 스냅샷 생성 후 AMI 생성
    • EC2 백업전략 세우는데 임시 로컬 스토리지가 없다면? 스냅샷 없이 바로 AMI 생성
  • EC2 인스턴스의 취약점을 적극적으로 검사하고 결과를 자세히 설명하는 보고서를 보내는 솔루션 Amazon Inspector를 켜십시오. Amazon Inspector 에이전트를 EC2 인스턴스에 배포합니다. 결과를 자세히 설명하는 보고서의 생성 및 배포를 자동화하도록 AWS Lambda 함수를 구성합니다.
  • EC2 DR 전략은 장애 조치 지역의 용량을 충족해야 한다면? 장애 조치 지역에서 용량 예약을 구매합니다.
  • EC2 인스턴스에서 메모리를 실행하고 로드하는 시간 감축시켜야 한다면? 최대 절전 모드를 활성화한 상태에서 EC2 온디맨드 인스턴스를 시작합니다. 다음 테스트 단계에서 EC2 Auto Scaling 웜 풀을 구성합니다.
    • 최대 절전 모드: EC2 인스턴스의 메모리 내 상태를 영구 스토리지에 저장하고 인스턴스를 종료합니다. 인스턴스가 다시 시작되면 인 메모리 상태가 복원되어 새 인스턴스를 시작하는 것보다 훨씬 빠르게 시작됩니다.
      =EC2 인스턴스를 "사전 준비" 상태로 유지하여 더 빠르게 생산적인 상태로 전환할 수 있습니다.
    • 웜 풀: EC2 시작 시간을 단축

 

Route 53

CASE) 웹사이트를 사용할 수 없는 경우 사용자에게 백업 정적 오류 페이지를 표시

  • Route 53 액티브-패시브 장애 조치 구성을 설정합니다 (ALB를 기본 엔드포인트로 사용하고 Amazon S3 정적 웹 사이트를 패시브 엔드포인트로 사용하여 Route 53 액티브-패시브 장애 조치 구성을 설정)
  • Route 53 상태 확인에서 ALB 엔드포인트가 비정상이라고 판단되면 Amazon S3 버킷에 호스팅되는 정적 오류 페이지로 트래픽을 보냅니다.

CASE) 모든 고객에게 개별적이고 안전한 URL을 제공

  • 등록기관에 필요한 도메인을 등록하세요. Route 53 호스팅 영역에 와일드카드 사용자 지정 도메인 이름을 생성하고 API Gateway 엔드포인트를 가리키는 영역에 기록합니다.
  • 동일한 리전에 있는 AWS Certificate Manager(ACM)의 사용자 지정 도메인 이름과 일치하는 와일드카드 인증서를 요청합니다.
  • API 게이트웨이에서 REST API용 사용자 지정 도메인 이름을 생성합니다. AWS Certificate Manager(ACM)에서 인증서를 가져옵니다.

 

CloudFront

  • Edge Location에 캐싱해두는 개념
  • 동적 IP 주소 집합 사용
  • 프로토콜: HTTP, HTTPS
  • Lambda@Edge
    • CloudFront 네트워크의 엣지에서 실행되는 서버리스 함수입니다.
  • 서명된 URL
    • CloudFront 서명된 URL 또는 서명된 쿠키를 사용하여 특정 사용자(예: 요금을 지불한 사용자)를 대상으로 하는 문서, 비즈니스 데이터, 미디어 스트림 또는 콘텐츠에 대한 액세스를 제한합니다.
  • Amazon CloudFront는 특정 국가의 사용자에 대한 액세스를 거부 가능
    = Amazon CloudFront 지리적 제한, 서명된 URL 활용
  • 데이터 전송 중 보호를 위해선 필드 수준 암호화 필요
    • 전체 애플리케이션 스택에서 보호
    • 방법: CloudFront 필드 수준 암호화 프로필을 구성합니다

 

Global Accelerator

  • TCP/UDP 지연 시간 최소화
  • 항상 성능을 기반으로 사용자 트래픽을 최적의 엔드포인트로 라우팅
  • 장기 약정이나 최소 요금이 필요하지 않은 셀프 서비스 종량제 서비스
  • AWS 글로벌 네트워크 인프라를 통한 트래픽 전송 → 성능 개선
  • 고정IP

 

RDS

  • RDS Proxy
    • 데이터베이스 연결 시간 초과로 인한 애플리케이션 오류를 줄이기 위한 가장 좋은 솔루션은 RDS DB 인스턴스에서 RDS Proxy를 활성화하는 것입니다.
    • 데이터베이스와 설정된 연결을 풀링하고 공유할 수 있어 데이터베이스 효율성과 애플리케이션 확장성이 향상됩니다.
    • RDS Proxy는 연결을 풀링하므로 코드를 변경할 필요가 없습니다.
    • RDS Proxy를 사용하면 Aurora 및 RDS 데이터베이스의 장애 조치 시간이 최대 66% 단축됩니다.
    • 시험용) 데이터베이스 연결 거부 오류 = RDS Proxy
  • RDS 자동백업
    • RDS 자동 백업을 사용하면 지정된 보존 기간(최대 35일) 내의 특정 시점(초 단위까지 가능)으로 데이터베이스를 복구할 수 있습니다
  • RDS Storage  Amazon RDS에서는 범용 SSD(gp2 및 gp3라고도 함), 프로비저닝된 IOPS SSD(io1이라고도 함), 마그네틱(표준이라고도 함) 등 세 가지 스토리지 유형을 제공합니다.
  • RDS 비용을 줄이기 위해 적절한 Trusted Advisor 점검
  • 구매거래 데이터 저장소로는 RDS가 적합
  • 데이터베이스 관리자로부터도 민감한 고객 데이터가 보호되기 위해선 Amazon RDS
    *S3는 관리자 액세스 제한 없음
  • RDS의 재해 복구 솔루션?
    • 24시간마다 자동 스냅샷(전체 DB 인스턴스를 백업)을 다른 리전으로 복사합니다.
  • RDS 이벤트 알림
    • RDS DB 내부 데이터 업데이트로 알림 보내주는 건 없습니다. 따라서 데이터베이스가 업데이트될 때 트리거되는 AWS Lambda 함수를 생성해야 합니다.
  • RDS 암호화
    • RDS 암호화 설정은 인스턴스 생성 시에만 가능(생성 후 불가)
      • 단, 암호화되지 않은 스냅샷 사본은 암호화 가능하기에 암호화되지 않은 RDS 인스턴스 암호화 방법은 최신 DB 스냅샷 사본을 암호화합니다. 암호화된 스냅샷을 복원하여 기존 DB 인스턴스를 교체합니다
    • RDS 암호화 시, 모든 로그, 백업 및 스냅샷 암호화됨
  • 기본 OS에 대한 액세스를 유지하기 위해 Amazon RDS Custom으로 마이그레이션
  • RDS 시작 중지
    • AWS Lambda 함수를 사용
      • AWS Lambda 함수를 사용하면 RDS 인스턴스를 프로그래밍 방식으로 시작하고 중지할 수 있습니다.
    • EventBridge 예약 규칙으로 Lambda 트리거
      • EventBridge 예약 규칙은 매일 지정된 시간에 Lambda 함수를 트리거할 수 있습니다.
    • 이를 통해 사용 패턴에 맞춰 일정에 따라 RDS 시작 및 중지를 완전히 자동화할 수 있습니다.
    • RDS 청구는 인스턴스가 실행 중일 때 시간당 청구되므로 사용하지 않을 때 중지하면 비용이 크게 절감됩니다.

 

Aurora

  • 다른 회사에 Aurora 백업 안전하게 공유하기
    • 데이터베이스 스냅샷을 생성합니다. KMS 키 정책에 다른 회사의 AWS 계정을 추가합니다. 다른 회사의 AWS 계정과 스냅샷을 공유합니다
  • RDS 복제지연 해결
    • 데이터베이스를 Amazon Aurora로 마이그레이션합니다. 읽기 전용 복제본을 Aurora 복제본으로 교체하고 Aurora Auto Scaling을 구성합니다. 저장 프로시저를 Aurora 기본 함수로 바꿉니다. 애플리케이션 코드를 크게 변경하지 않고도 복제 지연을 줄이고 지속적인 운영 오버헤드를 최소화하는 데 가장 적합한 솔루션입니다. 데이터베이스를 Amazon Aurora로 마이그레이션하면 Amazon RDS에 비해 복제 성능이 향상되고 확장성이 높아집니다
  • MySQL 및 PostgreSQL과 호환되는 완전 관리형 관계형 데이터베이스 엔진

 

Aurora serverless

  • MySQL용 Aurora Serverless를 사용하면 애플리케이션의 요구 사항에 따라 서비스가 자동으로 확장되거나 축소되므로 특정 인스턴스 유형을 선택할 필요가 없습니다.
  • 실제 사용량을 기준으로 컴퓨팅 용량을 자동으로 확장하고 사용하지 않을 때는 0까지 줄입니다.
    → 이는 간헐적인 사용에 따른 비용을 최소화합니다 (데이터베이스가 활성화되면 초당 요금을 청구)
    *RDS: 시간당 요금을 청구

 

DynamoDB

  • NoSQL "단일 이미지 또는 행" 또는 "단일 키-값 쌍이 있는 하나의 간단한 테이블"
  • 모드
    • 온디맨드모드와 프로비저닝된 모드 지원
      • 프로비저닝된 모드는 RCU와 WCU를 지정하는 방식이다.
        *RCU/WCU=Read/Write Capacity Units
  • 연속 백업
    • DynamoDB의 기본 기능
    • 서버나 클러스터를 관리할 필요 없이 모든 규모에서 작동
    • AWS 리전 및 계정 전체에서 지난 35일 중 원하는 시점으로 초당 단위로 데이터를 내보낼 수 있습니다.
    • 읽기 용량이나 프로덕션 테이블의 가용성에는 영향을 미치지 않습니다.
  • DynamoDB 응답 시간을 밀리초에서 마이크로초로 개선하고 데이터베이스에 대한 요청을 캐시하기 위해 = DynamoDB Accelerator(DAX)
  • TTL속성은 불필요한 데이터 지우는 용도
    • 추가 비용 발생하지 않음
    • 특정 기간 지난 데이터 지우는 용도

 

Elasticache

  • 잦은 데이터 세트 반환 요청 또는 호출 ->캐싱으로 해결:Amazon ElastiCache를 구현하여 대규모 데이터 세트를 캐시합니다
  • 실시간 게임 순위표를 쉽게 만들 수 있습니다. 점수별로 정렬된 목록을 유지하면서 요소의 고유성을 제공하는 Redis Sorted Set 데이터 구조를 사용하면 됩니다.
  • 캐싱전략
    • 연속 쓰기 캐싱 전략 - 데이터베이스와 캐시 실시간 동기화
    • 지연 로드 캐싱 전략 - 데이터 요청 시에만 데이터베이스 데이터 가져옴
    • TTL(Time-to-Live) 캐싱 전략 - 만료기간이 있어 데이터가 특정 기간 동안 유효한 것으로 간주
    • AWS AppConfig 캐싱 전략 - 애플리케이션 구성을 배포하고 관리하는 데 도움
  • 세션관리 최적화 목적으로 세션 지속적으로 저장: Elaticache와 ALB 고정세션기능(세션선호도) 활성화
    *Elasticache는 복제지연문제를 해결하지 않음
    • 시험용) 세션 분산 저장 or 코드 변경 허용 → Elasticache
    • 시험용)  세션 정보 단일 인스턴스 저장 or 코드 변경 허용하지 않을 경우 → ALB 세션 선호도(고정 세션)
  • Memcached는 Redis보다 더 나은 성능과 단순성을 제공하지만 가용성은 낮습니다

 

Lambda

  • 함수 URL은 Lambda 함수에 대한 전용 HTTP(S) 엔드포인트입니다.
    =함수 URL을 생성하면 Lambda가 자동으로 고유한 URL 엔드포인트를 생성합니다.
    =함수 URL을 사용하면 Lambda 함수에 대한 직접 호출 엔드포인트가 제공됩니다.
    =추가적인 인프라 없이도 신속하게 함수 URL을 생성하여 제3자에게 제공할 수 있습니다.
  • Lambda SnapStart와 프로비저닝된 동시성 모두 함수 확장 시 콜드 스타트와 이상치 지연 시간을 줄일 수 있습니다.
    • SnapStart를 사용하면 추가 비용 없이 시작 성능을 최대 10배까지 향상시킬 수 있습니다.
    • 엄격한 콜드 스타트 대기 시간 요구 사항이 있는 경우 프로비저닝된 동시성을 사용합니다(요금 발생)

 

AWS Storage Gateway

  • 클라우드 스토리지에 대한 온프레미스 액세스 권한을 제공하는 하이브리드 클라우드 스토리지 서비스
    • 온프레미스 애플리케이션을 클라우드 스토리지에 원활하게 연결
    • 대기 시간이 짧은 액세스를 위해 로컬 위치에 데이터를 캐싱 (로컬 캐싱)
  • 유형: Tape Gateway, Amazon S3 File Gateway, Amazon FSx File Gateway, Volume Gateway
    • Amazon S3 File Gateway
      • NFS 및 SMB 파일 프로토콜 사용
      • SMB 파일 공유 사용자 작업에 대한 감사 로그를 Amazon CloudWatch에 게시
      • 온프레미스 파일 데이터를 Amazon S3의 객체로 저장 가능
    • Amazon FSx File Gateway
      • 업계 표준 SMB 프로토콜을 사용 액세스 가능
      • 완벽한 NTFS 지원, 섀도 복사본 및 액세스 제어 목록(ACL)과 같은 Windows 기본 호환성을 통해 Amazon FSx에서 파일 데이터를 저장하고 액세스
    • Tape Gateway
      • ISCSI 기반 가상 테이프 드라이브와 가상 미디어 체인저로 구성된 가상 테이프 라이브러리(VTL)를 온프레미스 백업 애플리케이션에 제공
      • S3에 가상 테이프를 저장하고 새 테이프를 자동으로 생성하여 관리와 AWS로의 전환 간소화
      • VTL 인터페이스 → 물리적 테이프 인프라 자본에 드는 지출, 수년간의 유지 관리 계약 및 지속적인 미디어 비용을 절감 가능
      • 페타바이트 규모의 테이프 데이터 마이그레이션 요구 사항과 관련하여 Tape Gateway와 함께 Snowball Edge Storage Optimized 디바이스를 사용하여 물리적 테이프 데이터를 S3 Glacier Flexible Retrieval 또는 S3 Glacier Deep Archive로 마이그레이션하여 추가적으로 장기 스토리지 비용을 줄일 수 있습니다
    • Volume Gateway
      • ISCSI 프로토콜을 사용하는 블록 스토리지 볼륨을 제공
      • 볼륨의 특정 시점 스냅샷으로 비동기식으로 백업되고 Amazon EBS 스냅샷으로 클라우드에 저장 가능
        • 스냅샷은 변경된 블록만 캡처하는 증분 백업
        • 스냅샷 스토리지는 압축되어 스토리지 비용을 최소화
        • EBS 스냅샷 또는 캐시된 볼륨 복제를 기반으로 한 재해 복구에 사용

 

 

기타 서비스

  • AWS Lake Formation
    • S3 data lake 관리 가능
    • Database 특정 열만 액세스 허용하도록 하여 열 수준 액세스 제어 가능하도록 합니다.
  • API Gateway
    • 사용량 계획
      • API Gateway 사용량 계획을 사용하여 API를 고객을 위한 제품 혜택으로 제공할 수 있습니다. 고객이 선택한 API에 액세스할 수 있도록 사용 계획 및 API 키를 구성하고 정의된 제한 및 할당량에 따라 해당 API에 대한 요청 제한을 시작할 수 있습니다.(e.g. 프리미엄 고객 전용 콘텐츠 제공)
      • 사용량 계획이 있는 API 키는 승인된 앱과 사용자에게만 액세스를 제한합니다.
    • API Gateway 보호 → WAF
      • Region AWS WAF 웹 ACL을 생성합니다. 웹 ACL을 API 게이트웨이 단계와 연결합니다
  • Amazon AppFlow
    • 다양한 SaaS 애플리케이션과 AWS 서비스 간에 데이터를 안전하게 전송할 수 있는 완전관리형 통합 서비스입니다.
    • 내장된 암호화 옵션을 제공하고 SSL/TLS 프로토콜을 사용하여 전송 중 암호화를 지원합니다.
    • AppFlow를 사용하면 Salesforce에서 Amazon S3로의 데이터 전송 흐름을 구성하여 AWS KMS CMK를 활용하여 저장 데이터 암호화를 보장할 수 있습니다.
  • EMR
    • (대용량 데이터 + 병렬 데이터 처리)용
      • 대규모 데이터 세트를 처리하는 데 최적화된 관리형 Hadoop 프레임워크
      • 병렬 데이터 처리를 지원
      • Redshift와 통합 가능
      • Amazon S3에서 반구조화된 데이터를 처리 가능
  • Canary 릴리스 배포
    • 새 API 버전을 일정 비율의 트래픽으로 점진적으로 출시할 수 있습니다. 이는 릴리스 중 고객에게 미치는 영향과 잠재적인 데이터 손실을 최소화합니다.
    • 시험용) 고객에게 미치는 영향 최소화 및 데이터 손실 최소화 = Canary 배포
  • 인프라 취약성 관리 = Inspector
  • PII 식별 = Macie
    *불필요한 모든 리전에서 활성화하는 대신 필요한 리전에서 직접 활성화할 수 있습니다.
  • Build a web application = AWS Amplify
  • Sign in users = Amazon Cognito user pool (사용자풀 O / 자격증명 X)
  • 파일에서 텍스트를 추출하는 Textract
  • 텍스트에서 의료정보 감지 및 추출하는 Amazon Comprehend Medical
  • 여러 화자를 인식하려면 Amazon Transcribe를 사용하십시오
    • 음성 언어를 서면 텍스트로 자동 변환하는 서비스
  • 마케팅 커뮤니케이션 = Amazon Pinpoint
  • EKS
    • Amazon EKS가 워크로드에 따라 확장 및 축소
      • Kubernetes Metrics Server를 사용하여 수평형 포드 자동 크기 조정을 활성화합니다
        → 워크로드 수요에 따라 EKS 클러스터 및 컨테이너 애플리케이션의 자동 크기 조정
      • Kubernetes Cluster Autoscaler를 사용하여 클러스터의 노드 수를 관리합니다
    • EKS 클러스터와 온프레미스 Kubernetes 클러스터를 중앙에서 한번에 보고 싶을 때
      → Amazon EKS 커넥터를 사용하여 모든 Kubernetes 클러스터를 등록하고 연결합니다.
  • Organizations에서 OU 계층 구조의 변경사항 식별 → AWS Control Tower를 사용하여 AWS 계정을 프로비저닝합니다. 계정 드리프트 알림을 사용하여 OU 계층 구조의 변경 사항을 식별하세요.
  • AWS Control Tower
    • 인터넷 접속 차단, 외부 리전 접근 제어
    • data residency guardrails를 사용하여 인터넷 접속을 차단할 수 있습니다.
    • 특정 리전을 제외한 모든 리전에 대한 액세스를 거부할 수 있습니다.
  • EventBridge는 일치하는 이벤트 수부터 규칙에 의해 대상이 호출되는 횟수까지 모든 항목에 대해 매분마다 Amazon CloudWatch에 지표를 보냅니다 "AWS/Events" 네임스페이스에서 관련 지표를 찾을 수 있으며, 이를 통해 규칙과 일치하는 이벤트 수와 규칙 대상에 대한 호출 수를 모니터링할 수 있습니다.
  • 사용량을 기반으로 비용을 최적화 → AWS의 인스턴스 스케줄러를 사용하여 시작 및 중지 일정을 구성하십시오.
    • 인스턴스 스케줄러는 Amazon Elastic Compute Cloud(Amazon EC2) 및 Amazon Relational Database Service(Amazon RDS) 인스턴스의 시작 및 중지를 자동화
  • AWS Outposts 사용 시 사용자의 담당 사항
    • Outposts 랙에 탄력적인 전원 및 네트워크 연결 제공
    • 데이터센터 환경의 물리적 보안 및 접근통제
    • 서버 오류 및 유지 관리 이벤트를 완화하기 위해 Amazon ECS 클러스터에 추가 용량 제공
      • Outpost 용량은 유한하고 AWS가 사이트에 설치하는 랙의 크기와 수에 따라 결정되므로 초기 워크로드를 실행하고 향후 성장을 수용하며 추가 제공을 위해 필요한 Outposts 용량의 EC2, EBS 및 S3 용량을 결정해야 합니다.
  • Opensearch
    • 로그를 Amazon OpenSearch Service(Amazon Elasticsearch Service)로 스트리밍하도록 CloudWatch Logs 구독을 구성하면 새로운 정책에 따라 회사는 거의 실시간으로 Amazon OpenSearch Service(Amazon Elasticsearch Service)에 모든 애플리케이션 로그를 저장함
  • 셀프 서비스 목적으로 사용할 수 있는 공통 솔루션 및 도구 세트를 중앙에서 관리하고 배포해야 합니다. 》AWS Service Catalog 제품
  • AWS Config는 리소스 구성을 지속적으로 평가하고 태그가 지정되지 않은 리소스를 식별할 수 있습니다
  • CloudFormation은 IaC(Infrastructure as Code)
    • 인프라를 즉시 배포할 수 있는 기능 
    • 시험용) 코드형인프라 = CloudFormation

 

보안 업무 관련

  • 다른 인터넷 트래픽은 차단하고 타사 소프트웨어 저장소에만 액세스 가능할 경우
    • 아웃바운드 트래픽을 AWS 네트워크 방화벽으로 라우팅하도록 프라이빗 서브넷의 라우팅 테이블을 업데이트합니다. 도메인 목록 규칙 그룹을 구성합니다 특정 도메인을 허용하고 다른 모든 도메인을 거부하는 상태 저장 아웃바운드 규칙 *보안 그룹의 아웃바운드 규칙에는 URL을 사용할 수 없습니다
  • VPC 보안
    • Network ACL → 서브넷 앞에 위치 → 서브넷 트래픽 제어
      • Subnet의 Access List 제어(Subnet 검문서)
      • 인바운드, 아웃바운드 규칙으로 나뉨
      • NACL→ 여러 서브넷 적용 가능. 그러나 서브넷에 여러 NACL 적용은 불가능(1개만 가능)
      • 허용(Allow) 규칙, 거부(Deny) 규칙 생성 가능
      • 규칙 우선순위 설정 가능(가장 적은 숫자가 우선 적용) → 최우선 규칙만 통과하면 통과(그 다음 규칙은 무시됨)
      • NACL 규칙목록은 인바운드, 아웃바운드 각각 최대 20개 지정 가능
      • Stateless: 서브넷 안으로 들어올 땐 인바운드 규칙, 나갈 땐 아웃바운드 규칙 적용됨
  • Security Group → 서브넷 안에 위치 → 서브넷 안 인스턴스 등 가상컴퓨터 트래픽 제어
    • 정확히 말하면 VPC 내에서 Elastic Network Interface(ENI)를 갖는 모든 서비스에 Security 탑재 가능
    • 인스턴스 단위로 설정 가능
      • 하나의 인스턴스에서 최대 5개 Security Group 동시 적용 가능 → Security Group 모든 룰 적용됨
      • 각 인스턴스에 각각 다른 Security Group 할당 가능
    • 인바운드, 아웃바운드 규칙으로 나뉨
      • 기본적으로 모든 아웃바운드 규칙은 허용
    • 프로토콜 유형, 포트, IP 단위로 설정 가능
    • 허용 규칙만 생성 가능(Deny 불가능)
    • Stateful: 허용받아서 들어온 놈은 아웃바운드 규칙과 상관없이 나갈 수 있다
  • WAF
    • 봇 식별 및 교정 도구가 있어 봇넷의 사기성 요청으로 인해 애플리케이션 트래픽이 급증 방어 가능
    • 트래픽 제어 기능
    • WAF는 Cloudfront 배포와 연결되어 있습니다
      =Amazon CloudFront 배포에서 AWS WAF를 활성화합니다.
    • 국가 단위 제어 가능
      • AWS WAF를 사용하여 최종 사용자의 지리적 위치에 따라 애플리케이션 액세스를 제한할 수 있습니다. 지역 일치 조건을 사용하면 AWS WAF에서 액세스를 허용해야 하는 국가를 선택할 수 있습니다
  • Network Firewall
    • VPC 간 트래픽 검사
    • URL 필터링

 

결제 및 비용 업무 관련

  • 각 계정에서 정의된 태그를 기반으로 비용 통합 조회할 경우
    • 조직 마스터 계정에서 각 계정별로 정의된 태그를 활성화
    • AWS 결제 콘솔에서 특정 사용자 정의 태그를 선택
  • 프로그래밍 방식으로 사용 비용에 액세스할 경우
    • 페이지 매김 기능이 있는 AWS Cost Explorer API를 사용하여 사용량 비용 관련 데이터에 액세스합니다.

 

계정 관리 업무 관련

  • 조직의 계정 바꾸기
    • 계정은 일단 조직을 떠나야 다른 조직에 가입할 수 있습니다
      1. 이전 조직에서 회원 계정을 제거합니다.
      2. 새 조직의 회원 계정으로 초대를 보냅니다.
      3. 회원 계정에서 새 조직에 대한 초대를 수락합니다.

 

컨테이너에 포함된 Microservice로 라우팅

  • ALB와 API 게이트웨이 모두 트래픽을 컨테이너에 포함된 마이크로서비스로 라우팅하는 데 사용할 수 있다
    • Application Load Balancer가 실행되는 각 시간 또는 부분 시간과 시간당 사용된 로드 밸런서 용량 단위(LCU) 수에 대해 요금이 부과됩니다.
    • Amazon API Gateway에서는 API를 사용할 때마다 비용을 지불합니다(API 호출당 비용)

https://docs.aws.amazon.com/ko_kr/glue/latest/dg/components-key-concepts.html

AWS Glue는 ETL 워크플로를 생성 및 관리할 수 있는 서비스이다

 

ETL이란 데이터를 Extract(추출) → Transform(변환) → Load(적재)하는 작업을 의미한다.

 

AWS Glue는 Crawler 정의를 통해 ETL 작업을 정의한다.

이때 필수 메타데이터에 대한 정의도 포함해서 ETL 작업 정의한다

 

AWS Glue는 Script 생성을 통해 Transform 및 Load 작업을 진행한다

Script는 시간 기반 스케줄 또는 이벤트 기반으로 진행되도록 할 수 있다.

Script는 Apache Spark 환경에서 실행된다.

 

AWS Glue는 데이터 재처리를 방지하기 위해 작업 북마크를 사용한다.

작업 북마크는 데이터의 작업 상태를 나타낸다.

 

AWS Glue는 ETL 작업을 실행하는 데 사용된 작업자 수에 따라 시간당 요금이 발생한다.

Glue를 시작하거나 종료하는데 소용된 시간에 대해선 과금하지 않는다

작업자란 데이터 처리 단위(DPU)를 의미한다.

택시 리터기 생각하면 될 것 같다. 택시는 거리에 따라 금액이 달라지지만, 시간대에 따라 거리당 금액이 달라진다.

마찬가지로 Glue도 ETL에 소요된 시간만큼 비용이 발생하지만 ETL에서의 데이터 처리하는 단위가 클수록 시간당 요금이 커지는 구조라 생각하면 되지 않을까 싶다.

 


출처

 

AWS Glue 개념 - AWS Glue

AWS Glue에 있는 테이블과 데이터베이스는 AWS Glue Data Catalog의 객체입니다. 이 객체들은 메타데이터를 포함하지만 데이터 스토어의 데이터는 포함하지 않습니다.

docs.aws.amazon.com

 

AWS의 네트워크 및 애플리케이션 보호 서비스

  • 호스트 수준의 보호와 조직 전반의 가시성 및 제어: Amazon VPC Security Group, AWS Firewall Mananger
  • 애플리케이션 수준 보호: AWS Shield, AWS WAF
  • 네트워크 수준 보호: AWS Network Firewall, AWS Shield, Network ACL, Amazon Route 53 Resolver DNS Firewall

AWS Network Firewall

Amazon Virtual Private Cloud(VPC)에 대한 필수 네트워크 보호 기능을 쉽게 배포할 수 있는 관리형 서비스
  • VPC로 오가는 트래픽 검사 및 필터링 솔루션
  • 고가용성 및 Auto Scaling
    • 네트워크 트래픽에 따라 자동으로 확장 가능(트래픽 부하에 따라 방화벽 용량을 자동으로 확장하거나 축소)
    • 모든 트래픽을 일관되게 검사 및 모니터링할 수 있도록 내장된 중복 기능 제공
    • 99.99%의 가동 시간을 약속
  • 중앙 관리
    • AWS Firewall Manager와 연동 가능
      • AWS Firewall Manager는 호스트 수준의 보호와 조직 전반의 가시성 및 제어 기능 제공
      • AWS Firewall Manager 규칙 기반으로 정책 구축한 후 해당 정책을 중앙에서 제어 가능(VPC 및 계정 전반에 적용하거나 계층적으로 제어 가능)

 


Network Access Control List (NACL)

  • Subnet 앞에 위치하여 Subnet 의 트래픽을 제어
    • 일종의 Subnet 검문소
  • NACL을 여러 Subnet 에 적용할 수 있으나, Subnet 은 1개의 NACL만 따를 수 있음
  • Inbound, Outbound 규칙으로 나뉨
  • NACL의 규칙목록은 Inbound, Outbound 각각 최대 20개 지정 가능
    • 규칙목록에서의 우선순위 설정 가능 → 최우선 규칙만 통과하면 됨
  • Allow 규칙, Deny 규칙 생성 가능
  • Stateless: Subnet 안으로 들어올 땐 Inbound 규칙, 나갈 땐 Outbound 규칙 따름

Security Group

  • Subnet 안에 위치하여 해당 Subnet 안에 있는 Instance 등 가상컴퓨터 트래픽 제어
    • 정확히는 VPC 내부 Elastic Network Interface(ENI)를 갖는 모든 서비스(아래부턴 편의상 Instance라 표현함)
  • Instance 단위로 설정 가능
    • 하나의 Instance에서 최대 5개 Security Group 동시 적용 가능 → 트래픽은 모든 Security Group 규칙 통과해야함
    • 각 Instance에 각기 다른 Security Group 할당 가능
  • Inbound, Outbound 규칙으로 나뉨
    • 기본적으로 Outbound 규칙은 허용
  • Allow 규칙만 생성 가능
  • Stateful: 들어올 때 통과한 놈은 나갈 때는 프리패스(Outbound 규칙과 상관없이 나갈 수 있음)

AWS_SAA-C03_18.36V_Q15

Situation

  • 최근에 AWS로 마이그레이션함
  • 과거 사내 데이터 센터에 검사 서버가 있었는데 트래픽 흐름 검사 및 트래픽 필터링과 같은 작업을 수행했었음

Mission

  • VPC로 들어오고 나가는 트래픽 보호 솔루션을 구현해야함
  • AWS 클라우드에서 동일 기능 제공하는 솔루션은?

Action

  •  AWS Network Firewall을 사용하여 VPC에 대한 트래픽 검사 및 트래픽 필터링에 필요한 규칙 생성

출처

 

AWS의 네트워크 및 애플리케이션 보호

AWS는 네트워크 및 애플리케이션 보안 팀에 특정한 보호 요구 사항 및 규정 준수 요구 사항을 해결하는 서비스를 제공합니다. AWS 네트워크 및 애플리케이션 보호 서비스는 호스트, 네트워크 및

aws.amazon.com

 

 

AWS Network Firewall 기능 – Amazon Web Services

 

aws.amazon.com

 

 

[AWS] 📚 VPC 개념 & 사용 - 보안 설정 [Security Group / NACL]

VPC 방화벽 [Security Group / NACL] 이번엔 VPC의 트래픽을 통제하고 제어하는 서비스들을 살펴보자. 이 서비스들은 흔히 특정 IP를 밴 한다거나 외국에서는 접속을 못하게 한다거나 등 이러한 방화벽

inpa.tistory.com

 

 

SQS란

일종의 "TODO LIST - 시스템ver." 이다.

서버들끼리 사용 가능한 메시지 큐를 제공하는 서비스이다.

비동기 메시징 서비스를 제공한다.


기본 아키텍처

https://docs.aws.amazon.com/ko_kr/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-basic-architecture.html

분산 대기열 구조를 가지고 있다.

생산자가 메시지를 대기열로 보내면 대기열로 보내진 정보는 여러 SQS 서버에 해당 메시지를 중복 저장한다. 분산 저장한다는 의미이다.

대기열에 올라왔더라도 소비자가 바로 처리하는 건 아니고 처리할 준비가 되면 메시지를 수신하여 처리를 진행한다.

소비자가 대기열 메시지를 수신하면 Visibility timeout period가 시작되는데 일종의 타이머 같은 개념이다.

소비자가 메시지를 수신했더라도 대기열의 메시지는 삭제되지 않는다.

타이머가 종료되기 전에 소비자가 메시지 처리를 끝내면 그제야 대기열의 메시지도 삭제된다. 

그럼 대기열에 있는 다음 메시지 처리가 시작된다.


주요 구성요소

메시지

SQS의 기본 데이터 단위이다.

XML, JSON과 같은 텍스트 형태 데이터이고 최대 64KB까지 가능하다

 

대기열(큐)

메시지를 담는 공간이다.

메시지는 무제한 담아낼 수 있다

Region별로 생성할 수 있고 Region에 있는 큐 이름은 유일해야한다

연속 30일 동안 대기열(큐)에 아무런 요청이 없을 경우 AWS에서 해당 대기열(큐)를 삭제할 수 있다

대기열 종류는 표준 대기열과 FIFO 대기열이 있다.

  • 순서 상관 없을 경우, 표준대기열
  • 선입선출해야하는 경우, FIFO 대기열

AWS SAA-C03 V18.35 Q7

Situation

  • 회사로 들어오는 메시지 수집 응용 프로그램이 있음
  • 애플리케이션과 마이크로 서비스가 프로그램이 수집한 메시지를 빠르게 소비함
  • 메시지 수는 초당 100,000개로 갑자기 증가하기도 함

Mission

  • 솔루션을 분리하고 확장성을 높여야 함

Action

대기열에서 읽을 수 있도록 스프트웨어 업데이트

→ 들어오는 요청을 Amazon Simple Queue Service(SQS)에 라우팅 (SNS 주제에 메시지 게시)

→ 처리 인스턴스의 작업 요청 분리

→ 대기열의 크기에 따라 인스턴스 수를 확장할 수 있고 더 많은 리소스를 제공할 수도 있음

 


출처

 

Amazon SQS 기본 아키텍처 - Amazon Simple Queue Service

Amazon SQS는 최대 메시지 보존 기간 넘게 대기열에 유지된 메시지를 자동으로 삭제합니다. 기본 메시지 보존 기간은 4일입니다. 그러나 SetQueueAttributes 작업을 사용하면 메시지 보존 기간을 60초에

docs.aws.amazon.com

 

[AWS] SQS 란?

Amazon Simple Queue Service (Amazon SQS) 는 내구력 있고 가용성이 뛰어난 보안 호스팅 대기열을 제공하며 이를 통해 분산 소프트웨어 시스템과 구성 요소를 통합 및 분리할 수 있습니다. (https://docs.aws.amaz

velog.io

 

[AWS] SNS , SQS 란 ?

SNS , SQS

velog.io

 

 

VPC Endpoint란?

VPC 내부에 있는 Resource가 VPC 외부에 있는 서비스에 접근하기 위해선 Internet Gateway나 NAT Gateway 등 인터넷 연결이 필요하다. VPC Endpoint는 외부 인터넷 없이 내부 네트워크만으로 VPC 내부 Resource가 외부 서비스에 접근할 수 있도록 하는 서비스이다.

 

근데 외부 인터넷으로 연결하면 안되나?

해도 된다. 하지만 보안 상 문제가 발생할 수 있다.

외부 인터넷을 통해 공개적으로 통신하기에 트래픽이 노출될 우려가 있고 이는 보안 상 좋지 않기 떄문이다.

또한 VPC 외부로 나가는 트래픽에는 비용이 발생하기도 한다.


VPC Endpoint 종류: Interface Endpoint, Gateway Endpoint

  • Interface Endpoint
    • Elastic Network Interface를 통해 Private IP가 할당되는데 이 IP를 통해 Access하는 방식이다
    • PrivateLink에 대한 요금이 발생한다
    • Private Subnet 내부에 위치한다
    • SQS, SNS, Kenesis, Sagemaker 등 서비스 연결을 지원한다
    • VPC Peering 또는 AWS Transit Gateway를 통해 다른 Region에 Access를 허용할 수 있다
  • Gateway Endpoint
    • Route Table에서 경로 대상을 지정해 Endpoint에 Access하는 방식이다
    • VPC 내부에 위치하고, Private Subnet 외부에 위치한다
    • 통신 프로세스: EC2 → Route Table → Router → Gateway Endpoint → S3
    • S3, DynamoDB 등을 지원한다
    • 다른 Region에서의 Access는 허용하지 않는다

AWS_SAA-C03_V18.35_Q4

Situation

  • 애플리케이션이 VPC의 Amazon EC2 Instance에서 실행되고 있다
  • 애플리케이션이 S3 버킷에 저장된 로그를 처리한다

Mission

  • EC2 Instance는 인터넷 연결없이 S3 버킷에 액세스해야 한다
  • S3에 대한 Private Network 연결을 제공하는 솔루션은?

Action

VPC Gateway Endpoint

 


출처

 

[AWS] 📚 VPC 개념 & 사용 - 엔드포인트 [End Point]

VPC 엔드 포인트(End Point) VPC 엔드포인트는 VPC 내 Resource들이 VPC 외부의 서비스(S3, Dynamo DB, Cloudwatch) 등에 접근할 때 Internet Gateway, NAT Gateway 등의 외부 인터넷 전송 서비스를 타지 않고 내부 네트워

inpa.tistory.com

 

 

AWS VPC S3 endpoint gateway vs interface 차이 - BESPIN Tech Blog

1. AWS VPC endpoint 란? VPC 엔드포인트를 통해 인터넷 게이트웨이, NAT 디바이스, VPN 연결 또는 AWS Direct Connect 연결이 필요 없이 Virtual Private Cloud(VPC)와 지원 서비스 간에 연결을 설정할 수 있습니다. 따

blog.bespinglobal.com

 

+ Recent posts