Direct Connect 에서 Direct Connect Gateway로 교체하기

기존에 Direct Connect를 쓰던 환경에서 Direct Connect Gateway로 스위칭하는 방법을 설명한 블로그입니다.
2021.08.22

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

안녕하세요 클래스메소드의 이수재 입니다.
이번에 Direct Connect(이하 DX)에서 Direct Connect Gateway(이하 DXGW)로 바꾸는 작업을 진행하였습니다.
아무래도 개인 환경에서는 만져볼 기회가 거의 없는 서비스이기 때문에 되돌아볼겸 블로그에 기재해보겠습니다.

작업

기존에 DX-VGW-VPC 였던 구성을 기존 VPC는 유지하며 신규 DXGW와 VGW를 사용하는 DXGW - VGW - VPC 의 구성으로 바꾸는 작업입니다.
VGW와 DXGW, VIF 등의 신규 생성이 필요합니다.
작업 흐름은 다음과 같습니다.

  1. 신규 VIF 발행
  2. 신규 VGW, DXGW 생성
  3. 신규 DXGW, VIF 연결
  4. 기존 VGW 분리
  5. 신규 VGW 와 VPC 연결 및 루트 테이블 수정
  6. 신규 DXGW 와 VGW 연결
  7. (예외)대상 DXGW가 내 계정이 아닌 경우

DX 연결의 종류에 따라 VIF의 발행 주체가 다르므로 이 부분은 생략하겠습니다.
해당 글에선 VIF의 발행을 파트너에게 신청하여 발행하는 경우로 작성합니다.
만약 본인 계정에 연결을 소유하고 있고 이 연결을 사용하여 작성한다면 DXGW를 미리 작성할 필요가 있습니다.
따라서 DXGW를 먼저 생성하고 VIF를 생성하시면 됩니다.

해보기

신규 VGW, DXGW 생성

우선 신규 VGW를 생성해보겠습니다.

  1. VPC 콘솔에서 가상 프라이빗 게이트웨이에 들어갑니다
  2. [가상 프라이빗 게이트웨이 작성]을 클릭합니다
  3. 이름과 ASN을 지정하여 생성합니다
    기본 ASN은 64512이며 사용자가 지정하는 경우엔 범위가 한정되어 있으므로 공식 문서를 참고해주세요
  4. VGW가 제대로 생성된 것을 확인합니다

이어서 DXGW를 생성합니다.

  1. Direct Connect 콘솔에서 Direct Connect 게이트웨이에 들어갑니다
  2. [Direct Connect 게이트웨이 생성]을 클릭합니다
  3. 이름과 ASN을 지정하여 생성합니다. 제 경우에는 파트너에서 사용할 DXGW의 ASN을 지정해주었기에 그대로 지정하였습니다
  4. DXGW가 제대로 생성된 것을 확인합니다

이걸로 필요한 리소스의 생성은 완료되었습니다. 이어서 작성한 리소스를 연결해주도록 하겠습니다.

신규 DXGW, VIF 연결

우선 생성한 DXGW와 VIF를 연결합니다. 해당 글에선 신청한 VIF를 승인하는 작업으로 진행합니다

  1. Direct Connect 의 가상 인터페이스에 들어갑니다
  2. 대상 VIF를 체크하고 [승인]을 클릭합니다
  3. 게이트웨이 타입을 Direct Connect Gateway를 선택하고 생성한 DXGW를 지정하고 이대로 승인합니다.잘못선택하면 되돌리기 힘들기 때문에 주의해주세요
  4. VIF의 상태가 pending에서 available로 변경되면 성공입니다

기존 VGW 분리

이 과정부터 마지막 작업이 완료될 때 까지 네트워크에 다운 타임이 발생합니다.
그리고 5~10분의 대기 시간이 발생하는 작업이 있어서 제 경우에는 심야 시간대에 작업하였습니다.

  1. VPC 콘솔에서 가상 프라이빗 게이트웨이에 들어갑니다
  2. 대상 VGW를 체크하고 [작업 -> VPC에서 분리]를 클릭합니다
  3. 작업하려는 대상이 맞는지 화인하고 분리합니다
  4. 상태가 detaching 에서 detached로 변경된 것을 확인합니다

신규 VGW 와 VPC 연결 및 루트 테이블 수정

해당 작업에서 5~10분의 대기 시간이 발생합니다.

  1. VPC 콘솔에서 가상 프라이빗 게이트웨이에 들어갑니다
  2. 대상 VGW를 체크하고 [작업 -> VPC에 연결]을 클릭합니다
  3. 대상 VPC를 지정하고 연결합니다
  4. 상태가 attaching 에서 attached로 변경되고 VPC가 제대로 지정된 것을 확인합니다

