AWS Transit Gateway를 사용하여 리전 간 피어링 설정을 자동화하십시오. - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS Transit Gateway를 사용하여 리전 간 피어링 설정을 자동화하십시오.

작성자: Ram Kandaswamy(AWS)

환경: 프로덕션

기술: 네트워킹, 하이브리드 클라우드

AWS 서비스: AWS Transit Gateway, AWS Step Functions, AWS Lambda

요약

AWS Transit Gateway는 중앙 허브를 통해 Virtual Private Cloud(VPC)와 온프레미스 네트워크를 연결합니다. Transit Gateway 트래픽은 항상 글로벌 Amazon Web Services(AWS) 백본에 머물며 공용 인터넷을 통과하지 않으므로 일반적인 악용 및 분산 서비스 거부 (DDoS) 공격과 같은 위협 벡터가 줄어듭니다.

두 개 이상의 AWS 리전 간에 통신해야 하는 경우, 리전 간 Transit Gateway 피어링을 사용하여 서로 다른 리전의 전송 게이트웨이 간에 피어링 연결을 설정할 수 있습니다. 하지만 Transit Gateway를 사용하여 리전 간 피어링을 수동으로 구성하려면 여러 단계를 거쳐야 하므로 시간이 많이 걸릴 수 있습니다. 이 패턴은 코드를 사용하여 피어링을 수행함으로써 이러한 수동 단계를 제거하는 자동화된 프로세스를 제공합니다. 다중 리전 조직 설정 중에 여러 리전 및 AWS 계정을 반복적으로 구성해야 하는 경우 이 방법을 사용할 수 있습니다.

이 패턴은 AWS CloudFormation Step Functions 워크플로, AWS Lambda 함수, AWS Identity 및 Access Management (IAM) 역할, Amazon Logs의 로그 그룹을 포함하는 AWS 스택을 사용합니다. CloudWatch 그런 다음 Step Functions 실행을 시작하고 트랜짓 게이트웨이를 위한 리전 간 피어링 연결을 생성할 수 있습니다.

사전 조건 및 제한 사항

사전 조건 

  • 활성 상태의 AWS 계정.

  • 기존 Amazon Simple Storage Service(S3) 버킷.

  • 요청자 리전 및 수락자 리전에서 생성 및 구성된 트랜짓 게이트웨이. 요청자 리전은 피어링 요청이 시작되는 곳이고 수락자 영역은 피어링 요청을 수락합니다. 이에 대한 자세한 내용은 Amazon VPC 설명서의 VPC 피어링 연결 생성 및 수락을 참조하십시오.

  • 수락자 및 요청자 리전에 설치 및 구성된 VPC. VPC를 생성하는 단계는 Amazon VPC 설명서의 Amazon VPC 시작하기에서 VPC 생성을 참조하십시오.

  • VPC는 태그와 값을 사용해야 합니다. addToTransitGateway true

  • VPC의 보안 그룹 및 네트워크 액세스 제어 목록(ACL)이 요구 사항에 따라 구성됩니다. 이에 대한 자세한 내용은 Amazon VPC 설명서에서 VPC의 보안 그룹네트워크 ACL을 참조하십시오.

AWS 리전 및 제한

  • 리전 내 피어링은 특정 AWS 리전에서만 지원합니다. 리전 간 피어링을 지원하는 리전의 전체 목록은 AWS Transit Gateway FAQ를 참조하십시오.

  • 첨부된 샘플 코드에서는 요청자 리전을 가정하고 수락자 리전으로 가정했습니다. us-east-2 us-west-2 다른 리전을 구성하려면 모든 Python 파일에서 이러한 값을 편집해야 합니다. 두 개 이상의 리전을 포함하는 더 복잡한 설정을 구현하려면 리전을 Lambda 함수에 파라미터로 전달하도록 Step 함수를 변경하고 각 조합에 대해 함수를 실행할 수 있습니다.

아키텍처

이 다이어그램은 다음 단계의 워크플로를 보여줍니다.

  1. 사용자가 AWS CloudFormation 스택을 생성합니다.

  2. AWS는 Lambda 함수를 사용하는 Step Functions 상태 머신을 CloudFormation 생성합니다. 이에 대한 자세한 내용은 AWS Step Functions 설명서에서 Lambda를 사용하는 Step Functions 상태 머신 생성을 참조하십시오.

  3. Step Functions는 피어링을 위해 Lambda 함수를 직접 호출합니다. 

  4. Lambda 함수는 Transit Gateway 간에 피어링 연결을 생성합니다.

  5. Step Functions는 라우팅 테이블 수정을 위해 Lambda 함수를 직접 호출합니다.

  6. Lambda 함수는 VPC의 Classless Inter-Domain Routing (CIDR) 블록을 추가하여 라우팅 테이블을 수정합니다.

