덤프 문제 정리

728x90

덤프 문제 정리

보안 관련 AWS 서비스

  • Cognito : 회원관리
  • GuardDuty : 외부침입분석
  • Inspector : 내부취약점분석
  • Macie : 민감한 개인정보 관리

Security Group 과 Network ACL 차이

Security group에서는 Instance 레벨에서의 Allow 설정만 가능합니다. 명시적으로 Deny 설정은 할 수 없습니다. 반면, Subnet 레벨에서 관리되는 NACL에서는 Allow, Deny 설정이 모두 가능하다.

  • NACL - (모든 트래픽) In, Out에 대해 허용,거부 모두 지정가능
  • SG - (인스턴스로 들어오는 트래픽) In에 대해서 모두 거부, 지정한 것만 오픈 가능, Out은 전부 허용

(문제) TCP 기반 EC2 인스턴스, UDP 기반 온프레미스, 여러 리전에서 사용

  • TCP, UDP 워크 로드의 가용성을 늘리기 위해 NLB 사용
  • 글로벌 엑셀러레이터 -> 글로벌 사용자를 위한 애플리케이션의 성능을 향상

(문제) S3 버킷의 데이터를 다른 리전으로 복제하고 싶을 때

S3 Cross-Region Replication configuration, S3 교차 리전 복제 구성을 추가하여 소스 S3 버킷에서 대상 S3 버킷으로 데이터를 복제한다.

(문제) NLB 를 사용하여 디바이스에서 수집하는 데이터를 부하 분산시킨다. 웹 계층으로 데이터를 전송할 때 데이터 보안을 위한 방법은?

TLS listener(수신기)를 구성하여 NLB 에 서버 인증서, SSL 인증서를 추가해준다. 그러면 전송 중에 데이터가 암호화된다.

One AZ 데이터베이스가 존재, 다운 타임을 최소화하면서 가용성을 늘리는 방법

다운 타임 최소화이기 때문에 기존 데이터베이스를 사용하는 방법을 사용해야 한다. RDS 에서 Multi AZ 옵션을 지정하여 기존 데이터베이스를 Multi AZ 배포로 변환한다.

S3 Intelligent-Tiering

  • 모든 객체 데이터 유지
  • 검색 비용 발생 x
  • 관리 오버헤드 최소화
  • 검색 시간에 영향을 주지 않고 객체 데이터를 사용할 수 있음

EC2 호스트와 EC2 인스턴스 차이

EC2 전용 호스트 -> 고객이 core 단위의 s/w 라이센스 보유 시 사용, 고객 전용의 EC2 인스턴스 용량을 갖춘 물리적 서버

Data Sync, Storage Gateway

  • Data Sync : 데이터 전송에 초점이 맞춰져 있다.
  • Storage Gateway는 전송되는 데이터에 엑세스하는 것에 초점이 맞춰져 있다. 둘의 조합이 좋다고 하는데, Data Sync에서 데이터를 전송하며 데이터 전송을 자동화 및 가속화 한 후, Storage Gateway를 통해 마이그레이션 된 데이터에 대한 짧은 지연시간 엑세스를 온프레미스 애플리케이션에 제공이 가능하기 때문이다.

데이터 마이그레이션 도구

  • 데이터 마이그레이션 도구 : AWS Storage Gateway, AWS DataSync, AWS Transfer Family, AWS Snow Family, AWS Database Migration Service
  • Storage Gateway : 온라인 데이터백업용으로 나스처럼 지원되는 서비스
  • DataSync : Storage GW 비슷하지만 파일만 지원, 데이터 카피 지원, 계속적인 복제 가능
  • Transfer Family : FTP등의 파일 전송기술로 데이터를 전송할 수 있는 방식

DDoS 를 차단해주는 AWS 의 서비스

DDoS를 차단해주는 AWS의 대표적인 서비스는 Shield 및 WAF(Web Application Firewall)가 있습니다. 두가지 서비스의 구체적인 차이점을 알지는 못하지만, DDoS 관련 문제가 나오면 십중팔구 두가지 서비스중 하나를 선택하시면 될 것같습니다. GuardDuty는 DDoS와 같은 공격을 차단하는 서비스가 아닌 비정상적인 외부 침입 시도를 모니터링하고 분석하는 용도의 서비스인 것으로 보입니다. AWS는 이런식으로 하나로 통합해도 될 것 같은 서비스들을 세분화해서 제공함으로써 수익을 창출하는 것 같네요.

AWS Organiztional Untis

