내용으로 건너뛰기

전송 게이트웨이를 통한 교차 계정 연결 문제를 해결하려면 어떻게 해야 합니까?

5분 분량
0

리소스가 전송 게이트웨이를 통해 다른 AWS 계정에 있는 가상 프라이빗 클라우드(VPC) 간에 연결되지 않습니다.

해결 방법

참고: 전송 게이트웨이를 소유한 계정이 소유자 계정입니다. 전송 게이트웨이에 대한 액세스 권한을 받는 계정이 공유 계정입니다.

전송 게이트웨이 리소스 공유 설정 확인

참고: AWS Organizations에 조직이 있는 경우, 리소스 공유를 활성화합니다. 리소스 공유를 활성화하면 AWS가 자동으로 멤버 계정 간에 전송 게이트웨이를 공유하고 수락합니다.

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

  1. 소유자 계정으로 AWS Resource Access Manager(AWS RAM) 콘솔에 로그인합니다.
  2. 탐색 창에서 공유 리소스를 선택합니다.
  3. 전송 게이트웨이를 선택합니다.
  4. 전송 게이트웨이를 올바른 계정 또는 조직과 공유했는지 확인합니다.
  5. 공유 상태연결됨이고 수락 보류 중으로 표시되지 않는지 확인합니다.

소유자 계정 및 공유 계정에서 Transit Gateway Attachment 상태 확인

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

  1. Amazon Virtual Private Cloud(Amazon VPC) 콘솔을 엽니다.
  2. 소유자 계정과 공유 계정 양쪽 모두의 탐색 창에서 Transit Gateway Attachments를 선택합니다.
  3. 연결 상태사용 가능인지 확인합니다.
    참고: 전송 게이트웨이에 연결하는 각각의 계정에 상태가 사용 가능인 연결이 하나씩 필요합니다.
  4. 연결이 트래픽 라우팅에 각 가용 영역에서 한 개의 서브넷을 사용하는지 확인합니다.

공유 계정에서 연결의 상태가 수락 보류 중으로 표시되는 경우, 다음 단계를 완료하십시오.

  1. 공유 계정에서 Transit Gateway Attachments를 선택합니다.
  2. 보류 중인 연결을 선택합니다.
  3. 작업을 선택한 다음 수락을 선택합니다.

라우팅 테이블 설정 및 경로 전파 확인

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

  1. 소유자 계정으로 AWS Transit Gateway 콘솔에 로그인합니다.
  2. 탐색 창에서 전송 게이트웨이 라우팅 테이블을 선택합니다.
  3. 각각의 연결이 올바른 라우팅 테이블과 연결되는지 확인합니다.
  4. 라우팅 테이블에 다른 VPC의 CIDR 블록에 대한 경로가 있는지 확인합니다. 경로는 정적이거나 전파되었을 수 있으며, 각 VPC의 올바른 Transit Gateway Attachment를 가리켜야 합니다.
  5. (선택 사항) 트래픽을 검사하는 데 보안 VPC를 사용하는 경우, 방화벽과 보안 어플라이언스가 트래픽을 허용하는지 확인합니다.
  6. 소스 및 대상 범위가 겹치지 않는지 확인합니다.
    참고: 전송 게이트웨이는 겹치는 IP 주소 범위를 라우팅할 수 없습니다.

각자의 환경에 맞는 세그먼트화된 라우팅 테이블을 생성하는 것이 좋습니다. 예를 들어 개발자 및 프로덕션 환경이 있는 경우, 세그먼트화된 라우팅 테이블이 둘 사이에서 트래픽을 격리합니다. 각 환경에 자체적인 라우팅 테이블이 있기 때문입니다.

VPC 라우팅 테이블이 전송 게이트웨이를 가리키는지 확인

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

  1. Amazon VPC 콘솔을 엽니다.
  2. 탐색 창에서 라우팅 테이블을 선택합니다.
  3. 리소스의 서브넷과 연결된 라우팅 테이블을 선택합니다.
  4. 경로 탭 아래에서 다른 VPC의 CIDR 블록에 대한 경로가 올바른 전송 게이트웨이 ID를 가리키는지 확인합니다.

참고: 보안 그룹과 네트워크 액세스 제어 목록(네트워크 ACL)이 VPC 간 트래픽을 허용하는지 확인합니다.

보안 그룹 및 네트워크 ACL 구성 확인

다음 작업을 수행하십시오.

  • Amazon Elastic Compute Cloud(Amazon EC2) 보안 그룹이 올바른 CIDR 블록 및 포트에 대하여 인바운드 및 아웃바운드 트래픽을 허용하는지 확인합니다.
  • 보안 그룹이 워크로드 간에 필요한 프로토콜을 허용하도록 구성합니다. 예를 들어 TCP 포트 443 및 TCP 포트 22를 확인하십시오.
  • 네트워크 ACL이 VPC 간 트래픽 흐름을 허용하는지 확인합니다.
  • 네트워크 ACL 규칙을 확인하고 해당 규칙이 전송 게이트웨이로의 트래픽을 차단하지 않는지 확인합니다.

참고: 네트워크 ACL은 스테이트리스입니다. 네트워크 ACL 규칙에서 인바운드 및 아웃바운드 트래픽을 둘 다 허용해야 합니다.

Reachability Analyzer로 경로 분석

