내용으로 건너뛰기

다른 계정에 있는 전송 게이트웨이에 대하여 Amazon VPC 연결을 Transit Gateway에 만들려면 어떻게 해야 합니까?

4분 분량
0

다른 AWS 계정에 있는 전송 게이트웨이에 대하여 AWS Transit Gateway에 Amazon Virtual Private Cloud(Amazon VPC) 연결을 만들려고 합니다.

간략한 설명

VPC를 다른 계정의 전송 게이트웨이에 연결하려면 AWS Resource Access Manager(AWS RAM)를 사용해 VPC를 소유한 계정과 해당 전송 게이트웨이를 공유해야 합니다.

다음 해결 방법에서는 전송 게이트웨이를 소유한 계정이 소스 계정이고, VPC를 소유한 계정이 대상 계정입니다. 대상 계정이 리소스 공유를 수락하고 나면 VPC 연결을 만들어서 VPC를 소스 계정의 공유 전송 게이트웨이에 연결하십시오.

AWS Management Console를 사용하거나 AWS Command Line Interface(AWS CLI)를 사용하여 다음 단계를 완료할 수 있습니다.

참고: AWS CLI 명령을 실행할 때 오류가 발생하는 경우, AWS CLI의 오류 문제 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.

해결 방법

사전 요구 사항: 전송 게이트웨이에 대한 VPC 연결을 만들기 전에, 대상 계정의 AWS Identity and Access Management(IAM) 사용자 또는 역할에 서비스 연결 역할을 만들 권한이 있는지 확인하십시오. AWS는 VPC 연결을 만드는 동안 AWSServiceRoleForVPCTransitGateway 서비스 연결 역할을 자동으로 만듭니다. 이 역할을 사용하면 Transit Gateway가 VPC 서브넷에서 탄력적 네트워크 인터페이스를 만들어 관리하고, 연결에 필요한 라우팅을 구성할 수 있습니다.

필요한 권한이 있는지 확인하려면 IAM 정책에 다음 문이 포함되어 있는지 확인하십시오.

