기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
ELB 로드 밸런서에 TLS 종료가 필요한지 확인
작성자: Priyanka Chaudhary(AWS)
환경: 프로덕션 | 기술: 네트워킹; 보안, 자격 증명, 규정 준수 | AWS 서비스: Amazon CloudWatch Events, Elastic Load Balancing(ELB), AWS Lambda |
요약
Amazon Web Services(AWS) Cloud에서 Elastic Load Balancing(ELB)은 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스, 컨테이너, IP 주소 및 AWS Lambda 함수와 같은 여러 대상에 수신 애플리케이션 트래픽을 자동으로 분산합니다. 로드 밸런서는 리스너를 사용하여 로드 밸런서가 사용자의 트래픽을 수락하는 데 사용하는 포트와 프로토콜을 정의합니다. Application Load Balancer는 애플리케이션 계층에서 라우팅 결정을 내리고 HTTP/HTTPS 프로토콜을 사용합니다. Classic Load Balancer는 TCP 또는 Secure Sockets Layer(SSL) 프로토콜을 사용하여 전송 계층에서, 또는 HTTP/를 사용하여 애플리케이션 계층에서 라우팅 결정을 내립니다HTTPS.
이 패턴은 Application Load Balancer 및 Classic Load Balancer에 대한 여러 이벤트 유형을 검사하는 보안 제어를 제공합니다. 함수가 호출되면 AWS Lambda는 이벤트를 검사하고 로드 밸런서가 규정을 준수하는지 확인합니다.
이 함수는 CreateLoadBalancer, , , , CreateLoadBalancerListeners, DeleteLoadBalancerListenersCreateLoadBalancerPolicy, DeleteListener, SetLoadBalancerPoliciesOfListener CreateListener및 API 호출에 대해 Amazon CloudWatch Events 이벤트를 시작합니다ModifyListener. 이벤트가 이러한 중 하나를 감지하면 Python 스크립트를 실행하는 AWS Lambda를 APIs호출합니다. Python 스크립트는 리스너에 SSL 인증서가 포함되어 있는지, 적용되는 정책이 전송 계층 보안()을 사용하는지 확인하기 위해 평가합니다TLS. SSL 정책이 이외의 것으로 확인되면 TLS함수는 관련 정보와 함께 Amazon Simple Notification Service(AmazonSNS) 알림을 사용자에게 보냅니다.
사전 조건 및 제한 사항
사전 조건
활성 AWS 계정
제한 사항
이 보안 제어는 로드 밸런서 리스너를 업데이트하지 않는 한 기존 로드 밸런서를 확인하지 않습니다.
이 보안 제어는 리전별로 적용됩니다. 모니터링할 각 AWS 리전에 배포해야 합니다.
아키텍처
대상 아키텍처
자동화 및 규모 조정
AWS Organizations
를 사용하는 경우 AWS Cloudformation StackSets을 사용하여 모니터링하려는 여러 계정에 이 템플릿을 배포할 수 있습니다.
도구
AWS 서비스
AWS CloudFormation - AWS CloudFormation 는 AWS 리소스를 모델링 및 설정하고, 빠르고 일관되게 프로비저닝하고, 수명 주기 내내 관리할 수 있도록 지원합니다. 템플릿을 사용하여 리소스와 해당 종속성을 설명하고 리소스를 개별적으로 관리하는 대신 스택으로 함께 시작 및 구성할 수 있습니다.
Amazon CloudWatch Events - Amazon CloudWatch Events는 AWS 리소스의 변경 사항을 설명하는 시스템 이벤트의 거의 실시간 스트림을 제공합니다.
AWS Lambda - AWS Lambda는 서버를 프로비저닝하거나 관리하지 않고도 실행 중인 코드를 지원하는 컴퓨팅 서비스입니다.
Amazon S3-Amazon Simple Storage Service(S3)는 웹 사이트, 모바일 애플리케이션, 백업, 데이터 레이크 등 다양한 스토리지 솔루션에 사용할 수 있는 확장성이 뛰어난 객체 스토리지 서비스입니다.
Amazon SNS – Amazon Simple Notification Service(Amazon SNS)는 웹 서버 및 이메일 주소를 포함하여 게시자와 클라이언트 간의 메시지 전송 또는 전송을 조정하고 관리합니다. 구독자는 구독하는 주제에 게시된 모든 메시지를 수신하며 주제에 대한 모든 구독자는 동일한 메시지를 수신합니다.
코드
이 패턴에는 다음과 같은 첨부 파일이 포함됩니다.
ELBRequirestlstermination.zip
- 보안 제어를 위한 Lambda 코드입니다.ELBRequirestlstermination.yml
- 이벤트 및 Lambda 함수를 설정하는 CloudFormation 템플릿입니다.
에픽
작업 | 설명 | 필요한 기술 |
---|---|---|
S3 버킷을 정의합니다. | Amazon S3 콘솔 | 클라우드 아키텍트 |
Lambda 코드를 업로드합니다. | 첨부 파일 섹션에 제공된 Lambda 코드( | 클라우드 아키텍트 |
작업 | 설명 | 필요한 기술 |
---|---|---|
AWS CloudFormation 템플릿을 시작합니다. | S3 버킷과 동일한 AWS 리전에서 AWS CloudFormation 콘솔 | 클라우드 아키텍트 |
템플릿에서 파라미터를 작성합니다. | 템플릿을 시작하면 다음 정보를 입력하라는 메시지가 표시됩니다.
| 클라우드 아키텍트 |
작업 | 설명 | 필요한 기술 |
---|---|---|
구독을 확인합니다. | CloudFormation 템플릿이 성공적으로 배포되면 제공한 이메일 주소로 구독 이메일을 보냅니다. 위반 알림을 받기 시작하려면 이 이메일 구독을 확인해야 합니다. | 클라우드 아키텍트 |
관련 리소스
AWS CloudFormation 콘솔에서 스택 생성(AWS CloudFormation 문서)
AWS Lambda란 무엇입니까? (AWS Lambda 설명서)
Classic Load Balancer란 무엇인가요? (ELB 설명서)
Application Load Balancer란 무엇인가요? (ELB 설명서)
첨부
이 문서와 관련된 추가 콘텐츠에 액세스하려면 attachment.zip 파일의 압축을 풉니다.