본문 바로가기
자기개발

(3일차) AWS 자격증 공부하기 SAA (AWS Certified Solutions Architect - Associate)

by 라이프_디자이너 2022. 7. 10.
반응형

AWS 공부 3일차. 2일차는 AWS SAA 자격증 공부가 우선순위에서 밀려서 건너뛰어졌다. 오늘은 게으름이라는 것에 우선순위를 뺏길 뻔했다가, 22시에 침대에서 일어나서 공부를 시작하기 위해 앉았다. 꾸준한 사람들이 존경스럽다. 오늘로써 나도 존경스러운 인물에 한걸음 다가가길 바라며 문제풀이 시작.

 

2022.07.07 - [자기개발] - (1일차) AWS 자격증 공부하기 SAA (AWS Certified Solutions Architect - Associate)

 

(1일차) AWS 자격증 공부하기 SAA (AWS Certified Solutions Architect - Associate)

AWS 자격증 시험 보려는데, 문제가 뭐라는지 모르겠다. 다른 사람들은 어떻게 공부하지. 이미 공부한 사람들은 어떻게 할까? 이게 제일 궁금했던 거 같다. 근데, 인터넷에 내 궁금증을 해소할만한

dev-nasus.tistory.com

2022.07.07 - [자기개발] - (곧 시험 문제 바뀜) AWS 자격증 공부 시작 방법 SAA (AWS Certified Solutions Architect - Associate)

 

(곧 시험 문제 바뀜) AWS 자격증 공부 시작 방법 SAA (AWS Certified Solutions Architect - Associate)

AWS 클라우드 자격증 공부 시작 방법에 대해 알려드리겠습니다. AWS 자격증은 여러 가지가 있지만 이 글에서는 AWS 아키텍처 관련 자격증 공부 시작 방법에 대해 이야기합니다. 저는 이 글을 쓰는

dev-nasus.tistory.com

반응형

문제3

A business wishes to enhance the availability and performance of a hybrid application. The application is composed of a stateful TCP-based workload that is hosted on Amazon EC2 instances across several AWS Regions, and a stateless UDP-based task that is housed on-premises.

Which activities should a solutions architect do in combination to increase availability and performance? (Select two.)

A.
Create an accelerator using AWS Global Accelerator. Add the load balancers as endpoints.

B.
Create an Amazon CloudFront distribution with an origin that uses Amazon Route 53 latency-based routing to route requests to the load balancers.

C.
Configure two Application Load Balancers in each Region. The first will route to the EC2 endpoints and the second will route to the on-premises endpoints.

D.
Configure a Network Load Balancer in each Region to address the EC2 endpoints. Configure a Network Load Balancer in each Region that routes to the on- premises endpoints.

E.
Configure a Network Load Balancer in each Region to address the EC2 endpoints. Configure an Application Load Balancer in each Region that routes to the on-premises endpoints

기업은 하이브리드 애플리케이션의 가용성과 성능을 향상하기를 원합니다. 애플리케이션은 여러 AWS 리전의 Amazon EC2 인스턴스에서 호스팅되는 상태 저장 TCP 기반 워크로드와 온프레미스에 보관되는 상태 비저장 UDP 기반 작업으로 구성됩니다.

솔루션 설계자는 가용성과 성능을 향상시키기 위해 어떤 활동을 함께 수행해야 합니까? (2개를 선택하세요.)

가용성과 성능을 향상하기 위해 어떤 아키텍처를 구성해야 하냐고 묻는다. 문제의 현재 구조는 하이브리드 어플리케이션 운영 중이고, TCP 베이스 통신 -> EC2 (여러 리전 크로스) / UDP 베이스 통신 -> on-premises(데이터센터) 간략하게 이런 구성으로 생각된다. 답은 2개를 고르면 된다. 

 

A.Create an accelerator using AWS Global Accelerator. Add the load balancers as endpoints.

AWS Global Accelerator를 사용하고, 로드밸런서를 엔드포인트로 추가한다... 우선, AWS Global Accelerator가 뭔지 모르니까 풀 수 없다. 개념을 검색해보고 온다.

 

개념을 보고 와보니, 서비스 운영을 하는데 사용자들이 글로벌하게 있는 경우에 서비스하는 리전까지 오는 네트워크가 멀거나 복잡해서 오래 걸릴 수 있으니 AWS에서 제공하는 별도 네트워크를 통해 리전까지 빠르게 올 수 있게 해주는 서비스로 보인다. 아래 사용 사례를 보면서 이해했다. 이제 A 답안에 설명대로라면 AWS Global Accelerator를 사용함으로써,  가용성과 성능 향상이 될 것으로 보인다. 속도 위주로 강조하는 서비스로 보인다. 우선 정답 후보