연결이 되었다면 루트 테이블을 수정합니다.
온 프레미스 환경에서 라우터가 동적 라우팅(BGP)를 지원한다면 루트 테이블의 라우팅 전파를 활성화하는 것으로 라우팅 테이블이 해결됩니다.
하지만 동적 라우팅을 지원하지 않는다면 해당 라우팅이 블랙홀 상태가 되므로 수동으로 라우팅을 추가하여야 합니다.
만약 기존 라우팅 테이블의 라우팅이 수동 라우팅이었다면 기존 VGW로 향하던 트래픽을 신규 VGW로 향하도록 지정하여야 합니다.
우선 라우팅 전파를 활성화하여 동적으로 라우팅을 알립니다

  1. VPC 콘솔에서 라우팅테이블에 들어갑니다
  2. 대상 라우팅 테이블을 체크하고 [라우팅 전파] 탭을 클릭합니다
  3. [라우팅 전파 편집]을 클릭합니다
  4. [전파]를 체크한 후 저장합니다
  5. 라우팅 전파 탭에서 해당 테이블의 전파가 예 로 변경된 것을 확인합니다

동적 전파라면 위의 과정으로 라우팅의 정리가 되지만 수동의 경우 다음의 작업이 필요합니다.

  1. 대상 라우팅 테이블의 [라우팅] 탭에서 [라우팅 편집]을 클릭합니다
  2. 블랙홀이 되어 있는 라우티의 대상을 신규로 연결한 VGW로 변경합니다
  3. 해당 라우팅의 상태가 활성 으로 변경된 것을 확인합니다
  4. 라우팅 전파를 다시 활성화합니다

신규 DXGW 와 VGW 연결

마지막으로 DXGW와 VGW를 연결합니다.
해당 작업에서 10분 정도의 대기 시간이 발생합니다.

  1. Direct Connect 콘솔에서 가상 프라이빗 게이트웨이에 들어갑니다
  2. 대상 VGW를 클릭하여 세부정보를 확인합니다
  3. Direct Connect 게이트웨이 연결 탭에서 [Dirct Connect 게이트웨이 연결]을 클릭합니다
  4. 계정 소유자를 [내 계정]을 선택하고, Direct Connect 게이트웨이는 DXGW를 선택하고 연결합니다
  5. 상태가 associated로 변경되는 것을 확인합니다

(예외)대상 DXGW가 내 계정이 아닌 경우

만약 DXGW를 소유한 계정이 작업하고 있는 계정이 아닌 다른 계정인 경우 DXGW 에 연결을 요청하고 해당 계정은 요청을 승인하는 작업이 필요합니다.

  1. Direct Connect 콘솔에서 가상 프라이빗 게이트웨이에 들어갑니다
  2. 대상 VGW를 클릭하여 세부정보를 확인합니다
  3. Direct Connect 게이트웨이 연결 탭에서 [Dirct Connect 게이트웨이 연결]을 클릭합니다
  4. 계정 소유자를 [다른 계정]을 선택하고, DXGW의 ID와 해당 게이트웨이의 소유자 ID를 입력하고 연결합니다
  5. 상태가 requested로 변경되는 것을 확인합니다

DXGW를 소유한 계정에선 해당 요청을 승인합니다.

  1. Direct Connect 콘솔에서 Direct Connect 게이트웨이에 들어갑니다
  2. 대상 DXGW를 클릭하여 세부정보를 확인합니다
  3. 게이트웨이 연결 탭에서 요청을 승인합니다
  4. 해당 게이트웨이의 상태가 associating에서 associated로 변경되는 것을 확인합니다

통신 확인

온 프레미스과 AWS 환경이 제대로 통신할 수 있는지 확인합니다.
문제없이 통신을 확인하였다면 이로써 모든 작업이 완료되었습니다.

끝으로

작업자체는 단순하였습니다. 하지만 VIF의 발행이나 다운타임을 고려하여 작업 스케쥴을 작성할 필요가 있었습니다.
작업중에 실수가 있어도 대부분의 작업은 복구가 가능하지만 VIF와 DXGW를 연결하는 작업은 되돌릴 수 없으니 특히나 주의가 필요합니다.

긴 글 읽어주셔서 감사합니다.
오탈자 및 피드백은 언제나 환영합니다! must01940지메일로 보내주시면 감사합니다!