AWS에서는 IAM이라는 서비스를 통해 인증(Athentication) 및 인가(Authorization)와 같은 거버넌스 환경을 제공합니다. IAM에서 중요한 개념이 Policy → User ⊂ User Group / Role (정책을 만들어 User, 또는 User 들의 모임인 User Group, 또는 Role에 부여하는 것) 입니다. 여기에 대응해 AWS Organizations 라는 계정관리 서비스 모델을 비교해서, SCP(Service Control Policies) → Account ⊂ OU (Organizational Units) 의 형태 개념으로 보시면 기억에 잘 남으실 것 같습니다. 따라서, 위 문제는 AWS Organizations와 관련된 문제이므로 SCP를 답으로 선택하시면 될 것 같습니다. 실제 IAM, Organizations는 복잡하고 사전에 충분히 이해해야할 개념들이 많이 있습니다. 구체적인 부분은 개별적인 학습이 필요합니다.

완전관리형 Serverless 서비스

완전관리형 서버리스란 사용자가 관리할 필요가 없는 서버리스 서비스들을 뜻한다. 대표적으로 Amazon Aurora 서버리스, AWS Fargate, AWS Lambda 등이 있다.

AWS WAF, AWS Shield

shield advanced = DDos 대응 + WAF 이지만 비용이 비싸다. aws waf = 고객이 정의한 조건에 따라 웹 요청을 허용, 차단 또는 모니터링(계수)하는 규칙을 구성하여 공격으로부터 웹 애플리케이션을 보호하는 웹 애플리케이션 방화벽이다.

(문제) 3티어 웹앱을 구성 중, 성수기에 처리량이 몰리는 데 이를 해결하는 방법은?

  • web 티어: ec2+alb
  • 미들 티어: ec2 3대 + amazon SQS 를 사용하여 웹티어에서 분리
  • 백엔드: 다이나모DB
  • 오토 스케일링을 사용하여 SQS 대기열을 처리할 수 있는 미들 티어 인스턴스를 스케일 아웃한다. -> 처리량 증가

Amazon EC2 인스턴스 스토어

초당 수백만 건의 트랜잭션을 수용할 수 있는 대기 시간이 짧고 처리량이 높은 블록 스토리지이지만, 말그대로 인스턴스, 시간이 지나면 사라지는 스토리지이다.

EBS 스토리지는 초당 수백만 건을 처리할 수 없다.

S3 교차 계정 액세스

버킷을 다른 계정과 공유하고자 할 때 사용한다.

교차 계정 S3 복제: 다른 계정에 버킷을 복제한다.

ELB 유형 특징

  • ALB (Applicaiton Load Balancer) : L7 스위치로 스마트하지만 NLB에 비해 다소 느리고, EIP 연결 불가(대신 고정 DNS URL 제공)
  • NLB (Network Load Balancer) : L4 스위치로 단순하지만 빠르고, EIP 연결 가능
  • Classic Load Balancer : AWS 초창기 부터 서비스되던 L4, L7 스위치로 곧 서비스 종료 예정

AWS Kinesis Data Streams

AWS Kinesis는 AWS에서 제공하는 완전관리형 실시간 스트리밍 데이터 처리 서비스로 기능에 따라 Kinesis Video Streams, Kinesis Data Streams, Kinesis Data Firehose, Kinesis Data Analytics 로 나누어진다.

실시간으로 데이터를 수집 및 캡쳐하는 건 Kinesis Data Streams, 실시간으로 데이터를 처리하고 분석툴로 로드 및 전송하는 건 Firehose가 수행한다고 생각하면 될 것 같다.

(문제) 데이터베이스에 저장하기 전에 민감한 데이터를 제거한 후 트랜잭션을 처리해야 한다.

AWS에서 온라인 마켓플레이스 웹 애플리케이션을 호스팅합니다.

피크 시간 동안 이 프로그램은 수십만 명의 사용자에게 서비스를 제공합니다.

다양한 내부 시스템과 수백만 건의 금융 거래에 대한 정보를 공유하기 위한 확장 가능한 거의 실시간 솔루션이 필요합니다.

또한 빠른 검색을 위해 문서 데이터베이스에 저장하기 전에 민감한 데이터를 제거하기 위해 트랜잭션을 처리해야 합니다.

 

트랜잭션 데이터를 Amazon Kinesis Data Streams로 스트리밍 한다.