Step Functions 워크플로우

이 다이어그램은 다음 단계 함수 워크플로를 보여줍니다.

  1. Step Functions 워크플로는 Transit Gateway 피어링에 대해 Lambda 함수를 직접 호출합니다. 

  2. 1분 동안 대기해야 하는 타이머 직접 호출이 있습니다.

  3. 피어링 상태가 검색되어 조건 블록으로 전송됩니다. 블록은 루핑을 담당합니다. 

  4. 성공 조건이 충족되지 않으면 워크플로가 타이머 단계에 들어가도록 코딩됩니다. 

  5. 성공 조건이 충족되면 Lambda 함수가 직접 호출되어 라우팅 테이블을 수정합니다. 이 직접 호출이 끝나면 Step Functions 워크플로가 종료됩니다.

도구

  • AWS CloudFormation — CloudFormation AWS는 AWS 리소스를 모델링하고 설정하는 데 도움이 되는 서비스입니다.

  • Amazon CloudWatch CloudWatch Logs — Logs는 사용하는 모든 시스템, 애플리케이션 및 AWS 서비스의 로그를 중앙 집중화하는 데 도움이 됩니다.

  • Identity and Access Management(IAM) – IAM은 AWS 리소스에 대한 사용자의 액세스를 안전하게 제어할 수 있게 지원하는 웹 서비스입니다.

  • AWS Lambda — Lambda는 고가용성 컴퓨팅 인프라에서 코드를 실행하고 모든 컴퓨팅 리소스 관리를 수행합니다.

  • AWS Step Functions – Step Functions를 사용하면 시각적 워크플로우에서 분산 애플리케이션의 구성 요소를 일련의 단계로 쉽게 조정할 수 있습니다. 

에픽

작업설명필요한 기술
첨부 파일을 S3 버킷에 업로드합니다.

AWS Management Console에 로그인하고 Amazon S3 콘솔을 연 다음 modify-transit-gateway-routes.zip, peer-transit-gateway.zip, get-transit-gateway-peering-status.zip 파일(첨부)을 S3 버킷에 업로드합니다.

일반 AWS
AWS CloudFormation 스택을 생성합니다.

다음 명령을 실행하여 transit-gateway-peering.json 파일 (첨부) CloudFormation 을 사용하여 AWS 스택을 생성합니다.

aws cloudformation create-stack --stack-name myteststack --template-body file://sampletemplate.json

AWS CloudFormation 스택은 Step Functions 워크플로, Lambda 함수, IAM 역할 및 로그 그룹을 생성합니다. CloudWatch

AWS CloudFormation 템플릿이 이전에 업로드한 파일이 포함된 S3 버킷을 참조하는지 확인하십시오.

참고: AWS CloudFormation 콘솔을 사용하여 스택을 생성할 수도 있습니다. 이에 대한 자세한 내용은 AWS CloudFormation 설명서의 AWS CloudFormation 콘솔에 스택 생성을 참조하십시오.

DevOps 엔지니어
Step Functions에서 새 실행을 시작합니다.

Step Functions 콘솔을 열고 새 실행을 시작합니다. Step Functions는 Lambda 함수를 직접 호출하고 Transit Gateway를 위한 피어링 연결을 생성합니다. 입력 JSON 파일은 필요하지 않습니다. 첨부 파일을 사용할 수 있고 연결 유형이 피어링인지 확인하십시오.

이에 대한 자세한 내용은 AWS Steps Functions 설명서의 AWS Step Functions 시작하기에서 새 실행 시작을 참조하십시오.

DevOps 엔지니어, 일반 AWS
라우팅 테이블의 경로를 확인합니다.

Transit Gateway 간에 리전 간 피어링이 설정됩니다. 라우팅 테이블은 피어 리전 VPC의 IPv4 CIDR 블록 범위로 업데이트됩니다. 

Amazon VPC 콘솔을 열고 라우팅 테이블에서 Transit Gateway Attachment에 해당하는 Associations 탭을 선택합니다. 피어링된 리전의 VPC CIDR 블록 범위를 확인합니다. 

자세한 단계 및 지침은 Amazon VPC 설명서의 Transit Gateway 라우팅 테이블 연결을 참조하십시오.

네트워크 관리자

관련 리소스

첨부

이 문서와 관련된 추가 콘텐츠에 액세스하려면 attachment.zip 파일의 압축을 풉니다.