B.Create an Amazon CloudFront distribution with an origin that uses Amazon Route 53 latency-based routing to route requests to the load balancers.

Amazon Route 53 지연 시간 기반 라우팅을 사용하여 요청을 로드 밸런서로 라우팅 하는 오리진이 있는 Amazon CloudFront 배포를 생성합니다. 말이 어려워서 번역기를 돌렸다. 잘 모르겠지만 Amazon Route 53, CloudeFront 2개만 알면 될 거 같다. CloudFront는 자주 나오는 개념으로 예전에 공부했는데 또 까먹었다. 오늘 반복학습을 통해 장기기억에 가길 바란다. 

 

route53은 DNS 관련 서비스로 트래픽 흐름과 라우팅 제어와 같은 기능을 통해 가용성 확보를 할 수 있고, CloudFront는 CDN 서비스로 뛰어난 성능, 보안 및 개발자 편의를 위해 구축된 콘텐츠 전송 네트워크 서비스로 소개되어 있다. 문제에서는 성능과 가용성을 올리기 좋은 아키텍처를 묻고 있는데, 여러 리전이 있다는 상황을 구체적으로 명시해줬는데 이 답을 통해서는 명확하게 해결이 안 되는 거 같아서 답이 아닌 걸로 보인다. 문제와 포인트가 안 맞는다.

 

https://aws.amazon.com/ko/route53/

 

Amazon Route 53 - Amazon Web Services

Amazon Route 53는 다른 AWS 기능 및 서비스와 잘 연동되도록 설계되었습니다. Amazon Route 53를 사용하여 도메인 이름을 Amazon EC2 인스턴스, Amazon S3 버킷, Amazon CloudFront 배포 및 기타 AWS 리소스에 매핑할

aws.amazon.com

https://aws.amazon.com/ko/cloudfront/

 

CDN 서비스 | CloudFront | Amazon Web Services

통합된 요청, 사용자 지정 가능한 요금 옵션, AWS 오리진에서 데이터 송신 시 무료 요금으로 비용을 절감합니다.

aws.amazon.com

C.Configure two Application Load Balancers in each Region. The first will route to the EC2 endpoints and the second will route to the on-premises endpoints.

하나의 리전에 로드 밸런서를 2개 둬서, EC2와 on-premises로 보낸다는데... 무슨 의도인지 잘 모르겠다. 답이 아닌 건 확실해 보인다. 다시 생각해보니 ALB를 사용하는 걸 보여주려고 한 거 같은데, 문제에서 TCP와 UDP를 언급하였음으로 ALB가 아니고 NLB로 처리되는 게 맞을 거 같다. 무튼 답은 아님.

 

D.Configure a Network Load Balancer in each Region to address the EC2 endpoints. Configure a Network Load Balancer in each Region that routes to the on- premises endpoints.

각 리전에 로드밸런서를 둬서 EC2 처리를 돕고, 각 리전에 NLB를 둬서 on-premisese 도 커버하는 것으로 봐서는 가용성을 커버해주는 답인 거 같다.

 

E.Configure a Network Load Balancer in each Region to address the EC2 endpoints. Configure an Application Load Balancer in each Region that routes to the on-premises endpoints

NLB를 각 리전에 설정해서 EC2 처리를 돕고, ALB를 각 리전에 설치해서 on-premises를 처리한다고 되어있는데 보기 D와 하나만 다른 보기인데, 이건 Application 단 L7 레이어에서 처리할 내용이 아니고 UDP를 처리하는 NLB L4 영역에서 처리하는 게 맞음으로 정답이 아님.

 

보기를 보니, 최종적으로 답은 A, D로 판단. 정답 확인.


문제4

A business intends to launch a freshly developed application on AWS in a default VPC. The program will be divided into two layers: a web layer and a database layer. The web server and MySQL database were constructed in public subnets, whereas the web server and MySQL database were created in private subnets. The default network ACL settings are used to build all subnets, and the default security group in the VPC is replaced with new custom security groups.
The critical criteria are as follows:

- The web servers must be accessible only to users on an SSL connection.
- The database should be accessible to the web layer, which is created in a public subnet only.
- All traffic to and from the IP range 182.20.0.0/16 subnet should be blocked.

Which combination of actions satisfies these criteria? (Select two.)

A.
Create a database server security group with inbound and outbound rules for MySQL port 3306 traffic to and from anywhere (0 0.0.0/0).

