안녕하세요! 넥스트클라우드의 SA 백종훈입니다. 😊
문제는 세 가지 단계를 거치며 풀어 나갈 거예요.
1. 문제의 요구사항 분석하기
2. 관련 AWS 서비스 생각하기
3. 선택지 분석하기
바로 문제 풀이 해볼까요?
문제1
회사에서 온프레미스 워크로드를 AWS 클라우드로 마이그레이션하고 있습니다. 이 회사는 이미 여러 Amazon EC2 인스턴스와 Amazon RDS DB 인스턴스를 사용하고 있습니다. 회사는 업무 시간 외에 EC2 인스턴스와 DB 인스턴스를 자동으로 시작하고 중지하는 솔루션을 원합니다. 솔루션은 비용 및 인프라 유지 관리를 최소화해야합니다.
이러한 요구 사항을 충족하는 솔루션은 무엇입니까?
선택지
A. 탄력적 크기 조정을 사용하여 EC2 인스턴스를 확장합니다. 업무 시간 외에는 DB 인스턴스를 0으로 조정합니다.
B. 일정에 따라 EC2 인스턴스와 DB인스턴스를 자동으로 시작 및 중지하는 파트너 솔루션에 대한 AWS Marketplace를 살펴보십시오.
C. 다른 EC2 인스턴스를 시작합니다. 일정에 따라 기존 EC2 인스턴스와 DB 인스턴스를 시작 및 중지하는 셸 스크립트를 실행하도록 crontab 일정을 구성합니다.
D. EC2 인스턴스와 DB인스턴스를 시작하고 중지할 AWS Lambda함수를 생성합니다. 일정에 따라 Lambda 함수를 호출하도록 Amazon EventBridge를 구성합니다.
풀이
Lambda와 EventBridge 조합은 서버리스로 추가 인프라 관리가 불필요하고 실행 시에만 비용이 발생해 가장 비용 효율적입니다. 또한 완전 자동화된 스케줄링으로 EC2와 RDS 인스턴스를 정확히 시작/중지할 수 있어 회사의 요구사항을 가장 잘 충족합니다.
정답 : D
▼ 자세한 문제 풀이를 원하신 분은 아래 더보기를 통해 확인해 주세요.
1. 문제의 요구사항 분석하기
- EC2 인스턴스와 RDS DB 인스턴스를 업무 시간 외에 자동으로 시작 및 중지
- 비용 최소화
- 인프라 유지 관리 최소화
2. 관련 AWS 서비스 생각하기
- EC2 인스턴스와 RDS DB 인스턴스를 업무 시간 외에 자동으로 시작 및 중지
- AWS Lambda: 서버리스 컴퓨팅 서비스로, EC2 및 RDS 인스턴스를 시작하고 중지하는 함수를 작성할 수 있습니다. 예약된 시간에 이 함수를 실행하여 인스턴스를 자동으로 관리할 수 있습니다.
- Amazon EventBridge: 서버리스 이벤트 버스 서비스로, 규칙을 사용하여 특정 시간에 Lambda 함수를 트리거할 수 있습니다. 이를 통해 EC2 및 RDS 인스턴스의 시작과 중지를 정확하게 스케줄링할 수 있습니다.
- 비용 최소화
- AWS Lambda: 실행 시간과 리소스 사용량에 따라 비용이 청구되므로, 인스턴스를 관리하는 데 필요한 시간 동안만 비용이 발생합니다.
- Amazon EventBridge: 이벤트 발생 횟수에 따라 비용이 청구되며, 사용량이 적을 경우 매우 저렴합니다.
- 인프라 유지 관리 최소화
- AWS Lambda: 서버리스 아키텍처를 사용하여 서버 관리나 패치 적용 등의 인프라 유지 관리 작업이 필요 없습니다.
- Amazon EventBridge: 완전 관리형 서비스로, 인프라 유지 관리가 필요 없습니다. AWS가 서비스의 확장성, 가용성, 보안을 관리합니다.
3. 선택지 분석하기
A. 탄력적 크기 조정을 사용하여 EC2 인스턴스를 확장합니다. 업무 시간 외에는 DB 인스턴스를 0으로 조정합니다.
→ EC2 인스턴스의 탄력적 크기 조정은 요구사항을 부분적으로 충족하지만, RDS DB 인스턴스를 0으로 조정하는 것은 불가능합니다. 또한 이 방법은 완전한 자동화가 어려워 인프라 유지 관리 최소화 요구사항을 충족하지 못합니다.
B. 일정에 따라 EC2 인스턴스와 DB인스턴스를 자동으로 시작 및 중지하는 파트너 솔루션에 대한 AWS Marketplace를 살펴보십시오.
→ 요구사항을 충족할 수 있지만, 추가적인 비용이 발생할 수 있어 비용 최소화 요구사항에 부합하지 않을 수 있습니다. 또한 타사 솔루션 사용으로 인프라 유지 관리가 복잡해질 수 있습니다.
C. 다른 EC2 인스턴스를 시작합니다. 일정에 따라 기존 EC2 인스턴스와 DB 인스턴스를 시작 및 중지하는 셸 스크립트를 실행하도록 crontab 일정을 구성합니다.
→ 요구사항을 충족할 수 있지만, 추가 EC2 인스턴스 실행으로 인한 비용 증가와 스크립트 관리에 따른 인프라 유지 관리 부담이 커져 비용 및 인프라 유지 관리 최소화 요구사항에 부합하지 않습니다.
D. EC2 인스턴스와 DB인스턴스를 시작하고 중지할 AWS Lambda함수를 생성합니다. 일정에 따라 Lambda 함수를 호출하도록 Amazon EventBridge를 구성합니다.
→ 서버리스 아키텍처를 사용하여 EC2와 RDS 인스턴스를 자동으로 시작/중지할 수 있어 모든 요구사항을 충족합니다. Lambda와 EventBridge는 사용량 기반 과금 방식으로 비용을 최소화하며, 완전 관리형 서비스로 인프라 유지 관리도 최소화할 수 있습니다.
이어서 다음 문제입니다.
문제2
솔루션 아키텍트가 새로운 VPC 디자인을 만들고 있습니다. 로드 밸런서용 퍼블릭 서브넷 2개, 웹 서버용 프라이빗 서브넷 2개, MySQL용 프라이빗 서브넷 2개가 있습니다. 웹 서버는 HTTPS만 사용합니다. 솔루션 설계자는 이미 0.0.0.0/0에서 포트 443을 허용하는 로드 밸런서용 보안 그룹을 생성했습니다. 회사 정책에서는 각 리소스가 작업을 수행하는 데 필요한 최소한의 액세스 권한을 갖도록 요구합니다.
이러한 요구 사항을 충족하기 위해 솔루션 설계자가 사용해야하는 추가 구성 전략은 무엇입니까?
선택지
A. 웹 서버용 보안 그룹을 생성하고 0.0.0.0/0에서 포트 443을 허용합니다. MySQL 서버용 보안 그룹을 만들고 웹 서버 보안 그룹에서 포트 3306을 허용합니다.
B. 웹 서버용 네트워크 ACL을 생성하고 0.0.0.0/0에서 포트 443을 허용합니다. MySQL 서버용 네트워크 ACL을 생성하고 웹 서버 보안 그룹에서 포트 3306을 허용합니다.
C. 웹 서버용 보안 그룹을 만들고 로드 밸런서에서 포트 443을 허용합니다. MySQL 서버용 보안 그룹을 만들고 웹 서버 보안 그룹에서 포트 3306을 허용합니다.
D. 웹 서버에 대한 네트워크 ACL을 생성하고 로드 밸런서에서 포트 443을 허용합니다. MySQL 서버용 네트워크 ACL을 생성하고 웹 서버 보안 그룹에서 포트 3306을 허용합니다.
풀이
C는 각 계층에 필요한 최소한의 접근만을 허용하여 최소 권한 원칙을 준수합니다. 웹 서버는 로드 밸런서에서만, MySQL 서버는 웹 서버에서만 트래픽을 받도록 제한하여 보안을 강화하면서도 필요한 통신을 보장합니다. 이 구성은 회사의 보안 정책을 충족하며 효과적인 네트워크 분리를 실현합니다.
정답 : C
▼ 자세한 문제 풀이를 원하신 분은 아래 더보기를 통해 확인해 주세요.
1. 문제의 요구사항 분석하기
- 웹 서버에 대한 보안 그룹 구성 (HTTPS 트래픽만 허용)
- MySQL 서버에 대한 보안 그룹 구성
- 각 리소스에 최소한의 필요한 액세스 권한만 부여
- 3-티어 아키텍처 (로드 밸런서, 웹 서버, 데이터베이스) 간의 적절한 통신 허용
2. 관련 AWS 서비스 생각하기
- 웹 서버에 대한 보안 그룹 구성 (HTTPS 트래픽만 허용)
- Amazon EC2 보안 그룹: EC2 인스턴스에 대한 인바운드 및 아웃바운드 트래픽을 제어할 수 있습니다. 웹 서버용 보안 그룹을 생성하여 로드 밸런서로부터의 HTTPS 트래픽(포트 443)만 허용하도록 구성할 수 있습니다.
- MySQL 서버에 대한 보안 그룹 구성
- Amazon RDS 보안 그룹: RDS 인스턴스에 대한 접근을 제어합니다. MySQL 서버용 보안 그룹을 생성하여 웹 서버의 보안 그룹으로부터의 MySQL 트래픽(포트 3306)만 허용하도록 설정할 수 있습니다.
- 각 리소스에 최소한의 필요한 액세스 권한만 부여
- IAM (Identity and Access Management): AWS 리소스에 대한 액세스를 안전하게 제어할 수 있습니다. 각 EC2 인스턴스와 RDS 인스턴스에 대해 필요한 최소한의 권한만을 가진 IAM 역할을 생성하여 할당할 수 있습니다.
- 3-티어 아키텍처 간의 적절한 통신 허용
- Amazon VPC (Virtual Private Cloud): 사용자 정의 가상 네트워크를 생성하여 AWS 리소스를 시작할 수 있습니다. VPC 내에서 퍼블릭 서브넷(로드 밸런서용)과 프라이빗 서브넷(웹 서버 및 데이터베이스용)을 구성하여 네트워크 격리와 보안을 강화할 수 있습니다.
- Elastic Load Balancing: 애플리케이션 트래픽을 여러 EC2 인스턴스로 자동으로 분산시킵니다. 로드 밸런서는 퍼블릭 서브넷에 위치하여 인터넷으로부터의 트래픽을 안전하게 웹 서버로 전달할 수 있습니다.
3. 선택지 분석하기
A. 웹 서버용 보안 그룹을 생성하고 0.0.0.0/0에서 포트 443을 허용합니다. MySQL 서버용 보안 그룹을 만들고 웹 서버 보안 그룹에서 포트 3306을 허용합니다.
→ 웹 서버가 인터넷에서 직접 접근 가능하게 되어 최소 권한 원칙에 위배됩니다. MySQL 서버 구성은 적절하지만, 전체적으로 보안 요구사항을 충족하지 못합니다.
B. 웹 서버용 네트워크 ACL을 생성하고 0.0.0.0/0에서 포트 443을 허용합니다. MySQL 서버용 네트워크 ACL을 생성하고 웹 서버 보안 그룹에서 포트 3306을 허용합니다.
→ 네트워크 ACL은 서브넷 수준에서 작동하므로 인스턴스 수준의 세밀한 제어가 어렵습니다. 또한 웹 서버가 인터넷에서 직접 접근 가능하게 되어 최소 권한 원칙에 위배됩니다. 보안 요구사항을 충족하지 못합니다.
C. 웹 서버용 보안 그룹을 만들고 로드 밸런서에서 포트 443을 허용합니다. MySQL 서버용 보안 그룹을 만들고 웹 서버 보안 그룹에서 포트 3306을 허용합니다.
→ 최소 권한 원칙에 가장 부합합니다. 웹 서버는 로드 밸런서로부터만, MySQL 서버는 웹 서버로부터만 트래픽을 받아 각 계층별로 필요한 최소한의 접근만을 허용합니다. 모든 보안 요구사항을 충족합니다.
D. 웹 서버에 대한 네트워크 ACL을 생성하고 로드 밸런서에서 포트 443을 허용합니다. MySQL 서버용 네트워크 ACL을 생성하고 웹 서버 보안 그룹에서 포트 3306을 허용합니다.
→ 네트워크 ACL은 서브넷 수준에서 작동하므로 인스턴스 수준의 세밀한 제어가 어렵습니다. 보안 그룹을 사용하는 것이 더 적절합니다. 최소 권한 원칙을 완전히 충족하지 못합니다.
마지막 문제 살펴볼게요.
문제3
한 병원에서 환자의 증상을 수집하는 새로운 애플리케이션을 설계하고 있습니다. 병원은 아키텍처에서 Amazon Simple Queue Service(Amazon SQS)와 Amazon Simple Notification Service(Amazon SNS)를 사용하기로 결정했다.
솔루션 설계자가 인프라 디자인을 검토하고 있습니다. 저장 및 전송 중에 데이터를 암호화해야합니다. 병원의 승인된 직원만 데이터에 액세스할 수 있어야합니다.
솔루션 설계자는 이러한 요구사항을 충족하기 위해 어떤 단계 조합을 수행해야 합니까?(두 가지를 선택하세요.)
선택지
A.SQS 구성 요소에서 서버 측 암호화를 켭니다. 기본 키 정책을 업데이트하여 인증된 보안 주체 집합으로 키 사용을 제한합니다.
B. AWS Key Management Service(AWS KMS) 고객 관리 키를 사용하여 SNS 구성 요소에서 서버 측 암호화를 켭니다. 키 정책을 적용하여 인증된 보안 주체 집합으로 키 사용을 제한합니다.
C. SNS 구성 요소에서 암호화를 켭니다. 기본 키 정책을 업데이트하여 인증된 보안 주체 집합으로 키 사용을 제한합니다. TLS를 통한 암호화된 연결만 허용하도록 주제 정책에서 조건을 설정합니다.
D. AWS Key Management Service(AWS KMS) 고객 관리 키를 사용하여 SQS 구성 요소에서 서버 측 암호화를 켭니다. 키 정책을 적용하여 인증된 보안 주체 집합으로 키 사용을 제한합니다. TLS를 통한 암호화된 연결만 허용하도록 대기열 정책에서 조건을 설정합니다.
E. AWS Key Management Service(AWS KMS)고객 관리 키를 사용하여 SQS 구성 요소에서 서버 측 암호화를 켭니다. IAM 정책을 적용하여 인증된 보안 주체 집합으로 키 사용을 제한합니다. TLS를 통한 암호화된 연결만 허용하도록 대기열 정책에서 조건을 설정합니다.
풀이
B와 D는 AWS KMS 고객 관리 키를 사용하여 SNS와 SQS 모두에 대해 서버 측 암호화를 제공합니다. 두 옵션 모두 인증된 보안 주체만 데이터에 접근할 수 있도록 제한하며, D는 추가로 TLS를 통한 암호화된 연결을 요구하여 전송 중 데이터의 보안도 보장합니다. 이로써 저장 및 전송 중 데이터 암호화와 접근 제어라는 요구사항을 모두 충족합니다.
정답 : B, D
▼ 자세한 문제 풀이를 원하신 분은 아래 더보기를 통해 확인해 주세요.
1. 문제의 요구사항 분석하기
- 저장 중인 데이터 암호화
- 전송 중인 데이터 암호화
- 승인된 직원만 데이터에 액세스할 수 있도록 제한
- Amazon SQS와 Amazon SNS를 사용한 아키텍처 구현
2. 관련 AWS 서비스 생각하기
- 저장 중인 데이터 암호화 및 전송 중인 데이터 암호화
- Amazon Simple Queue Service (Amazon SQS): 서버 측 암호화(SSE)를 통해 저장 중인 데이터를 암호화하고, HTTPS 엔드포인트를 통해 전송 중인 데이터를 암호화할 수 있습니다.
- Amazon Simple Notification Service (Amazon SNS): SQS와 마찬가지로 SSE를 통한 저장 데이터 암호화와 HTTPS를 통한 전송 중 데이터 암호화를 지원합니다.
- 승인된 직원만 데이터에 액세스할 수 있도록 제한
- AWS Identity and Access Management (IAM): SQS, SNS, KMS 등의 리소스에 대한 액세스를 세밀하게 제어할 수 있는 정책을 설정할 수 있습니다.
- AWS Key Management Service (AWS KMS): 암호화에 사용되는 키에 대한 액세스를 제어하여 승인된 사용자만 데이터를 복호화할 수 있도록 제한할 수 있습니다.
- Amazon SQS와 Amazon SNS를 사용한 아키텍처 구현
- Amazon SQS: 애플리케이션 구성 요소 간의 메시지 전송을 지원하는 완전 관리형 메시지 대기열 서비스입니다.
- Amazon SNS: 애플리케이션 간 또는 애플리케이션과 사용자 간의 통신을 지원하는 완전 관리형 메시징 서비스입니다.
3. 선택지 분석하기
A. SQS 구성 요소에서 서버 측 암호화를 켭니다. 기본 키 정책을 업데이트하여 인증된 보안 주체 집합으로 키 사용을 제한합니다.
→ SQS의 저장 데이터 암호화와 접근 제어는 제공하지만, SNS에 대한 암호화가 누락되어 있습니다. 또한 전송 중 암호화에 대한 언급이 없어 완전한 해결책이 아닙니다.
B. AWS Key Management Service(AWS KMS) 고객 관리 키를 사용하여 SNS 구성 요소에서 서버 측 암호화를 켭니다. 키 정책을 적용하여 인증된 보안 주체 집합으로 키 사용을 제한합니다.
→ SNS의 저장 데이터 암호화와 접근 제어를 제공합니다. 그러나 SQS에 대한 암호화가 누락되어 있고, 전송 중 암호화에 대한 언급이 없어 완전한 해결책은 아닙니다.
C. SNS 구성 요소에서 암호화를 켭니다. 기본 키 정책을 업데이트하여 인증된 보안 주체 집합으로 키 사용을 제한합니다. TLS를 통한 암호화된 연결만 허용하도록 주제 정책에서 조건을 설정합니다.
→ SNS의 저장 데이터 암호화와 전송 중 데이터 암호화, 그리고 접근 제어를 제공합니다. 그러나 SQS에 대한 암호화가 누락되어 있어 완전한 해결책이 아닙니다.
D.AWS Key Management Service(AWS KMS) 고객 관리 키를 사용하여 SQS 구성 요소에서 서버 측 암호화를 켭니다. 키 정책을 적용하여 인증된 보안 주체 집합으로 키 사용을 제한합니다. TLS를 통한 암호화된 연결만 허용하도록 대기열 정책에서 조건을 설정합니다.
→ SQS에 대해 저장 중 암호화(KMS 사용), 전송 중 암호화(TLS 사용), 그리고 접근 제어(키 정책)를 모두 제공하기 때문입니다. 이는 문제에서 요구하는 SQS의 모든 보안 요구사항을 충족시킵니다.
E. AWS Key Management Service(AWS KMS)고객 관리 키를 사용하여 SQS 구성 요소에서 서버 측 암호화를 켭니다. IAM 정책을 적용하여 인증된 보안 주체 집합으로 키 사용을 제한합니다. TLS를 통한 암호화된 연결만 허용하도록 대기열 정책에서 조건을 설정합니다.
→ SQS의 저장 및 전송 중 데이터 암호화와 접근 제어를 모두 제공합니다. IAM 정책을 통해 더 세밀한 접근 제어가 가능합니다. 그러나 SNS에 대한 암호화가 누락되어 있어 완전한 해결책이 아닙니다.
이제 곧 추석이네요.
추석 연휴 동안에도 블로그는 쉬지 않고 운영됩니다.
연휴가 끝나고 돌아오실 때는 더 큰 열정과 에너지로 SAA 준비에 임하실 수 있기를 바랍니다.
행복한 추석 되세요.😊
'AWS > SAA 준비' 카테고리의 다른 글
AWS SAA 합격으로 가는 길 #19 (1) | 2024.09.20 |
---|---|
AWS SAA 합격으로 가는 길 #18 (7) | 2024.09.16 |
AWS SAA 합격으로 가는 길 #16 (1) | 2024.09.11 |
AWS SAA 합격으로 가는 길 #15 (0) | 2024.09.10 |
AWS SAA 합격으로 가는 길 #14 (0) | 2024.09.09 |