참고: VPC Reachability Analyzer를 사용해 계정 간 경로를 분석하려면 AWS Organizations에서 신뢰할 수 있는 액세스를 활성화합니다.

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

  1. AWS Network Manager 콘솔을 엽니다.
  2. 탐색 창에서 Network Manager를 선택합니다.
  3. Reachability Analyzer를 선택합니다.
  4. 경로 생성 및 분석을 선택합니다.
  5. 다음 정보를 입력해 경로 소스와 경로 대상 선택:
    소스 계정의 경우, 소스 계정의 계정 ID를 선택합니다.
    소스 유형으로 리소스 유형을 선택합니다.
    소스로 특정 리소스를 선택합니다.
    대상 계정의 경우, 대상 계정의 계정 ID를 선택합니다.
    대상 유형으로 리소스 유형을 선택합니다.
    소스로 특정 리소스를 선택합니다.
  6. 경로 분석을 선택합니다.
  7. 결과를 검토합니다.

경로가 연결할 수 있음이면 네트워크 구성이 올바른 것입니다. 경로가 연결할 수 없음이면, 경로와 보안 규칙을 수정하여 트래픽을 허용하십시오.

VPC Flow Logs로 트래픽 흐름 확인

시작하기 전에, VPC 흐름 로그를 만듭니다. pkt-srcaddrpkt-dstaddr 필드를 포함하는 사용자 지정 형식을 사용하는 것이 좋습니다. VPC 흐름 로그의 pkt-srcaddrpkt-dstaddr 필드에 원래 소스 및 대상 호스트 IP 주소를 포함한 트래픽이 표시됩니다. 기본 srcaddrdstaddr에는 중간 네트워크 인터페이스 IP 주소가 표시됩니다.

VPC Flow Logs를 사용해 전송 게이트웨이를 통해 연결되는 VPC 간에 수락된 트래픽과 거부된 트래픽을 식별합니다.

흐름 로그를 분석하려면 다음 단계를 완료하십시오.

  1. Amazon CloudWatch 콘솔을 엽니다.

  2. 탐색 창에서 로그를 선택하고, 로그 인사이트를 선택합니다.

  3. 쿼리 범위 드롭다운 목록에서 VPC 흐름 로그의 로그 그룹을 선택합니다. 그런 다음, 소스 및 대상 리소스의 탄력적 네트워크 인터페이스 ID를 검색합니다.

  4. 다음 예제 쿼리를 실행하여 소스 및 대상 IP 주소 기준으로 로그를 필터링하여 VPC 간에 수락된 트래픽과 거부된 트래픽을 식별합니다.

    parse @message " *************************" as version, accountid, interfaceid, srcaddr, dstaddr, srcport, dstport, protocol, packets, bytes, start, end, action, logstatus, vpcid, subnetid, instanceid, tcpflags, type, pktsrcaddr, pktdstaddr, pktsrcawsservice, pktdstawsservice, flowdirection, trafficpath|filter (pktsrcaddr='SOURCE-IP-ADDRESS’ and pktdstaddr=‘DESTINATION-IP-ADDRESS’)|limit 100

    참고: ************************ 및 필드 이름은 VPC 흐름 로그를 만들 때 선택한 형식과 일치하도록 바꾸십시오. 별표와 필드의 개수는 선택한 로그 형식에 따라 다릅니다. SOURCE-IP-ADDRESS를 소스 IP 주소로, DESTINATION-IP-ADDRESS를 대상 IP 주소로 바꿉니다.

Amazon EC2 인스턴스 간 연결 테스트

다음 명령을 실행하여 전송 게이트웨이를 통해 연결되는 EC2 인스턴스 간 연결 테스트를 수행합니다.

참고: 다음 명령에서 DESTINATION-PRIVATE-IP를 대상의 프라이빗 IP 주소로, PORT를 테스트하려는 포트 번호로 교체합니다.

다음 ICMP ping 명령 실행:

ping DESTINATION-PRIVATE-IP

다음 telnet 명령을 실행하여 TCP 포트 테스트:

telnet DESTINATION-PRIVATE-IP PORT

다음 curl 명령을 실행하여 HTTP 테스트 수행:

curl -v http://DESTINATION_PRIVATE_IP:PORT

테스트가 실패하면 다음 작업 수행:

  • 두 VPC의 라우팅 테이블에 대상 CIDR 블록 범위의 전송 게이트웨이를 가리키는 항목이 포함되었는지 확인합니다.
  • 전송 게이트웨이 라우팅 테이블이 두 VPC의 항목을 포함하고 테이블이 올바른 Transit Gateway Attachment와 연결되는지 확인합니다.
  • 보안 그룹이 인스턴스 간에 인바운드 및 아웃바운드 트래픽을 허용하는지 확인합니다.
  • 서브넷의 네트워크 ACL이 필요한 트래픽을 허용하는지 확인합니다.
  • 공유 전송 게이트웨이가 있는 경우, 이 게이트웨이를 대상 계정과 올바로 공유했는지 확인합니다.

관련 정보

전송 게이트웨이를 다른 계정이나 조직 내에서 공유하려면 어떻게 해야 합니까?

Reachability Analyzer의 작동 방식

AWS Transit Gateway의 전송 게이트웨이 라우팅 테이블

AWS 공식업데이트됨 5달 전