B.
Create a database server security group with an inbound rule for MySQL port 3306 and specify the source as a web server security group.

C.
Create a web server security group with an inbound allow rule for HTTPS port 443 traffic from anywhere (0.0.0.0/0) and an inbound deny rule for IP range 182.20.0.0/16.

D.
Create a web server security group with an inbound rule for HTTPS port 443 traffic from anywhere (0.0.0.0/0). Create network ACL inbound and outbound deny rules for IP range 182.20.0.0/16.

E.
Create a web server security group with inbound and outbound rules for HTTPS port 443 traffic to and from anywhere (0.0.0.0/0). Create a network ACL inbound deny rule for IP range 182.20.0.0/16.

비즈니스에서 AWS의 기본 VPC에서 새로 개발된 애플리케이션을 시작하려고 합니다. 프로그램은 웹 계층과 데이터베이스 계층의 두 계층으로 나뉩니다. 웹 서버와 MySQL 데이터베이스는 퍼블릭 서브넷에 구축된 반면 웹 서버와 MySQL 데이터베이스는 프라이빗 서브넷에 구축되었습니다. 기본 네트워크 ACL 설정은 모든 서브넷을 구축하는 데 사용되며 VPC의 기본 보안 그룹은 새 사용자 지정 보안 그룹으로 대체됩니다.
중요한 기준은 다음과 같습니다.

- 웹 서버는 SSL 연결을 사용하는 사용자만 액세스할 수 있어야 합니다.
- 데이터베이스는 퍼블릭 서브넷에서만 생성되는 웹 레이어에 접근할 수 있어야 합니다.
- IP 범위 182.20.0.0/16 서브넷으로 들어오고 나가는 모든 트래픽은 차단되어야 합니다.

이 기준을 충족하는 작업 조합은 무엇입니까? (2개를 선택하세요.)

음.. 일단, 문제가 길다. 내가 이해한 상황은 web, db 2개가 세트로 구성된 레이어가 2개 있는데, 하나의 레이어는 퍼블릭 서브넷에 있고 나머지 하나는 프라이빗 레이어에 있는 상황이다. 이 상황에서 3가지 조건을 만족하는 아키텍처로 변경하고 싶은데 어떤 게 답이니? 이걸 묻는 문제로 보인다.

 

3가지 조건 키워드는 SSL, only acces web to db, IP ACL 이렇게 3개다. 이제 답 항목을 보자.

 

A.Create a database server security group with inbound and outbound rules for MySQL port 3306 traffic to and from anywhere (0 0.0.0/0).

DB 서버에 시큐리티 그룹에 MySQL 통신을 위해 3306 포트를 in, out 규칙 등록하는 것으로 되어있는데, 3가지 조건 중에 only access web to db 이걸 만족시키는 척 훼이크 주는 보기인 거 같다. db 접근은 오직 웹서버에서만 되어야 하는데 0.0.0.0/0에 대해 in, out을 다 열어주면 안 된다. 실무에서 이러면 혼날 듯.

 

B. Create a database server security group with an inbound rule for MySQL port 3306 and specify the source as a web server security group.

A 항목과 같은 내용인데, 여기서는 조건에 정확히 만족시켜준다. MySQL 포트는 출발지가 특정 웹서버 시큐리티 그룹으로만 지정한다고 하니, 이건 정답. 강한 확신. 답, 아직 1개 남았다.

 

C. Create a web server security group with an inbound allow rule for HTTPS port 443 traffic from anywhere (0.0.0.0/0) and an inbound deny rule for IP range 182.20.0.0/16.

웹서버에 443 포트로 들어오는 트래픽 중 특정 IP range는 차단하는 시큐리티 그룹을 만든다. 조건 중에 3번째 조건을 만족시키는 걸로 보인다. 그런데, 어딘가 부족해 보인다.

 

D. Create a web server security group with an inbound rule for HTTPS port 443 traffic from anywhere (0.0.0.0/0). Create network ACL inbound and outbound deny rules for IP range 182.20.0.0/16.

C와 동일한데 차단을 ALC로 하는 게 다르다. 자세히 보니 여기서는 인바운드, 아웃바운드 모두 차단하는 설정이다. 조건에 All traffic이라는 게 있으니 맞는 거 같은데 나머지 보기를 하나마저 보자.

 

E. Create a web server security group with inbound and outbound rules for HTTPS port 443 traffic to and from anywhere (0.0.0.0/0). Create a network ACL inbound deny rule for IP range 182.20.0.0/16.

