본문 바로가기
[AWS]/AWS SAA EXAMTOPICS

[AWS][SAA][EXAMTOPICS] Question 138

by METAVERSE STORY 2022. 6. 27.
반응형

A solutions architect is tasked with the responsibility of creating the architecture for a new application that will be deployed to the AWS Cloud. Amazon EC2 On-Demand Instances will be used to execute the application, which will automatically scale across different Availability Zones. Throughout the day, the EC2 instances will scale up and down periodically. The load distribution will be handled by an Application Load Balancer (ALB). The architecture must be capable of managing dispersed session data. The firm is ready to make necessary adjustments to the code.

What is the solution architect's responsibility in ensuring that the design enables distributed session data management?

  • A. Use Amazon ElastiCache to manage and store session data.
  • B. Use session affinity (sticky sessions) of the ALB to manage session data.
  • C. Use Session Manager from AWS Systems Manager to manage the session.
  • D. Use the GetSessionToken API operation in AWS Security Token Service (AWS STS) to manage the session.

 

한글 번역

솔루션 아키텍트는 AWS 클라우드에 배포할 새 애플리케이션에 대한 아키텍처를 생성하는 책임이 있습니다. Amazon EC2 온디맨드 인스턴스는 애플리케이션을 실행하는 데 사용되며 다른 가용 영역에서 자동으로 확장됩니다. 하루 종일 EC2 인스턴스는 주기적으로 확장 및 축소됩니다. 부하 분산은 ALB(Application Load Balancer)에서 처리합니다. 아키텍처는 분산된 세션 데이터를 관리할 수 있어야 합니다. 회사는 코드에 필요한 조정을 할 준비가 되어 있습니다.

설계에서 분산 세션 데이터 관리가 가능하도록 하는 솔루션 설계자의 책임은 무엇입니까?

  • A. Amazon ElastiCache를 사용하여 세션 데이터를 관리하고 저장합니다.
  • B. ALB의 세션 선호도(고정 세션)를 사용하여 세션 데이터를 관리합니다.
  • C. AWS Systems Manager의 Session Manager를 사용하여 세션을 관리합니다.
  • D. AWS Security Token Service(AWS STS)에서 GetSessionToken API 작업을 사용하여 세션을 관리합니다.

 

 

 

정답

  • A. Use Amazon ElastiCache to manage and store session data.

 

해설

확장성을 해결하고 개별 웹 서버에서 액세스할 수 있는 세션에 대한 공유 데이터 저장소를 제공하기 위해 웹 서버 자체에서 HTTP 세션을 추상화할 수 있습니다. 이에 대한 일반적인 솔루션은 Redis  Memcached 와 같은 메모리 내 키/값 저장소 를 활용하는 것 입니다. 키/값 데이터 저장소는 매우 빠르고 밀리초 미만의 대기 시간을 제공하는 것으로 알려져 있지만 추가된 네트워크 대기 시간과 추가 비용이 단점입니다. 키/값 저장소를 활용하는 추가 이점은 HTTP 세션뿐만 아니라 모든 데이터를 캐시하는 데도 사용할 수 있다는 것입니다. 이는 애플리케이션의 전체 성능을 높이는 데 도움이 될 수 있습니다.

세션 관리를 위해 분산 캐시를 선택할 때 고려해야 할 사항은 사용자 세션을 관리하기 위해 필요한 노드 수를 결정하는 것입니다. 일반적으로 이 결정은 예상되는 트래픽 양 및/또는 허용 가능한 위험도에 따라 결정될 수 있습니다. 분산 세션 캐시에서 세션은 캐시 클러스터의 노드 수로 나뉩니다. 장애가 발생하면 장애가 발생한 노드에 저장된 세션만 영향을 받습니다. 비용보다 위험을 줄이는 것이 더 중요한 경우 노드를 추가하여 더 적은 수의 노드로 충분하더라도 각 노드에 저장된 세션의 비율을 더 줄이는 것이 이상적일 수 있습니다.

또 다른 고려 사항은 세션을 복제해야 하는지 여부입니다. 일부 키/값 저장소는 읽기 전용 복제본을 통한 복제를 제공합니다. 노드 오류가 발생하더라도 세션이 완전히 손실되지는 않습니다. 개별 아키텍처에서 복제본 노드가 중요한지 여부는 어떤 키/값 저장소를 사용해야 하는지 알려줄 수 있습니다. 메모리 내 키/값 저장소를 위한 ElastiCache 제품에는 복제를 지원할 수 있는 Redis용 ElastiCache와 복제를 지원하지 않는 Memcached용 ElastiCache 가 있습니다.

키/값 저장소에 세션을 저장하는 방법에는 여러 가지가 있습니다. 많은 애플리케이션 프레임워크는 메모리에서 해당 세션을 GET/SET하는 데 필요한 통합 배관의 일부를 추상화할 수 있는 라이브러리를 제공합니다. 다른 경우에는 세션을 직접 지속하기 위해 고유한 세션 핸들러를 작성할 수 있습니다.  

A. Use Amazon ElastiCache to manage and store session data. - Correct. - Session data is managed at the application-layer, and a distributed cache should be used
B. Use session affinity (sticky sessions) of the ALB to manage session data. - Wrong. This tightly couples the individual EC2 instances to the session data, and requires additional logic in the ALB. When scale-in happens, the session data stored on individual EC2 instances is destroyed
C. Use Session Manager from AWS Systems Manager to manage the session. - Wrong. Session Manager is to manage EC2 instances and other devices, servers, and VMs you operate (https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html), NOT for storing (application) session info
D. Use the GetSessionToken API operation in AWS Security Token Service (AWS STS) to manage the session - Wrong. STS is to request temporary credentials for IAM users - https://docs.aws.amazon.com/STS/latest/APIReference/welcome.html

 

참조 문서

https://aws.amazon.com/ko/caching/session-management/

 

Session Management

In order to address scalability and to provide a shared data storage for sessions that can be accessible from any individual web server, you can abstract the HTTP sessions from the web servers themselves. A common solution to for this is to leverage an In-

aws.amazon.com

 

반응형

댓글