AWS Lambda 를 사용하여 모든 트랜잭션에서 민감한 데이터를 제거한 다음 Amazon Dynamo DB 에 트랜잭션 데이터를 저장한다.

다른 애플리케이션은 Kinesis 데이터 스트림의 트랜잭션 데이터를 사용할 수 있다.

AWS Cost Explorer

시간에 따른 AWS 비용 및 사용량의 시각화, 이해 및 관리, 리소스 사용량까지 깊게 들어가서 확인할 수 있다

(문제) 금융 서비스 조직은 미국과 유럽의 사용자가 액세스할 수 있는 웹 응용 프로그램을 운영한다.

금융 서비스 조직은 미국과 유럽의 사용자가 액세스할 수 있는 웹 응용 프로그램을 운영합니다. 프로그램은 데이터베이스 계층과 웹 서버 계층의 두 계층으로 나뉩니다. 데이터베이스 계층은 물리적으로 us-east-1에 위치한 MySQL 데이터베이스로 구성됩니다. Amazon Route 53 지리 근접 라우팅은 가장 가까운 리전의 인스턴스로 트래픽을 라우팅하는 데 사용됩니다. 시스템 성능 분석에 따르면 유럽 사용자는 미국 사용자와 동일한 수준의 쿼리 성능을 얻지 못하고 있습니다. 성능을 향상시키려면 데이터베이스 계층에서 어떤 개선이 이루어져야 합니까?

  • 지리 근접 라우팅을 사용 중이고 mysql 데이터베이스는 us-east-1 에 존재. 당연히 미국 리전으로 모든 데이터들이 몰린다. 즉, 성능이 떨어짐 -> 유럽 리전에 데이터베이스를 복제하여 만들어줘야 한다. -> 이 모든 작업은 같은 리전에서 일어나는 것이 아니라 글로벌한 리전에서 발생하므로 데이터베이스를 MySQL 호환 모드에서 Amazon Aurora 글로벌 데이터베이스로 마이그레이션한다. 유럽 리전 중 하나에 읽기 전용 복제본을 구성한다.

(문제) 최소한의 운영 노력으로 이러한 기준을 충족하는 솔루션은 무엇인가?

보통 서버리스(완전관리형) 서비스를 찾는 문제로 귀결된다고 생각하자. 모르는 문제가 나오면 일단 버서리스 서비스를 정답으로 찍는다.. 보안 팀은 90일마다 모든 IAM 사용자의 액세스 키를 교체해야 합니다. 액세스 키가 오래된 것으로 발견되면 비활성화하고 제거합니다. 솔루션 설계자는 90일 이상 된 키를 감지하고 수정할 솔루션을 설계해야 합니다.

  • 키 사용 기간을 확인하는 AWS Config 규칙을 생성한다. Amazon EventBridge(Amazon CloudWatch Events) 규칙을 정의하고 키를 제거하는 AWS Lambda 함수를 트리거하도록 한다.

(문제) 기업은 Amazon Elastic Container Service(Amazon ECS)를 활용하여 애플리케이션을 호스팅하고 고가용성을 보장하고자 합니다.

비즈니스는 한 가용 영역의 노드를 사용할 수 없는 경우에도 애플리케이션을 업데이트할 수 있어야 합니다. 애플리케이션은 초당 100개의 요청을 받을 것으로 예상되며 각 컨테이너 작업은 초당 최소 60개의 요청을 처리할 수 있습니다. 조직은 minimum healthy percent 파라미터가 50%로 설정되고 maximum healthy percent 파라미터가 100%로 설정된 롤링 업데이트 배포 모드를 사용하도록 Amazon ECS를 구성했습니다.

초당 100개 요청을 받고, 하나의 작업(task라고 하는데 아마도 뭐 파드 같은거인듯)은 60개 요청을 수행할수있다니까. 최소 2개의 작업은 돌아가야한다. 두 개가 돌아갈 경우 초당 120개를 처리한다. 하나의 az를 사용할 수 없을때도 가능해야한다. update할때 minimum healthy percent 파라미터가 50%라고 했으니 또 절반정도 줄여 지는것을 생각해야한다.

  • 3개의 가용 영역에 애플리케이션을 배포한다. 각 가용 영역에는 두개씩 작업이 수행된다. -> 하나의 가용 영역이 수행 X 총 4개의 task 가 수행되고 있고 업데이트 할 때 50% 줄어드므로 2개의 task 가 수행된다. 초당 100 개 요청을 받고 있고 현재 처리할 수 있는 요청 수는 120개 이므로 성공이다.
728x90