D와 동일한데, 443 포트에 대해 아웃바운드 룰까지 시큐리티 그룹에 추가해준다. 그리고, ACL에 아웃바운드 차단 조건이 없어졌다. 이건 정답이 아닌 거 같다.

 

정답으로 생각되는 최종 선택은 B, D로 정했다. 정답 확인.

 


문제5

A major company's administrator want to monitor for and prevent cryptocurrency-related assaults on the company's AWS accounts.

Which AWS service can the administrator use to safeguard the organization from cyberattacks?

A.
Amazon Cognito

B.
Amazon GuardDuty

C.
Amazon Inspector

D.
Amazon Macie

문제가 짧다. 아주 좋다. 암호화폐 관련해서 AWS 계정들을 모니터링하고 싶은데, 사이버 공격에서 회사를 보호하려면 어떤 AWS 서비스를 써야 되냐~ 이런 문제다. 문제와 보기도 짧으니 좋다. 서비스 개념만 알면 맞출 수 있는 문제다.

 

A. Amazon Cognito

코그니토는 인증 서비스다. SSO 같은 서비스에서 사용한다.

https://aws.amazon.com/ko/cognito/

 

Cognito | 계정 동기화 | Amazon Web Services

SDK와 코드 몇 줄로 사용자를 로그인시키고 토큰을 가져올 수 있습니다. // iOS Objective-C // AppDelegate.m - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options { return [[AWSCognitoAuth defau

aws.amazon.com

 

B. Amazon GuardDuty

이게 정답이다. 가드듀티는 AWS 계정과 워크로드 모니터링하는 데 사용한다.

https://aws.amazon.com/ko/guardduty/

 

지능형 탐지 서비스 - Amazon GuardDuty - Amazon Web Services

손상된 자격 증명의 사용, Amazon Simple Storage Service(S3) 내 비정상적인 데이터 액세스, 악의적인 것으로 알려진 IP 주소에서의 API 호출 등으로부터 계정 및 데이터를 보호합니다.

aws.amazon.com

 

C. Amazon Inspector

이건 점검용 툴 같은 거다. 정답 아님.

https://aws.amazon.com/ko/inspector/

 

자동화된 소프트웨어 취약성 관리 - Amazon Inspector - Amazon Web Services

취약한 리소스의 우선 위를 지정하고 해결하는 데 도움이 되는 컨텍스트 기반 위험 점수를 생성하기 위해 네트워크 접근성과 같은 요소와 결합된 최신 CVE(Common Vulnerabilities and Exposures) 정보를 사

aws.amazon.com

 

D. Amazon Macie

메시?라고 부르는 게 맞나. 메시는 민감한 데이터들을 보호하고 검색할 때 사용하는 서비스이다. 주민등록번호 같은 민감한 개인정보 데이터를 저장하는 서비스라면 이 서비스를 통해서 잘 관리되고 있는지 식별하고 감지할 수 있도록 도와준다.

https://aws.amazon.com/ko/macie/

 

민감한 데이터 검색 및 보호 - Amazon Macie - Amazon Web Services

규정 준수 팀은 민감한 데이터가 어디에 상주하는지 모니터링하고, 적절하게 보호하며, 규제 준수 요구 사항에 맞춰 데이터 보안 및 프라이버시를 적용하고 있다는 증거를 제공해야 합니다. Amaz

aws.amazon.com

정답은 B. 가드듀티. 정답 확인.


문제6

A business offers an online shopping application and all orders are stored in an Amazon RDS for PostgreSQL Single-AZ database instance. Management want to remove single points of failure and has requested a solutions architect to offer a method for minimizing database downtime without modifying the application code.

Which solution satisfies these criteria?

A.
Convert the existing database instance to a Multi-AZ deployment by modifying the database instance and specifying the Multi-AZ option.

B.
Create a new RDS Multi-AZ deployment. Take a snapshot of the current RDS instance and restore the new Multi-AZ deployment with the snapshot.

C.
Create a read-only replica of the PostgreSQL database in another Availability Zone. Use Amazon Route 53 weighted record sets to distribute requests across the databases.

D.
Place the RDS for PostgreSQL database in an Amazon EC2 Auto Scaling group with a minimum group size of two. Use Amazon Route 53 weighted record sets to distribute requests across instances.

비즈니스에서 온라인 쇼핑 애플리케이션을 제공하고 모든 주문은 Amazon RDS for PostgreSQL 단일 AZ 데이터베이스 인스턴스에 저장됩니다. 경영진은 단일 실패 지점을 제거하기를 원하며 솔루션 설계자에게 애플리케이션 코드를 수정하지 않고 데이터베이스 다운타임을 최소화하는 방법을 제공하도록 요청했습니다.