{
  "Effect": "Allow",
  "Action": "iam:CreateServiceLinkedRole",
  "Resource": "arn:aws:iam::*:role/aws-service-role/transitgateway.amazonaws.com/AWSServiceRoleForTransitGateway*"

IAM 사용자 또는 역할에 서비스 연결 역할을 만드는 권한이 없는 경우, ‘Access Denied’ 오류가 발생합니다.

대상 계정과 전송 게이트웨이 공유

AWS RAM 콘솔

다음 단계를 완료하십시오.

  1. 소스 계정에서 AWS RAM 콘솔을 엽니다.
  2. AWS 리전 드롭다운 목록에서 전송 게이트웨이의 리전을 선택합니다.
  3. 리소스 공유 만들기를 선택합니다.
  4. 다음 정보를 입력합니다.
    이름에 리소스 공유의 이름을 입력합니다.
    리소스 유형 선택에서 전송 게이트웨이를 선택한 다음 전송 게이트웨이 ID를 선택합니다.
  5. 다음을 선택합니다.
  6. 관리형 권한을 선택하여 전송 게이트웨이와 연결합니다.
  7. 다음을 선택합니다.
  8. 주체에 액세스 권한 부여를 선택하고 다음 정보를 입력합니다.
    주체에 대상 계정의 계정 ID 또는 AWS Organizations의 계정인 경우 조직 ID를 입력합니다.
    계정이 조직에 속하지 않은 경우, 모든 사용자에게 공유 허용을 선택합니다.
    계정이 조직에 속한 경우, 조직 내에서만 공유 허용을 선택합니다.
    참고: 조직 ID를 주체 유형으로 사용하려면 신뢰할 수 있는 액세스를 활성화하십시오. 리소스 공유를 생성한 다음에 위탁자를 업데이트하려면 리소스 공유를 선택한 다음 수정을 선택합니다.
  9. 리소스 공유 만들기를 선택합니다.

AWS CLI

참고: 다음 명령에서 예시 파라미터를 다음 값으로 바꿉니다.

  • TGWSHARE에는 리소스 공유의 이름을 입력합니다.
  • 222222222222에는 대상 계정의 계정 ID로 교체합니다.
  • resource-arns에는 소스 계정 전송 게이트웨이의 Amazon 리소스 이름(ARN)을 입력합니다.
  • principals organizations에는 조직의 ARN을 입력합니다.
  • resource-share-arn에는 수정하려는 기존 리소스 공유의 ARN을 입력합니다.

조직에 속하지 않는 계정에게 리소스 공유를 만들려면 다음 create-resource-share 명령을 실행합니다.

aws ram create-resource-share \
    --name TGWSHARE \
    --resource-arns arn:aws:ec2:region:123456789012:transit-gateway/tgw-1234567890abcdef0 \
    --principals 222222222222 \
    --allow-external-principals

조직에 속한 계정에만 액세스를 허용하도록 리소스 공유를 만들면 다음 create-resource-share 명령을 실행합니다.

aws ram create-resource-share \
    --name TGWSHARE \
    --resource-arns arn:aws:ec2:region:123456789012:transit-gateway/tgw-1234567890abcdef0 \
    --principals organizations::123456789012:organization/o-exampleorgid \
    --no-allow-external-principals

기존 리소스 공유를 수정하려면 다음 update-resource-share 명령을 실행합니다.

aws ram update-resource-share \
    --allow-external-principals \
    --resource-share-arn arn:aws:ram:us-west-2:123456789012:resource-share/7ab63972-b505-7e2a-420d-6f5d3EXAMPLE

자세한 내용은 AWS RAM에서 리소스 공유 만들기를 참조하십시오.

대상 계정에서 전송 게이트웨이 공유 수락

AWS RAM 콘솔

자세한 설명은 AWS Reource Access Manager 콘솔을 사용하여 AWS Transit Gateway 리소스 공유 수락을 참조하십시오.

Amazon VPC 콘솔을 사용하여 공유 전송 게이트웨이가 대상 계정에 표시되는지 확인합니다.

AWS CLI

다음 단계를 완료하십시오.

  1. 다음 get-resource-share-invitations 명령을 실행하여 보류 중인 리소스 공유 초대를 목록으로 표시합니다.

    aws ram get-resource-share-invitations
  2. 출력에서 resourceShareInvitationArn을 복사합니다.

  3. 다음 accept-resource-share-invitation 명령을 실행하여 초대를 수락합니다.

    aws ram accept-resource-share-invitation \
        --resource-share-invitation-arn arn:aws:ram:us-west-2:111111111111:resource-share-invitation/1e3477be-4a95-46b4-bbe0-c4001EXAMPLE

    참고: resource-share-invitation-arn을 초대의 ARN으로 바꿉니다.

다음 describe-transit-gateways 명령을 실행하여 공유 전송 게이트웨이가 대상 계정에 표시되는지 확인합니다.

aws ec2 describe-transit-gateways

대상 계정에서 VPC 연결 만들기

Amazon VPC 콘솔

자세한 설명은 AWS Transit Gateway에서 VPC 연결 만들기를 참조하십시오.

AWS CLI

다음 create-transit-gateway-vpc-attachment 실행:

aws ec2 create-transit-gateway-vpc-attachment \
    --transit-gateway-id SHARED-TRANSIT-GATEWAY-ID \
    --vpc-id DESTINATION-VPC-ID \
    --subnet-ids SUBNET-A SUBNET-B \
    --options DnsSupport=enable,Ipv6Support=disable

참고: SHARED-TRANSIT-GATEWAY-ID를 공유 전송 게이트웨이의 ID로, DESTINATION-VPC-ID를 대상 VPC의 ID로 바꿉니다. SUBNET-ASUBNET-B를 서브넷 ID로 바꿉니다. 각 가용 영역에 서브넷을 하나만 지정하십시오. 가용성을 높이기 위해, 두 가용 영역에 서브넷을 하나씩 지정하는 것이 좋습니다. 전송 게이트웨이는 각각의 지정된 서브넷에서 하나의 IP 주소를 사용합니다.

VPC 연결을 만든 다음 상태를 확인하십시오. 공유 연결 자동 수락을 활성화한 경우, 전송 게이트웨이가 연결을 자동으로 수락합니다. 전송 게이트웨이를 만드는 동안 공유 연결 자동 수락을 활성화하지 않았으면, 상태가 수락 보류 중으로 표시됩니다. 소스 계정에서 VPC 연결을 수락하는 방법은 다음 섹션 소스 계정에서 VPC 연결 수락을 참조하십시오.

소스 계정에서 VPC 연결 수락

Amazon VPC 콘솔

소스 계정에서 공유 연결을 수락합니다.

AWS CLI

또는 다음 describe-transit-gateway-attachments AWS CLI 명령을 실행하여 pendingAcceptance 연결을 나열합니다.

aws ec2 describe-transit-gateway-attachments \
    --filters Name=state,Values=pendingAcceptance

다음 accept-transit-gateway-vpc-attachment 명령을 실행하여 VPC 연결을 수락합니다.

aws ec2 accept-transit-gateway-vpc-attachment \
    --transit-gateway-attachment-ids TGW-ATTACH-1122

참고: 명령의 출력에 표시된 Transit Gateway Attachment ID를 사용하십시오. 그런 다음, TGW-ATTACH-1122를 VPC 연결의 ID로 바꿉니다.

관련 정보

AWS Transit Gateway의 Amazon VPC 연결

AWS RAM이 IAM과 함께 작동하는 방식

AWS Transit Gateway의 전송 게이트웨이

Amazon VPC의 AWS Transit Gateway란 무엇입니까?

AWS 공식업데이트됨 5달 전