Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 포렌식
- 정보보안기사
- kubernetes
- Autopsy
- ISMS
- SMS-P 인증 기준 안내서 요약
- 모의해킹
- CFReDS
- 정보보안기사 실기
- ISMS-P 인증심사원
- k8s
- TSK
- iam
- 실습
- 쿠버네티스
- 정보보안
- artifacts
- AWS EKS
- AWS EKS Udemy
- AWS Elasticsearch
- hacking case
- isms-p
- AWS Opensearch
- 보안기사
- AWS
- 해킹
- The Sleuth Kit
- 보안
- AWS 쿠버네티스
- forensic
Archives
- Today
- Total
Always-Try(정보보안 및 일상)
AWS DNA - 1주차 Peak Load Control with Serverless - 3/3 본문
본 포스팅은 AWS KOREA에서 제공해는 교육인 AWS DNA에서 진행한 Hands On Labs 를 요약한 내용입니다. 단, 서비스 소개에 대한 내용은 AWS 공식 docs를 참고해서 별도로 작성했습니다.
처음 사용해보는 서비스들도 많아서 하나의 Hands On Labs 세션 당 총 3편으로 나눠서 포스팅 할 예정입니다.
지난 포스팅 2021.09.13 - [AWS] - AWS DNA - 1주차 Peak Load Control with Serverless - 2/3
에 이어 Peak Load Control with Serverless 실습 과정 포스팅을 계속 진행한다. 까먹을까봐 다시 실습 목표를 적어둔다.
- 실습 목표: 라이선스 또는 외부연동 등의 여러 요소로 인해 갑작스러운 트래픽 증가를 처리하기 어려운 Legacy 애플리케이션에 사이트에 도착하는 순서대로 번호표를 발급하고 사용자를 대기하도록 한 다음 순서대로 입장시킬 수 있는 환경을 구성한다.
5) 웹사이트를 떠난 사용자를 체크해서 이미 떠난 경우는 토큰을 삭제하고, 새로운 사용자를 입장시키는 역할을 처리하는 로직
- 흐름
- DynamoDB에 새로운 토큰이 생성되면 stream을 통해서 Lambda가 실행
- 이 Lambda는 SQS에 10초의 DelaySeconds를 추가하여 토큰을 입력
- 이후 이 SQS를 바라보고 있는 Lambda는 해당 토큰을 검사하여 20초 이상 heartbeat요청이 없으면, 해당 토큰을 삭제하고 새로운 사용자를 입장
- 만약 heartbeat이 요청이 정상적인 토큰이라면 다시 10초의 DelaySeconds를 추가하여 SQS에 입력하고 이후 다시 토큰을 체크
- DynamoDB & SQS & Lambda (DynamoDB와 Lambda는 이전 포스팅에 설명이 있어 생략)
- SQS
- 서비스 개요
- 지속성이 우수하고 사용 가능한 보안 호스팅 대기열을 제공하며 이를 통해 분산 소프트웨어 시스템과 구성 요소를 통합 및 분리할 수 있음
- 보안 고려 사항
- 데이터 암호화
- 전송되는 데이터는 SSL로
- 저장되는 데이터는 KMS와 연동해서 암호화 가능
- ID 및 액세스 관리
- 기타 IAM으로 액세스 관리
- SSL 또는 MFA를 사용해야 하는 조건 작성
- 지정된 날짜 또는 시간 범위 내에서만 요청을 허용
- IP 주소의 범위를 지정
- 데이터 암호화
- 실습 시 활용 방안
- DynamoDB에 새로운 토큰이 생성되면 stream을 통해서 Lambda가 실행 됨
- 실핻 된 Lambda는 SQS에 10초의 DelaySeconds를 추가하여 토큰을 입력
- 이후 이 SQS를 바라보고 있는 Lambda는 해당 토큰을 검사하여 20초 이상 heartbeat요청이 없으면, 해당 토큰을 삭제하고 새로운 사용자를 입장시킴
- 만약 heartbeat이 요청이 정상적인 토큰이라면 다시 10초의 DelaySeconds를 추가하여 SQS에 입력하고 이후 다시 토큰을 체크하는 과정을 거침
- 서비스 개요
- SQS
6) 현재 사이트를 사용중인 접속자, 대기중인 접속자가 얼마나 되는지를 어떻게 알 수 있는 통계 테이블을 구성
DynamoDB는 집계쿼리를 바로 실행하는데는 적합하지 않으므로 별도의 통계테이블을 구성한다. 이때 DynamoDB의 stream을 통하여 Lambda를 트리거하고 이 Lambda에서 데이터를 집계하여 status 테이블에 저장한다.
- DynamoDB & Lambda (DynamoDB와 Lambda는 이전 포스팅에 설명이 있어 생략)
- 실습 시 활용 방안
- DynamoDB의 stream을 통하여 Lambda를 트리거하고 이 Lambda에서 데이터를 집계하여 status 테이블에 저장
- 실습 시 활용 방안
7) 관리자가 모니터링하고 관리하기 위한 환경을 구성
- 실습 시 활용 방안
- CloudWatch의 Schedule 이벤트를 통하여 1분단위로 Step Functions를 호출
- Step Functions은 10초 마다 6회 동안 Lambda를 호출
- Lambda는 앞서 살펴보았던 status 테이블의 데이터를 주기적으로 조회하고 CloudWatch의 Custom 메트릭으로 저장
- 이후 CloudWatch Alarm 통해 메트릭이 임계치를 초과하는 경우 Alarm이 발생
- 이 CloudWatch Alarm은 SNS와 연동되어 리소스를 프로비저닝 할 때 입력했던 관리자 이메일로 Notification을 발송
- CloudWatch
- 서비스 개요
- AWS 리소스 및 에서 실행 중인 응용 프로그램AWS를 실시간으로 확인
- 리소스 및 애플리케이션에 대해 측정할 수 있는 변수인 지표를 수집하고 추적할 수 있음
- 보안 고려 사항
- ID 및 액세스 관리
- 기타 IAM으로 액세스 관리
- SSL 또는 MFA를 사용해야 하는 조건 작성
- 지정된 날짜 또는 시간 범위 내에서만 요청을 허용
- IP 주소의 범위를 지정
- 로깅
- ID 및 액세스 관리
- 서비스 개요
- Step Functions
- 서비스 개요
- Serverless의 가시성이 확보되어 서비스를 빠르게 빌드하고 업데이트 할 수 있음
- 각 단위 Function들의 결합으로 코드를 간결하게 개발할 수 있음
- Lambda Function들을 유기적으로 연결하여 오류와 예외처리를 쉽게 할 수 있음
- AWS 서비스들(Cloudwatch, Lambda 등등)의 기본 동작 주기보다 빠르게 액션을 취할 수 있음
- 보안 고려 사항
- 저장 데이터 암호화
- Step Functions 항상 저장 데이터를 암호화합니다. AWS Step Functions의 데이터는 투명 서버 측 암호화를 사용하여 저장 상태로 암호화 됨
- 전송 데이터 암호화
- Step Functions s를 사용하면 서비스 및 기타 통합 간에 전송 중인 데이터를 암호화
- 다른 AWS 서비스 간 전달되는 통신은 모두 TLS 암호화를 사용
- 로깅
- 저장 데이터 암호화
- 서비스 개요
- SNS
- 서비스 개요
- 게시자에서 구독자에게 메시지 전송을 제공하는 관리형 서비스
- 지원되는 엔드포인트 유형 (예: Amazon Kinesis Data Firehose, Amazon SQS,AWS Lambda, HTTP, 이메일, 모바일 푸시 알림 및 모바일 문자 메시지 (SMS) 가 포함되어 있음
- 보안 고려 사항
- 전송 구간 및 저장 데이터 암호화
- 서비스 개요
'AWS' 카테고리의 다른 글
파이썬 이용한 AWS Security Group 보안 (ANY ANY 열린 그룹 조회) (0) | 2021.11.22 |
---|---|
AWS DNA 3기 후기 (Digital Native Architects) (0) | 2021.11.15 |
AWS DNA - 1주차 Peak Load Control with Serverless - 2/3 (0) | 2021.09.13 |
AWS DNA - 1주차 Peak Load Control with Serverless - 1/3 (0) | 2021.09.13 |
AWS DNA 3기 합격 (Digital Native Architects) (0) | 2021.09.07 |
Comments