이 기준을 충족하는 솔루션은 무엇입니까?

쇼핑몰에 단일 AZ 디비를 하나만 쓰고 있는데, 이 문제를 없애고 싶다. 이걸 해결하는 과정에서 다운 타임을 최소화시키고 싶다고 한다. 똑똑한 AWS 자격증 수험생이 방법을 찾아주도록 하자.

 

참고로, AZ라는 단어가 뭔지 모르는 사람이 분명 있을 거라 생각한다. 왜냐면, 내가 AWS 처음 공부할 때 몰랐으니까,,,, AZ는 가용 영역이라는 거고 하나의 데이터 센터라고 이해하면 된다.

 

A. Convert the existing database instance to a Multi-AZ deployment by modifying the database instance and specifying the Multi-AZ option.

데이터베이스 인스턴스를 멀티-AZ 옵션을 통해서 멀티-AZ 데이터베이스 인스턴스로 바꾼다고 한다. 정답인 거 같은데?라고 잠시 섣부르게 생각해보고 다음 보기로 넘어간다.

 

B. Create a new RDS Multi-AZ deployment. Take a snapshot of the current RDS instance and restore the new Multi-AZ deployment with the snapshot.

새로운 개발 RDS 멀티-AZ를 만든다. 현재 RDS 인스턴스를 스냅샷 떠놓고 새로운 멀티-AZ에 스냅샷 찍어둔 걸로 복구한다. 이것도 맞는 거 같은데,,, 나머지 항목도 보자.

 

C. Create a read-only replica of the PostgreSQL database in another Availability Zone. Use Amazon Route 53 weighted record sets to distribute requests across the databases.

새로운 가용역역, 데이터센터에 읽기 전용 PostgreSQL DB 복제본을 만들고, Route 53을 사용해서 요청을 분산한다. 이거다. 답은 이거일 거 같다. 왜냐하면, 이렇게 하면 새로운 데이터센터에 DB를 생성해 가용성을 높였고 Route53를 사용하여 트래픽 흐름이 바뀌는 찰나의 순간만 다운타임이 발생하고 이후로는 잘 운영될 것으로 보인다.

 

D. Place the RDS for PostgreSQL database in an Amazon EC2 Auto Scaling group with a minimum group size of two. Use Amazon Route 53 weighted record sets to distribute requests across instances.

문제에서 AZ 가용 영역에 대해 포커스를 두고 이야기하고 있는데, 오토스케일링은 하나의 가용 영역에서 이루어지는 기능이다. 그래서 이건 답이 아니다.

 

A, B, C 모두 가용성을 높여주기는 하지만, C가 제일 다운타임이 없는 구성임으로 C가 정답. 정답 확인. 

 

틀렸다....! 정답은 A 다른 분의 의견을 봐보자.

 

그렇다. C는 Route53이 필요 없었다. Route53에 대한 설명이 AWS 사이트에 이렇게 되어있다. "Amazon Route 53는 사용자의 요청을 Amazon EC2 인스턴스, Elastic Load Balancing 로드 밸런서, Amazon S3 버킷 등 AWS에서 실행되는 인프라에 효과적으로 연결합니다." 가용 영역 단위에서는 사용하지 않는 것으로 보인다. 

 

결국, 시험에 처음 느낌 온 게 답인 경우가 많다고 하더니.... 다중 AZ 배포라고 RDS 사용 설명서가 있다. 이건 외워야겠다.

https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html

 

고가용성을 위한 다중 AZ 배포 - Amazon Relational Database Service

고가용성을 위한 다중 AZ 배포 다중 AZ 배포에는 대기 DB 인스턴스가 하나 또는 두 개 있을 수 있습니다. 배포에 하나의 대기 DB 인스턴스가 있는 경우를 다중 AZ DB 인스턴스 배포라고 합니다. 다중

docs.aws.amazon.com

 

 

하루에 2시간 이상 공부하는 걸 목표로 하고 있는데, 22시에 시작했는데 벌써 00시가 넘었다. 4문제 하는데 2시간. 한 문제에 30분. 글을 작성하면서 더 오래 걸리는 것도 있겠지만, 확실한 건 이렇게 글을 쓰면서 하니 2가지가 확실하다.

 

기억 엄청 잘남. 누군가에게 도움이 될 고퀄 자료.


내일은 4일차 글을 작성하는데 20문제 정도 푸는 걸 목표로 정하고 잘 준비를 하러 간다.

반응형

댓글