AWS Direct Connect 정리

신동수·2024년 9월 5일
0

AWS

목록 보기
22/26

개요

  • Direct Connect 는 쉽게 다룰 수 없고, 참고할 수 있는 내용이 많이 없기에 추후 DX 를 고려하고 있다면 본 포스팅을 참고하여 DX 구축 시 도움을 주고자 한다.

연결


AWS 의 경우 연결을 생성을 한다고 해서 실제로 접점이 생기지 않는다. KINX 를 예시로 계정정보계약정보를 KINX 에 전달후에 상태가 "odering" 으로 바뀌게 된다면 수락을 하여 활성화 할 수 있다.
참고로 DX 를 구축할 때는 연결을 가장 먼저 생성해야 한다. 연결이 생성되지 않았다면 다음 과정들을 진행할 수 없다.

연결 종류
Dedicated 방식

  • 속도 : 1 ~ 100Gbps
  • 사용자 장비와 AWS 장비 직접 연결
  • 사용자측에서 직접 Connect 생성 후 APN 에 전달

Hosted 방식

  • 속도 50M ~ 10Gbps
  • 사용자 장비와 APN 파트너 장비 연결
  • APN 파트너사에서 Account 에 Connect 생성

DX 게이트웨이


TGW 에 DX Gateway를 연결할 것으로 Transit Virtual Interface(가상 인터페이스) 를 만들어야 한다. 이전에 DX 게이트웨이를 만들어야 한다.
연결은 외부와 연결되는 접점이라면, Gateway는 VPC와 접점을 만드는 것이다.
참고로 DX Gateway 의 ASN 은 TGW ASN 과 다르게 지정해야 한다. (아래 에러 참고)

Error
Direct Connect Gateway and Transit Gateway cannot have the same ASN 64512

참고 : Transit Gateway와 Direct Connect ASN 넘버 문의

가상인터페이스


연결이 구성되면 실제로 AWS 리소스와의 통신을 위한 가상 인터페이스(VIF)가 필요하다.
본 포스팅은 Transit VIF 를 기준으로 작성을 하였다.
VIF는 다음과 같은 유형이 있다.

  • Public VIF : 퍼블릭 IP를 사용하여 공개적인 연결이 필요한 AWS 서비스(S3, CloudWatch, DynamoDB 등)과 통신하는데 사용된다.
  • Private VIF : DX Gateway 또는 VPC와의 통신을 위해 사용된다.
  • Transit VIF : DX Gateway에 연결된 Transit Gateway와의 통신을 위해 사용된다.



전용 회선이라는 물리적인 부분에 BGP 라는 프로토콜을 위한 네트워크 속성을 집어 넣기 위해서는 네트워크 관련 정보가 필요하다. VLAN, Serial IP 가 이에 해당한다.

용어 설명
Serial IP

  • 시리얼 IP(Serial IP)는 전용회선에서 사용하는 논리적인 IP 주소를 말한다. 전용회선은 두 지점 간의 데이터 전송을 위해 사용하는 고정된 네트워크 연결이다. 이 연결에서 양쪽 끝(A-end와 B-end) 각각에 IP 주소를 할당하여 네트워크 통신을 관리한다.
    VLAN
  • VLAN(Virtual Local Area Network)은 네트워크 상에서 물리적으로 같은 스위치에 연결된 장치들을 논리적으로 구분하여 별도의 네트워크로 사용할 수 있게 해주는 기술이다. VLAN을 사용하면 하나의 물리적 네트워크를 여러 개의 논리적 네트워크로 나눌 수 있어 네트워크 관리와 보안이 강화된다.

위와 같은데, 앞서 나온 연결과 DX 게이트웨이의 ASN 을 넣도록 되어 있다. 그리고 VLAN 을 넣어야 하는데, 이 값은 KINX 와 협의하에 넣어야 한다. 중계를 시켜주는 사업자의 물리적인 현황을 고려해야 하기 때문이다.
BGP ASN 은 가상 인터페이스에 대한 온프레미스 피어 라우터의 Border Gateway Protocol 자율 시스템 번호를 입력한다. 또한, BGP ASN 도 KINX 와 협의한 값을 넣어줘야 한다.

Transit Virtual Interface 를 생성하게 된다면 아래 예시 사진처럼 피어링은 자동으로 추가가 된다.


현재는 연결이 되어 있지 않는 상황이라 상태는 "Down" 으로 확인이 된다.
또한, 생성된 인터페이스를 선택하면 하단에 Peering 이라는 것을 추가할 수 있다.
이 Peer 라는 것이 BGP 설정정보를 추가하는 것이다.

DX 게이트웨이 연결



이곳에서 DX Gateway Associations 가 있다. 여기에서 기존에 생성된 TGW Attachment 를 하면 된다.
또한, 허용되는 접두사에는 IDC 로 라우팅정보를 재분배하는 설정이다.



DX Gateway 에서 설정이 완료되었다면 그림과 같이 인터페이스 연결게이트웨이 연결을 확인할 수 있다.

Terraform 참고

resource "aws_dx_connection" "dx-connection" {
  name      = "<dx-connection Name>"
  bandwidth = "1Gbps"
  location  = "LGKNX"
  request_macsec         = false
}

resource "aws_dx_gateway" "dx-gateway" {
  name            = "<dx-gateway Name>"
  amazon_side_asn = "64512"
}

resource "aws_dx_transit_virtual_interface" "dx-tgw-vif" {
    address_family      = "ipv4"
    bgp_asn             = <협의한 asn>
    connection_id       = aws_dx_connection.dx-connection.id
    dx_gateway_id       = aws_dx_gateway.dx-gateway.id
    name                = "<dx-tgw-vif Name>"
    vlan                = <협의한 vlan>
    customer_address    = <A-end Serial IP>
    amazon_address      = <B-end Serial IP>
    bgp_auth_key        = <Auth_Key>
}

resource "aws_dx_gateway_association" "dx-gateway-association" {
  dx_gateway_id         = aws_dx_gateway.dx-gateway.id
  associated_gateway_id = <TGW ID>

  allowed_prefixes = [
    "10.50.0.0/16",    # 광고할 AWS 네트워크 대역
    "10.51.0.0/16"
  ]
}

작성자는 Terraform 을 통해 구축을 진행하였으며, 위 코드를 통해 참고하자.

참고 :
https://sh-t.tistory.com/129
https://btcd.tistory.com/328
https://i-nara.oopy.io/eba3c9fd-dfbd-4808-8580-8da20b06982f

마무리

포스팅 작성을 통해 Direct Connect를 정리하였다. Site to Site VPN 보다 상대적으로 안정성이 높은 서비스라고 생각이 든다.
추후 더 높은 가용성과 대역폭 확보 등을 위해 링크 집계 그룹(LAG) 라는 것도 알아 두면 좋을 거 같다.

profile
조금씩 성장하는 DevOps 엔지니어가 되겠습니다. 😄

0개의 댓글