[Associate SAA-C03] - dump 정리 321 ~ 350
321
모든 객체가 S3 버킷에 암호화되게 업로드 하려면 ?
D. PutObject에 x-amz-server-side-encryption 헤더가 설정되어 있지 않으면 거부하도록 버킷 정책을 업데이트합니다.
* x-amz-server-side-encryption 헤더: S3 버킷에 객체를 업로드할 때 서버 측 암호화를 지정 / S3에 업로드되는 모든 객체가 자동으로 암호화 (기밀성과 보안성을 높일 수 있음)
* s3:x-amz-acl 헤더 : 객체에 대한 액세스 제어 목록을 설정 / S3 버킷에 업로드된 객체에 대해 ACL을 적용하여 액세스 권한을 지정
* aws:SecureTransport 헤더: HTTPS로 전송되는 요청을 강제하는 조건. / S3 버킷에 요청할 때 SSL/TLS(HTTPS)로 전송되는 요청만을 허용
322
모바일 기기에서 이미지 업로드 / 이미지의 썸네일을 생성하고 사용자에게 이미지가 업로드되었음을 확인하는 메시지를 반환 / 사용자에게 이미지가 수신되었음을 알리는 더 빠른 응답 시간을 제공 → 비동기적으로 요청을 다른 계층에 전송하도록 설계
C. Amazon Simple Queue Service(Amazon SQS) 메시지 대기열을 만듭니다. 이미지가 업로드되면 SQS 대기열에 메시지를 넣어 썸네일을 생성합니다. 애플리케이션 메시지를 통해 사용자에게 이미지가 수신되었음을 알립니다.
⇒SQS 대기열을 사용하면 이미지 업로드 후 썸네일 생성 작업을 비동기적으로 처리할 수 있음 → 썸네일 생성 작업이 사용자 응답 시간에 영향을 미치지 않게 함
* SQS: 애플리케이션의 여러 부분을 분리하는데 사용할 수 있는 완전 관리형 메시지 큐잉 서비스 + 비동기적 전송
323
모든 입구에 배지 판독기 / 배지를 스캔하면 판독기가 HTTPS를 통해 메시지를 보내 해당 입구에 누가 접근했는지 알려줌 →
이러한 메시지를 처리하는 시스템 + 고가용성 + 결과는 회사에서 분석할 수 있도록 제공 솔루션
B. Amazon API Gateway에서 HTTPS 엔드포인트를 만듭니다. API Gateway 엔드포인트를 구성하여 AWS Lambda 함수를 호출하여 메시지를 처리하고 결과를 Amazon DynamoDB 테이블에 저장합니다.
서버리스: 확장성 + 고가용성
→ API Gateway + Lambda : 서버리스 서비스이므로 확장 가능하고 고가용성 솔루션
DynamoDB: 내구성 있는 데이터 저장소 제공
324
온프레미스 파일 스토리지 볼륨에 대한 재해 복구 계획 / iSCSI 장치에서 마운트 / TB테라바이트 데이터 보관 / 지연 없이 모든 파일 유형에 즉시 액세스
D. 기존 파일 스토리지 볼륨과 동일한 양의 디스크 공간으로 AWS Storage Gateway Volume Gateway 저장 볼륨을 프로비저닝합니다. iSCSI를 사용하여 Volume Gateway 저장 볼륨을 기존 파일 서버에 마운트하고 모든 파일을 스토리지 볼륨에 복사합니다. 스토리지 볼륨의 예약된 스냅샷을 구성합니다. 재해에서 복구하려면 Amazon Elastic Block Store(Amazon EBS) 볼륨에 스냅샷을 복원하고 EBS 볼륨을 Amazon EC2 인스턴스에 연결합니다.
* Storage Gateway: 하이브리드 클라우드 스토리지 서비스 / 파일 기반 게이트웨이, 볼륨 , 테이프 게이트웨이
- 캐시된 볼륨: 자주 액세스 하는 데이터에 대한 저지연 액세스 유지
- 저장된 볼륨: 모든 데이터를 로컬에 저장하도록함
=> 캐시된 볼륨은 모든 데이터에 액세스 불가능, 저장된 볼륨만이 모든 데이터 액세스 가능함
325
S3 버킷에서 웹 애플리케이션 호스팅 / Cognito를 ID 공급자로 사용하여 사용자를 인증하고 다른 S3 버킷에 저장된 보호된 리소스에 대한 액세스를 제공하는 JSON 웹 토큰 반환
→ 사용자가 보호된 콘텐츠에 액세스할 수 있도록 적절한 권한을 제공
A. 보호된 콘텐츠에 액세스하기 위한 적절한 IAM 역할을 맡도록 Amazon Cognito 자격 증명 풀을 업데이트합니다.
* Amazon Cognito: 웹 및 모바일 애플레이케이션에 대한 인증 및 사용자 관리 서비스 제공
자격 증명 풀: 사용자가 인증될 때 특정 IAM 역할을 할당받도록 설정 → 보호된 콘텐츠에 액세스할 수 있는 적절한 권한을 부여
326
S3 API를 사용하여 병렬로 멀티파트 업로드를 사용하고 동일한 객체가 업르드되면 덮어 씀 / 처음 30일 동안 자주 액세스 / 30일 후에는 객체가 덜 자주 사용되지만 객체에 대한 액세스 패턴은 일관되지 않음
→ 저장된 자산의 높은 가용성과 복원력을 유지하면서 스토리지 비용 최적화
A. 30일 후 자산을 S3 Intelligent-Tiering으로 이동합니다.
B. 불완전한 다중 파트 업로드를 정리하기 위해 S3 수명 주기 정책을 구성합니다.
* 불완전한 멀티파트: 업로드 프로세스가 중단되거나 실패하여 완전히 업로드 되지 않은 상태.
S3의 용량을 차지하므로 비용 발생 -> 삭제 필요
* S3 Intelligent-Tiering: 빈번하지 않은 액세스에 최적화된 저비용 티어
327
프라이빗 서브넷 / 타사의 URL 사용, 타사 저장소에만 액세스 가능, 다른 인터넷 트래픽 차단
A. 프라이빗 서브넷의 라우팅 테이블을 업데이트하여 아웃바운드 트래픽을 AWS 네트워크 방화벽 방화벽으로 라우팅합니다. 도메인 목록 규칙 그룹을 구성합니다.
보안 그룹의 아웃바운드 규칙에 URL 지정 불가능
* Network Firewall: URL/도메인 이름, IP 주소 및 콘텐츠 기반 아웃바운드 트래픽 필터링 제공
328
API는 정적 및 동적 프런트엔드 콘텐츠와 판매 요청을 비동기적으로 처리하는 백엔드 작업자로 구성
모든 요청이 성공적으로 처리되는 솔루션 (데이터 손실이 없도록)
D. 정적 콘텐츠에 대한 Amazon CloudFront 배포를 추가합니다. 나중에 EC2 인스턴스에서 처리할 웹사이트의 요청을 수신하기 위한 Amazon Simple Queue Service(Amazon SQS) 대기열을 추가합니다.
* SQS: 메시지가 손실되지 않도록 보장
* Auto Scailing: 처리되는 속도를 향상
329
인스턴스가 정기적으로 패치되지 않는다는 사실 / 대규모 인스턴스에서 정기적인 보안 검사를 실행하는 솔루션을 제공 / 인스턴스에 패치를 적용하고 각 인스턴스의 패치 상태 보고서 제공
D. 계정에서 Amazon Inspector를 켭니다. Amazon Inspector를 구성하여 EC2 인스턴스의 소프트웨어 취약성을 검사합니다. AWS Systems Manager Patch Manager를 설정하여 정기적으로 EC2 인스턴스에 패치를 적용합니다.
* Amazon Inspector: EC2 인스턴스의 보안 및 규정 준수를 검사하는 서비스/ 인스턴스의 소프트웨어 취약성을 자동으로 검사
* Systems Manager Patch Manager: 정기적으로 EC2 인스턴스에 패치 적용 가능 / 보고서 제공 가능
330
회사는 RDS DB 인스턴스에 데이터 저장할 계획 / 휴면 데이터를 암호화
A. AWS Key Management Service(AWS KMS)에서 키를 만듭니다. DB 인스턴스에 대한 암호화를 활성화합니다.
* KMS : 데이터를 보호하는데 사용하는 암호화키를 쉽게 생성하고 제어할 수 있게 해주는 관리형 서비스
* Secrets Manager: 비밀 관리를 위한 서비스, 주로 애플리케이션의 비밀 설정 및 데이터를 저장하는데 사용 / DB 암호화와 직접적인 관련 X
331
30일 이내에 데이터 센터에서 AWS 클라우드로 20TB의 데이터를 마이그레이션 / 대역폭은 15Mbps로 제한 / 사용률은 70%를 초과할 수 없음.
A. AWS Snowball을 사용하세요.
⇒Snowball: 대용량 데이터를 마이그레이션할때 사용
332
회사는 직원들에게 기밀 및 민감한 파일에 대한 보안 액세스 제공 / 권한이 있는 사용자만 파일에 액세스할 수 있도록 보장 / 파일은 직원의 기기에 안전하게 다운로드 → 온프레미스 Windows 파일 서버에 저장 → 사용량 증가에 따라 서버의 용량이 부족
B. 파일을 Amazon FSx for Windows File Server 파일 시스템으로 마이그레이션합니다. Amazon FSx 파일 시스템을 온프레미스 Active Directory와 통합합니다. AWS 클라이언트 VPN을 구성합니다.
온프레미스 Windows 파일 서버 ⇒ FSx Windows File Server
333
ALB / ASG/ 매월 1일 자정에 월말 재무 계산 배치가 실행되면 애플리케이션이 훨씬 더 느려짐 / CPU 사용률이 즉시 100%로 정점에 도달하여 애플리케이션 중단
→ 작업 부하를 처리하고 가동 중지 시간을 피할 수 있는 솔루션.
C. 월별 일정에 따라 EC2 자동 확장 예약된 확장 정책을 구성합니다.
‘매월 1일 자정’ => 예약된 스케일링 정책 + 확장 ⇒ 자동 확장 예약된 확장 정책
334
온프레미스 Microsoft Active Directory를 사용하여 S3에 저장된 파일을 다운로드 기능을 제공하고자 함. / SFTP 클라이언트를 사용하여 파일을 다운로드 → 최소한의 운영 오버헤드, 고객 애플리케이션의 변경 없이 요구사항 충족.
A. Amazon S3에 대한 SFTP로 AWS Transfer Family를 설정합니다. 통합 Active Directory 인증을 구성합니다.
* AWS Transfer Family: SFTP, FTPS 및 FTP를 통하여 S3 또는 EFS에서 파일을 송수신할 수 있는 완전관리형 지원
335
Amazon Machine Image(AMI)에서 대규모 인스턴스 프로비저닝 / 인스턴스는 Auto Scailing Group에서 실행
→ 수요를 충족하기 위해 최소 초기화 지연 시간을 제공하는 솔루션
B. 스냅샷에서 Amazon Elastic Block Store(Amazon EBS) 빠른 스냅샷 복원을 활성화합니다. 스냅샷을 사용하여 AMI를 프로비저닝합니다. 자동 확장 그룹의 AMI를 새 AMI로 바꿉니다.
⇒ 빠른 스냅샷 : 스냅샷에서 새 AMI를 빠르게 만들 수 있어 새 인스턴스를 프로비저닝 할때 초기화 대기 시간을 줄이는데 도움
336
Aurora MYSQL DB 클러스터를 스토리지로 사용하는 다중 계층 웹 애플리케이션 호스팅 / 보안 지침에 따르면 데이터베이스 자격증명은 암호화되어야하며 14일마다 순환되어야함 → 최소한의 운영 노력
A. 새로운 AWS Key Management Service(AWS KMS) 암호화 키를 만듭니다. AWS Secrets Manager를 사용하여 적절한 자격 증명과 함께 KMS 키를 사용하는 새로운 비밀을 만듭니다. 비밀을 Aurora DB 클러스터와 연결합니다. 14일의 사용자 지정 로테이션 기간을 구성합니다.
* AWS KMS: 암호화키 생성
* Secrets Manager: 데이터베이스 자격증명과 자동 순환 제공. 14일 로테이션 주기 설정 가능. 암호에 대한 자동 교체 일정 구성 가능, 민감한 정보를 효과적으로 관리하고 보호 가능
337
5개의 읽기 복제본은 확장 요구사항을 지원 / 기본 DB 인스턴스보다 1초 이상 지연되어서는 안됨/ 정기적으로 예약된 저장 프로시저 실행 → 트래픽이 증가함에 따라 복제본은 최대 부하 기간 동안 추가 지연 경험 / 복제 지연을 최대한 줄여야함 / 최소한의 운영 오버헤드
A. 데이터베이스를 Amazon Aurora MySQL로 마이그레이션합니다. 읽기 복제본을 Aurora Replicas로 대체하고 Aurora Auto Scaling을 구성합니다. 저장 프로시저를 Aurora MySQL 네이티브 함수로 대체합니다.
* ElastiCache: 애플리케이션 코드에 큰 변화
* Aurora MYSQL로 마이그레이션하면 RDS for MYSQL에 비해 복제 성능 향상 및 확장성 상승
* Aurora Replicas는 복제 지연을 줄여 더 빠른 복제 제공
338
대용량 소프트웨어 서비스(SaaS)플랫폼에 대한 재해 복구(DR) 계획 / 플랫폼의 모든 데이터는 Aurora MYSQL DB 클러스터에 저장 → DR 계획은 데이터를 보조 AWS 리전에 복제 / 가장 비용 효율적
B. DB 클러스터에 대한 Aurora 글로벌 데이터베이스를 설정합니다. 설정이 완료되면 보조 지역에서 DB 인스턴스를 제거합니다
액티브-패시브가 액티브-액티브보다 저렴
액티브-패시브 : Aurora 글로벌 데이터베이스 → 설정 완료 시 보조 지역에서 인스턴스 제거
액티브-액티브: Aurora 글로벌 데이터베이스 → 설정 완료 시 보조 지역에 최소 하나의 인스턴스 지정
339
임베디드 자격증명이 있는 사용자 지정 애플리케이션 / 최소한의 프로그래밍 노력으로 애플리케이션을 더 안전하게 만들어야함
C. RDS for MySQL 데이터베이스에서 애플리케이션 사용자에 대한 자격 증명을 만들고 AWS Secrets Manager에 자격 증명을 저장합니다. Secrets Manager에서 데이터베이스 자격 증명을 로드하도록 애플리케이션을 구성합니다. Secrets Manager를 사용하여 RDS for MySQL 데이터베이스에서 애플리케이션 사용자에 대한 자격 증명 로테이션 일정을 설정합니다.
* Secrets Manager는 자격 증명 관리에 특화되어 있으며, 자동 자격 증명 로테이션을 지원
* Parameter Store: 자동 자격 증명 회전 제공 X
최소한의 프로그래밍으로 더 안전한 보안 ⇒ Secrets Manager에 내장된 기본 제공 회전
( Secrets Manager + Lambda : 최소한의 프로그래밍이므로 Lambda 사용 x)
* KMS: KMS는 암호화 키를 생성하고 관리하는 서비스. 즉, 데이터베이스 자격 증명을 저장하거나 로테이션하는 데 필요한 기능을 제공하지 않으며, 자격 증명 자체를 KMS에서 관리하는 것은 불가능
340
Application Load Balancer(ALB) 뒤에 있는 Amazon EC2 인스턴스 플릿과 Amazon Aurora에서 호스팅되는 데이터베이스가 포함됩니다. 이 회사의 사이버 보안 팀은 이 애플리케이션이 SQL 주입에 취약하다고 보고합니다.
A. ALB 앞에 AWS WAF를 사용합니다. 적절한 웹 ACL을 AWS WAF와 연결합니다.
SQL injection + XSS => WAF 사용
341
Lake Formation에서 관리하는 S3 데이터 레이크가 존재 / Amazon Aurora MySQL 데이터베이스에 저장된 운영 데이터와 결합하여 Amazon QuickSight에서 시각화 / 마케팅 팀이 데이터베이스의 열 하위 집합에만 액세스할 수 있도록 열 수준 권한을 적용 / 운영 오버헤드 최소화
D. Lake Formation 블루프린트를 사용하여 데이터베이스에서 S3 데이터 레이크로 데이터를 수집합니다. Lake Formation을 사용하여 QuickSight 사용자에 대한 열 수준 액세스 제어를 적용합니다. QuickSight에서 Amazon Athena를 데이터 소스로 사용합니다.
* 블루프린트 : 데이터 수집과 변환(ETL) 작업을 자동화하고 쉽게 관리하기 위한 미리 정의된 워크플로
* 데이터 레이크: 대량의 데이터를 저장, 처리, 보호하는 저장소
* Lake Formation: 데이터 레이크의 구축, 보안 설정, 관리를 손쉽게 만들어주는 서비스 / 데이터 필터 사용하여 열 수준, 행 수준, 셸 수준의 보안 구현
* Amazon Athena: S3에 저장된 데이터를 SQL로 쿼리할 수 있으며, 이를 QuickSight에서 시각화에 사용할 수 있음.
342
주간 스크립트 배치 작업 / Auto Scailing Group / 기준 CPU 사용률은 최소 60% / 작업이 실행되기 30분 전에 용량을 프로비저닝 해야함 / ASG 매개변수를 수동으로 수정하여 작업 완료 → Auto Scailing Group 카운트에 필요한 용량 추세를 분석할 리소스가 X
→ Auto Scailing Group 원하는 용량을 수정하는 자동화된 방법 필요 + 최소한의 운영 오버헤드
C. 자동 확장 그룹에 대한 예측적 확장 정책을 만듭니다. 예측에 따라 확장하도록 정책을 구성합니다. 확장 메트릭을 CPU 사용률로 설정합니다. 메트릭의 대상 값을 60%로 설정합니다. 정책에서 작업이 실행되기 30분 전에 인스턴스를 사전 실행하도록 설정합니다.
⇒ 필요한 용량 추세를 분석할 리소스가 없음 → 예약된 확장 정책 불가능 → 예측적 확장 정책 선택
343
DR 재해복구 아키텍처 설계 / 예약된 백업이 있는 프라이빗 서브넷의 Amazon EC2 인스턴스에서 실행되는 MySQL 데이터베이스 / DR 설계에는 여러 AWS 지역이 포함 되야함 + 최소한의 운영 오버헤드
C. MySQL 데이터베이스를 Amazon Aurora 글로벌 데이터베이스로 마이그레이션합니다. 기본 지역에서 기본 DB 클러스터를 호스팅합니다. DR 지역에서 보조 DB 클러스터를 호스팅합니다.
* Aurora: 데이터베이스 문제를 감지하고 장애 조치 메커니즘을 자동으로 활성화 → 대기 인스턴스를 수동으로 구성할 필요 X
* Amazon Aurora 글로벌 데이터베이스 : 두 개 이상의 AWS 지역에 걸쳐 데이터베이스 클러스터를 생성 / 기본 DB 클러스터와 DR 지역의 보조 DB 클러스터 간에 빠르고 효율적인 복제
Multi-AZ 배포는 한 지역 내에서만 고가용성.
344
Amazon SQS를 사용하여 메시지를 파싱하는 Java 애플리케이션 / 크기가 256KB를 초과하는 메시지를 파싱할 수 없음.
→ 최대 50MB의 메시지를 파싱하는 솔루션 / 코드를 가장 적게 변경
A. Java용 Amazon SQS 확장 클라이언트 라이브러리를 사용하여 256KB보다 큰 메시지를 Amazon S3에 호스팅합니다.
SQS 용량 : 256KB → 자바용 Amazon SQS 확장 클라이언트 라이브러리 → 256KB ~최대 2GB에 이르는 대용량 메시지 가능
345
100명 미만의 사용자를 위한 "서버리스" 아키텍처와 “인증” 솔루션 / "전 세계적"으로 웹 콘텐츠를 제공 / 회사의 사용자 기반이 성장함에 따라 확장되어야하며 가능한 가장 낮은 로그인 지연 시간을 제공 / 가장 비용 효율적
A. 인증에는 Amazon Cognito를 사용합니다. 권한 부여에는 Lambda@Edge를 사용합니다. 웹 애플리케이션을 전 세계적으로 제공하기 위해 Amazon CloudFront를 사용합니다.
* Cognito: 웹 및 모바일 앱에 사용자 가입 및 인증을 쉽게 추가하는데 사용할 수 있는 서버리스 인증 서비스
* Lambda@Edge: Lambda 함수를 사용자에게 더 가깝게 글로벌하게 실행하여 더 낮은 지연시간과 더 빠른 응답 시간을 제공
* CloudFront: 웹, 콘텐츠, 비디오, API를 대규모로 안전하게 전송할 수 있는 글로벌 CDN 서비스
346
기존의 NAS 어레이를 대체하고 클라이언트 워크스테이션에 대해 동일한 SMB/NFS 공유 모양을 유지하면서 데이터를 Amazon S3로 마이그레이션 / 자주 액세스하는 데이터와 비활성 데이터가 구분 / Storage Gateway를 솔루션의 일부로 식별
D. Amazon S3 파일 게이트웨이
* S3 File Gateway: NFS, SMB 프로토콜을 사용하여 S3 버킷에 액세스 가능하게 함 / 자주 액세스하는 데이터를 저지연 캐시로 원활하게 이동
* 볼륨 게이트웨이: iSCSI 인터페이스를 제공 / SMB/NFS 프로토콜을 제공하지 않음.
* Amazon FSx 파일 게이트웨이: Windows 환경에서의 파일 공유를 제공
347
향후 3년 동안 애플리케이션의 비용 절감을 극대화 / 후 6개월 동안 애플리케이션 인기와 사용량에 따라 인스턴스 패밀리와 크기를 변경할 수 있어야함
A. Compute Savings Plan
* Compute Savings Plans(저축 계획 계산): 최대 66%까지 비용을 절감할 수 있는 가장 유연한 요금 모델. 인스턴스 패밀리, 크기, AZ, 리전, OS 또는 테넌시와 관계없이 EC2 인스턴스 사용량에 적용되며, Fargate 또는 Lambda 사용량에도 적용
* EC2 Instance Saving Plans: 패밀리는 변경 불가능
348
Amazon DynamoDB 테이블에 데이터를 저장, 데이터를 분석 / 데이터 워크로드는 일정하고 예측 가능
예상 예산 이하로 유지 솔루션 / 가장 비용 효율적
B. 프로비저닝 모드를 사용합니다. 읽기 용량 단위(RCU)와 쓰기 용량 단위(WCU)를 지정합니다.
* DynamoDB Standard-Infrequent Access : 데이터 액세스 빈도가 낮은 테이블을 위한 비용 최적화 옵션
* 프로비저닝 모드: 애플리케이션에 필요한 초당 읽기 및 쓰기 횟수를 지정 가능 / 애플리케이션 트래픽이 예측 가능하거나 주기적인 경우 사용
* 주문형 모드(On-demand): 읽기 및 쓰기 처리량 지정할 필요 X + 트래픽 패턴을 알 수 없거나 폭주하거나 간헐적이거나 불규칙해서 예측하기 어려운 경우 사용
349
ap-southeast-3 지역의 Aurora PostgreSQL 데이터베이스에 기밀 데이터를 저장 / KMS 고객 관리 키로 암호화 → 최근에 회사는 인수되었으며 인수 회사의 AWS 계정과 데이터베이스 백업을 안전하게 공유해야함
B. 데이터베이스 스냅샷을 만듭니다. 인수 회사의 AWS 계정을 KMS 키 정책에 추가합니다. 인수 회사의 AWS 계정과 스냅샷을 공유합니다.
350
us-east-1 지역에서 100GB Amazon RDS for Microsoft SQL Server Single-AZ DB인스턴스를 사용하여 고객 거래 저장 → DB 인스턴스에 대한 고가용성과 자동 복구 필요 / 일년에 여러 번 보고서를 실행 해야함 /프로세스로 인해 거래가 고객 계정에 게시되는데 평소보다 더 오래걸림 → 보고서 프로세스의 성능을 개선할 솔루션
A. 단일 AZ DB 인스턴스에서 다중 AZ 배포로 DB 인스턴스를 수정합니다.
C. 다른 가용성 영역에 DB 인스턴스의 읽기 복제본을 만듭니다. 모든 보고서 요청을 읽기 복제본으로 지정합니다.
* 단일 AZ -> 다중 AZ 배포 => 고가용성과 자동 복구 제공
* 다른 AZ에 읽기 복제본 생성 => 기본 DB 인스턴스에서 읽기 복제본으로 트래픽을 오프로드하여 보고서 프로세스의 성능이 향상됨