

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

# AWS Organizations를 사용하여 Transit Gateway Attachment에 자동으로 태그 지정
<a name="tag-transit-gateway-attachments-automatically-using-aws-organizations"></a>

*Richard Milner-Watts, Haris Bin Ayub, John Capps, Amazon Web Services*

## 요약
<a name="tag-transit-gateway-attachments-automatically-using-aws-organizations-summary"></a>

Amazon Web Services(AWS)에서는 [AWS Resource Access Manager](https://aws.amazon.com/ram/)를 사용하여 AWS 계정 경계[AWS Transit Gateway](https://aws.amazon.com/transit-gateway/)를 넘어 공유할 수 있습니다. 그러나 계정 경계를 넘어 Transit Gateway attachment를 생성할 경우 첨부 파일은 이름 태그 없이 생성됩니다. 따라서 첨부 파일을 식별하는 데 시간이 많이 걸릴 수 있습니다. 

이 솔루션은 AWS Organizations에서 관리하는 조직 내 계정의 각 Transit Gateway Attachment에 대한 정보를 수집하는 자동화된 메커니즘을 제공합니다. 이 프로세스에는 Transit Gateway 라우팅 테이블에서 [Classless Inter-Domain Routing](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)(CIDR) 범위를 조회하는 작업이 포함됩니다. 그러면 솔루션은 트랜짓 게이트웨이를 보유한 계정 내의 첨부 파일에 이름 태그를 `<CIDR-range>-<AccountName>`의 형태로 적용합니다.

이 솔루션은 Solutions Library의 [Serverless Transit Network Orchestrator](https://aws.amazon.com/solutions/implementations/serverless-transit-network-orchestrator/)와 같은 AWS 솔루션과 함께 사용할 수 있습니다. 서버리스 트랜짓 네트워크 오케스트레이터를 사용하면 대규모로 Transit Gateway Attachment를 자동으로 생성할 수 있습니다.

## 사전 조건 및 제한 사항
<a name="tag-transit-gateway-attachments-automatically-using-aws-organizations-prereqs"></a>

**사전 조건 **
+ 활성 AWS 계정
+ 모든 관련 계정이 포함된 AWS Organizations 조직
+ 조직의 루트에서 조직 관리 계정에 액세스하여 필요한 AWS Identity and Access Management (IAM) 역할을 생성합니다.
+ 조직과 공유되고 첨부 파일이 있는 하나 이상의 트랜짓 게이트웨이를 포함하는 공유 네트워킹 멤버 계정

## 아키텍처
<a name="tag-transit-gateway-attachments-automatically-using-aws-organizations-architecture"></a>

의 다음 스크린샷은 연결된 이름 태그가 없는 Transit Gateway 연결과이 솔루션에서 생성된 이름 태그가 있는 Transit Gateway 연결 2개의 예를 AWS Management Console 보여줍니다. 생성된 이름 태그의 구조는 `<CIDR-range>-<AccountName>`입니다.

![\[이름 태그가 없는 첨부 파일과 이름 태그가 있는 두 개의 첨부 파일을 보여주는 콘솔.\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/images/pattern-img/4b10dfec-43be-4337-9945-c64df921934a/images/7e7d4a47-f07a-4708-8022-a1d22855bb5d.png)


 

이 솔루션은 [AWS CloudFormation](https://aws.amazon.com/cloudformation/)를 사용하여 구성된 모든에서 Transit Gateway 이름 태그 생성을 관리하는 [AWS Step Functions](https://aws.amazon.com/step-functions/) 워크플로를 배포합니다 AWS 리전. 워크플로는 기본 작업을 수행하는 AWS Lambda 함수를 간접적으로 호출합니다.

솔루션이 계정 이름을 가져온 후 AWS Organizations Step Functions 상태 시스템은 모든 Transit Gateway 연결 IDs 가져옵니다. 이는 AWS 리전에서 병렬로 처리됩니다. 이 처리에는 각 첨부 파일의 CIDR 범위 검색이 포함됩니다. CIDR 범위는 리전 내의 Transit Gateway 라우팅 테이블에서 일치하는 Transit Gateway Attachment ID를 검색하여 얻을 수 있습니다. 필요한 정보를 모두 사용할 수 있는 경우 솔루션은 이름 태그를 첨부 파일에 적용합니다. 솔루션은 기존 이름 태그를 덮어쓰지 않습니다.

솔루션은 [Amazon EventBridge](https://aws.amazon.com/eventbridge/) 이벤트에 의해 제어되는 일정에 따라 실행됩니다. 이벤트는 매일 오전 6시(UTC)에 솔루션을 시작합니다.

**대상 기술 스택  **
+ Amazon EventBridge
+ AWS Lambda
+ AWS Organizations
+ AWS Transit Gateway
+ Amazon Virtual Private Cloud(Amazon VPC)
+ AWS X-Ray

**대상 아키텍처 **

솔루션 아키텍처 및 워크플로는 다음 다이어그램에 나와 있습니다.

![\[공유 네트워킹 및 조직 관리 계정 전반의 9단계 프로세스입니다.\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/images/pattern-img/4b10dfec-43be-4337-9945-c64df921934a/images/873cc89f-c6e3-43cd-94ed-59b6ea2b8d49.png)


1. 예약된 이벤트가 규칙을 시작합니다.

1. EventBridge 규칙은 Step Functions 상태 머신을 시작합니다.

1. 상태 머신은 `tgw-tagger-organizations-account-query` Lambda 함수를 호출합니다.

1. `tgw-tagger-organizations-account-query` Lambda 함수는 조직 관리 계정에서 역할을 맡습니다.

1. `tgw-tagger-organizations-account-query` Lambda 함수는 Organizations API를 호출하여 AWS 계정 메타데이터를 반환합니다.

1. 상태 머신은 `tgw-tagger-attachment-query` Lambda 함수를 호출합니다.

1. 병렬로 각 리전에 대해 상태 머신은 `tgw-tagger-rtb-query` Lambda 함수를 간접적으로 호출하여 각 첨부 파일의 CIDR 범위를 읽습니다.

1. 병렬로 각 리전에 대해 상태 머신은 Lambda 함수를`tgw-tagger-attachment-tagger`** **간접적으로 호출합니다.

1. 공유 네트워킹 계정의 Transit Gateway Attachment에 대한 이름 태그가 생성됩니다.

**자동화 및 규모 조정**

솔루션은 각 리전을 병렬로 처리하여 총 실행 시간을 단축합니다.

## 도구
<a name="tag-transit-gateway-attachments-automatically-using-aws-organizations-tools"></a>

**서비스**
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)는 인프라를 코드로 취급하여 관련 AWS 및 타사 리소스 모음을 모델링하고, 빠르고 일관되게 프로비저닝하고, 수명 주기 동안 관리할 수 있는 방법을 제공합니다.
+ [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)를 사용하면 AWS 리소스 및에서 실행되는 애플리케이션의 지표를 실시간으로 모니터링할 AWS 수 있습니다.
+ [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html)는 애플리케이션을 다양한 소스의 데이터와 연결하는 데 사용할 수 있는 서버리스 이벤트 버스 서비스입니다. EventBridge가 환경 변화를 나타내는 이벤트를 수신하고 규칙을 적용하여 이벤트를 대상으로 라우팅합니다. 규칙은 이벤트 패턴이라고 하는 이벤트 구조 또는 일정에 따라 이벤트를 대상과 일치시킵니다.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)는 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있게 해주는 컴퓨팅 서비스입니다. Lambda는 필요 시에만 코드를 실행하며, 일일 몇 개의 요청에서 초당 수천 개의 요청까지 자동으로 확장이 가능합니다. 사용한 컴퓨팅 시간에 대해서만 비용을 지불하면 됩니다. 코드가 실행되지 않을 때는 비용이 부과되지 않습니다.
+ [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html)는 AWS 리소스를 확장하고 확장함에 따라 환경을 중앙에서 관리하고 관리하는 데 도움이 됩니다. Organizations를 사용하면 프로그래밍 방식으로 새 리소스를 생성하고 리소스를 할당 AWS 계정 하며, 계정을 그룹화하여 워크플로를 구성하고, 거버넌스를 위해 계정 또는 그룹에 정책을 적용하고, 모든 계정에 대해 단일 결제 방법을 사용하여 결제를 간소화할 수 있습니다.
+ [AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html)는 비즈니스 프로세스를 오케스트레이션 AWS 서비스, 자동화 및 서버리스 애플리케이션 구축에 사용되는 로우코드 시각적 워크플로 서비스입니다. 워크플로는 장애, 재시도, 병렬화, 서비스 통합 및 관찰성을 관리하므로 개발자는 더 중요한 비즈니스 로직에 집중할 수 있습니다.
+ [AWS Transit Gateway](https://aws.amazon.com/transit-gateway/)는 중앙 허브VPCs와 온프레미스 네트워크를 연결합니다. 이렇게 하면 네트워크가 단순화되고 복잡한 피어링 관계가 없어집니다. 클라우드 라우터 역할을 하므로 새로 연결할 때마다 한 번만 이루어집니다.
+ [Amazon Virtual Private Cloud(VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html)는 사용자가 정의한 논리적으로 격리된 가상 네트워크에서 AWS 리소스를 시작하는 서비스입니다.
+ [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) X-Ray는 애플리케이션이 처리하는 요청에 대한 데이터를 수집하며, 해당 데이터를 보고, 필터링하고, 통찰을 얻어 문제와 최적화 기회를 식별할 수 있는 도구를 제공합니다.

**코드**

이 솔루션의 소스 코드는 [Transit Gateway Attachment Tagger](https://github.com/aws-samples/tgw-attachment-tagger) GitHub 리포지토리에서 확인할 수 있습니다. 리포지토리에는 다음 파일이 포함됩니다.
+ `tgw-attachment-tagger-main-stack.yaml`은 공유 네트워킹 계정 내에 이 솔루션을 지원하는 모든 리소스를 생성합니다.
+ `tgw-attachment-tagger-organizations-stack.yaml`은 ** **조직의 관리 계정에 역할을 생성합니다.

## 에픽
<a name="tag-transit-gateway-attachments-automatically-using-aws-organizations-epics"></a>

### 기본 솔루션 스택 배포
<a name="deploy-the-main-solution-stack"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 필수 사전 조건 정보를 수집하십시오. | Lambda 함수에서 AWS Organizations API로의 교차 계정 액세스를 구성하려면 조직의 관리 계정에 대한 계정 ID가 필요합니다.****두 CloudFormation 스택이 생성되는 순서가 중요합니다. 먼저 공유 네트워킹 계정에 리소스를 배포해야 합니다. 조직의 관리 계정에 리소스를 배포하기 전에 공유 네트워킹 계정의 역할이 이미 존재해야 합니다. 자세한 내용은 [AWS 설명서](https://docs.amazonaws.cn/en_us/IAM/latest/UserGuide/id_roles_create_for-user.html)를 참조하세요. | DevOps 엔지니어 | 
| 기본 솔루션 스택의 CloudFormation 템플릿을 시작합니다. | 기본 솔루션 스택용 템플릿은 IAM 역할, Step Functions 워크플로, Lambda 함수 및 CloudWatch 이벤트를 배포합니다.공유 네트워킹 계정의 AWS Management Console 를 연 다음 :&CFN 콘솔을 엽니다.  `tgw-attachment-tagger-main-stack.yaml` 템플릿과 다음 값을 사용하여 스택을 생성합니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/tag-transit-gateway-attachments-automatically-using-aws-organizations.html) CloudFormation 스택 시작에 대한 자세한 내용은 [AWS 설명서를](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html) 참조하세요. | DevOps 엔지니어 | 
| 솔루션이 성공적으로 시작되었는지 확인하십시오. | CloudFormation 스택이 **CREATE\$1COMPLETE** 상태에 도달할 때까지 기다리십시오. 1분 내에 완료됩니다.Step Functions 콘솔을 열고 **tgw-attachment-tagger-state-machine** 이름을 가진 새 상태 머신이 생성되었는지 확인합니다. | DevOps 엔지니어 | 

### AWS Organizations 스택 배포
<a name="deploy-the-aws-organizations-stack"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 필수 사전 조건 정보를 수집하십시오. | Lambda 함수에서 AWS Organizations API로의 크로스 계정 액세스를 구성하려면 공유 네트워킹 계정의 계정 ID가 필요합니다. | DevOps 엔지니어 | 
| Organizations 스택용 CloudFormation 템플릿을 실행합니다. | AWS Organizations 스택용 템플릿이 조직의 관리 계정에 IAM 역할을 배포 합니다. 조직의 관리 계정에 대한 AWS Console에 액세스한 다음 CloudFormation 콘솔을 엽니다.  `tgw-attachment-tagger-organizations-stack.yaml` 템플릿과 다음 값을 사용하여 스택을 생성합니다.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/tag-transit-gateway-attachments-automatically-using-aws-organizations.html)다른 스택 생성 옵션의 경우 기본값을 사용합니다. | DevOps 엔지니어 | 
| 솔루션이 성공적으로 시작되었는지 확인하십시오. |  CloudFormation 스택이 **CREATE\$1COMPLETE** 상태에 도달할 때까지 기다립니다. 1분 내에 완료됩니다. AWS Identity and Access Management (IAM) 콘솔을 열고 **tgw-attachment-tagger-organization-query-role**이라는 이름으로 새 역할이 생성되었는지 확인합니다. | DevOps 엔지니어 | 

### 솔루션 확인
<a name="verify-the-solution"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 상태 머신을 실행합니다. | 공유 네트워킹 계정의 Step Functions 콘솔을 열고 탐색 창에서 **상태 머신**을 선택합니다.**상태 머신 **tgw-attachment-tagger-state-machine**을 선택하고 실행 시작** 을 선택합니다. 이 상태 머신에 대한 입력은 솔루션에서 사용되지 않으므로 기본값을 사용할 수 있습니다.<pre>{<br />    "Comment": "Insert your JSON here"<br />}</pre>**실행 시작**을 선택합니다. | DevOps 엔지니어 | 
| 완료될 때까지 상태 머신을 주시하십시오. | 새 페이지가 열리면 상태 머신이 실행되는 것을 볼 수 있습니다. 기간은 처리할 Transit Gateway Attachment 수에 따라 달라집니다.이 페이지에서 상태 머신의 각 단계를 검토할 수 있습니다. 상태 머신 내의 다양한 작업을 보고 Lambda 함수에 대한 CloudWatch 로그 링크를 따라갈 수 있습니다. 맵 내에서 병렬로 실행되는 작업의 경우 **인덱스 **드롭다운 목록을 사용하여 각 리전의 구체적인 구현을 확인할 수 있습니다. | DevOps 엔지니어 | 
| Transit Gateway Attachment 태그를 확인합니다. | 공유 네트워킹 계정의 VPC 콘솔을 열고 **Transit Gateway Attachment** 첨부 파일을 선택합니다.  콘솔에서는 조건을 충족하는 첨부 파일에 대해 이름 태그가 제공됩니다(첨부 파일은 Transit Gateway 라우팅 테이블에 전파되고 리소스 소유자는 조직의 구성원임). | DevOps 엔지니어 | 
| CloudWatch 이벤트 시작을 확인합니다. | CloudWatch 이벤트가 시작될 때까지 기다리십시오. 이 일정은 06:00(UTC)으로 예정되어 있습니다. 그런 다음 공유 네트워킹 계정의 Step Functions 콘솔을 열고 탐색 창에서 **상태 머신**을 선택합니다.상태 머신 **tgw-attachment-tagger-state-machine**을 선택합니다. 솔루션이 06:00(UTC)에 실행되었는지 확인합니다. | DevOps 엔지니어 | 

## 관련 리소스
<a name="tag-transit-gateway-attachments-automatically-using-aws-organizations-resources"></a>
+ [AWS Organizations](https://aws.amazon.com/organizations/)
+ [AWS Resource Access Manager](https://aws.amazon.com/ram/)
+ [서버리스 트랜짓 네트워크 오케스트레이터](https://aws.amazon.com/solutions/implementations/serverless-transit-network-orchestrator/)
+ [IAM 역할 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html)
+ [AWS CloudFormation 콘솔에서 스택 생성](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html)