EMD Blog

GCP에서 VPC Peering 시 Interconnect 비용 분리 본문

Public Cloud/GCP

GCP에서 VPC Peering 시 Interconnect 비용 분리

EmaDam 2022. 11. 11. 09:47

개요

 온프레미스와 클라우드 간의 전용선을 구축하는 것은 상당히 많은 시간이 소요된다. 신규 증설 같은 경우는 최소 2주 이상은 소요되는 경우가 많은데, 이 때문에 시간을 넉넉하게 잡고 전용선 증설을 하는 것이 좋다. 하지만 전용선 증설에는 각 부서간의 합의와 업체간의 계약이 이루어져야 하기 때문에 시간을 맞추지 못해 곤란해지는 상황이 종종 발생하기도 한다. 

 

 만약 시간을 제대로 맞추지 못해 전용선 증설 일정이 틀어질 것 같다면 어떻게 해야할까? VPN 같은 것을 사용할 수도 있고 사내 정책에 따라 임시로 공인 IP를 매핑해 작업을 이어나갈 수 있을 것이다. 하지만 이런 상황도 힘들다고 하면 다른 전용선을 빌려쓰는 방법도 고려해볼 수 있다. 

 

 전용선을 빌려쓰는 방법은 두 가지를 고려할 수 있다.

1. 신규 VLAN 생성

2.  VLAN이 구성되어 있는 프로젝트에 VPC Peering 

 

 이번 포스팅에서는 2번 방법으로 진행했을 때 Interconnect 사용 비용을 분리하는 방법에 대해 정리한다. 한 가지 사례에 대한 정리지만 다른 사례에서도 참고 가능할 것이다.

(Interconnect 방식은 Partner Interconnect)

 

구성

VPC Peering으로 Interconnect를 빌려쓴다고 하면 아래와 같은 모양새가 된다. 

IDC < (전용선) > Partner 업체 < (전용선) > Project A VPC < (peering) > Project B VPC

(Partner Interconnect 구성 방식은 이 문서 참고)

 

비용 항목 체크

 대부분의 리소스는 각 프로젝트에 비용이 청구될 것이기 때문에 순수하게 네트워크 비용만 체크하면 된다. 또한 Peering된 두 프로젝트간 트래픽은 발생하지 않을 것이기 때문에 이에 대한 트래픽 비용도 체크할 필요가 없으며 발생한다고 해도 각 프로젝트에 청구되기 때문에 문제가 되지는 않는다. (참고로 내부 주소로 통신할 경우 같은 zone에 위치한다면 비용이 발생하지 않는다.)

 

 따라서 Partner Interconnect 부분에 대한 비용만 살펴보면 되며, 이에 대한 비용은 아래와 같은 항목들이 있다. 

[고정비용]

- Interconnect 계약금 : 회사와 Partner 업체간 계약하는 회선 비용으로 실제 사용량에 따라 청구되는 것이 아니기 때문에 신경쓸 필요는 없다. 만약 빌려쓴 것 때문에 용량이 초과될 것 같다면 미리 확인해서 비용을 나눌 수 있을 지 확인해볼 필요가 있다. (부서간 협의 필요)

- Partner Interconnect 비용 : 사전에 연결 용량을 지정하고 고정된 비용을 지불하는 방식이라 이 부분도 부서간 협의를 통해 분리할 수 있다. 기존에 설정된 용량이 넉넉하다면 따로 협의를 하지 않아도 되겠지만 초과될 것 같다면 부서간 협의가 필요하다. 

 

위 두 비용은 사용량에 대비한 비용을 지불하는 것이 아닌 사전에 지정한 용량에 대한 고정비용을 지불하는 것이기 때문에 비용 산정이 문제가 되지 않는다. 비용 산정보다는 부서간 협의의 문제가 큰 항목들인데, 예를 들어서 기존에 10Gbps로 사용하다가 Peering으로 인해 20Gbps로 변경해야한다고 하면 두 비용의 차액만큼만 지불하겠다고 협의하면 되는 것이다. 

 

[변동비용]

- Interconnect Egress 비용 : 사실상 가장 문제가 되는 비용이다. Interconnect Egress 비용은 VPC 트래픽과 다르게 VLAN을 소유한 프로젝트에 모든 비용이 청구되며 빌링페이지에서도 분리해서 확인 할 수 없다.

 

위 내용을 종합하면 결국 구해야하는 비용은 Project B VPC에서 출발하는 Interconnect Egress 트래픽이다. (인그레스는 무료)

(참고 : https://cloud.google.com/network-connectivity/docs/interconnect/pricing#vpc-peering-intercontinental)

 

비용 계산

 Interconnect Egress 비용은 빌링페이지에서 Cloud Interconnect - Egress traffic Asia Pacific SKU로 확인할 수 있다(Asia 리전의 경우). 

하지만 위에서 언급한 것처럼 이 비용은 프로젝트 단위로 분리해서 확인이 불가능하다(GCP 기술팀에서도 분리는 불가능하다고 답변 해주셨다). 따라서 모니터링 측정 지표를 통해 트래픽양을 직접 계산하고 비용을 산정하는 방법밖에 없다. 

 

그렇다면 어떤 지표를 확인해야 할까? GCP는 활성화된 측정지표를 표시해주기 때문에 활성화된 측정 지표 중 Interconnect Egress와 관련된 측정 지표만 추리면 된다. (VLAN을 소유한 프로젝트에서 확인)

1. interconnect_attachment/egress_bytes_count

2. network/attachment/sent_bytes_count

확인해본 결과 위와 같이 두 개의 지표를 확인할 수 있었다. 두 지표는 이름이 비슷하고 설명도 비슷하며, 측정 값도 비슷하다. 이에 대해 GCP에 두 항목간 차이점을 문의했는데 GCP에서도 확인은 안되는 모양이다. 

 

하지만 중요한 점은 두 항목중 1번 항목만 외부 프로젝트 트래픽을 분리해서 확인할 수 있다. 확인 방법은 Filter에 local_project_number로 LOCAL_IS_EXTERNAL_PROJECT를 지정해서 확인하면 된다. 

 

그럼 전체 트래픽 양을 확인해보자. 참고로 측정항목은 45일 동안만 보관되기 때문에 비용 정산일이 좀 늦을 것 같으면 미리 비용을 산정해두는 것이 좋다. 

측정항목에서 아래 항목을 선택한다, (interconnect_attachment/egress_bytes_count)

Filter에는 local_project_number로 LOCAL_IS_EXTERNAL_PROJECT를 지정한다.

Group 설정은 따로 필요없고 Aggregator만 sum으로 바꿔준 뒤 period를 원하는 기간 만큼 지정해준다. 본인의 경우 9월 분의 트래픽 양을 측정해야했고 9월은 30일까지 있기 때문에 Period를 30일로 지정했다. 

마지막으로 아래처럼 날짜를 지정한다.

 

이렇게 하면 화면 우측에 트래픽 양이 출력되는 것을 볼 수 있다. 이 값을 아래 표를 확인해 계산해주면 된다.

 

가격 책정  |  Cloud Interconnect  |  Google Cloud

이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 의견 보내기 가격 책정 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 이 문서는 Cloud Int

cloud.google.com

 

참고로 VLAN을 소유하지 않은 프로젝트(이 예시에서는 Project B)에서 Interconnect Egress 트래픽을 측정할 수 있는 방법이 있다.  interconnect_attachment/vm/egress_bytes_count 측정지표를 확인하는 방법인데, 위의 interconnect_attachment/egress_bytes_count 측정항목과 같은 값임을 GCP에서 확인해 주셨다. 사실 값이 약간 다르게 측정되긴 하는데 아무래도 지표가 따로 측정되기 때문인 것 같다. (왜 값이 다른지는 구글에서도 모르겠다고 하심)

상황에 따라서 이 지표를 사용해 프로젝트별 Egress를 계산할 수 있으니 참고.

 

정리

결론만 얘기하면 interconnect_attachment/egress_bytes_count 지표를 원하는 기간에 맞춰 합을 구한 뒤 비용을 계산해주면 된다.

 결론만 보면 간단한 내용이지만 중요한 것은 근거이기 때문에 이 값이 정말 맞는 값인지 확인하는데만 한달 가까이가 소요되었고 만은 GCP 관계자들분들이 도움을 주시고 계산을 검토해주셨다. 

 

 실제로 위 측정항목 전체에 대한 비용(필터링 없이)과 실제 SKU로 측정된 실제 비용을 비교하면 차이가 있음을 확인할 수 있다. 실제 비용 계산에 사용되는 측정항목은 모니터링 측정항목과 따로 수집되기 때문인데, 이 때문에 모니터링으로 수집한 측정항목이 실제 비용 계산에 사용되는 측정항목과 깊은 연관이 있을 것처럼 보이더라도 실제 계산시 차이가 발생할 수 있다. 

 

 따라서 위에서 측정한 결과 값은 근사값일 뿐이며, 비용 산정에 대한 근거와 부서, 혹은 클라이언트와의 합의가 훨씬 중요하다. 

아래 내용은 실제로 근거자료로 정리했던 내용인데 참고가 되었으면 한다.

 

=====================

- 비용 모니터링에서는 비용 분리방안을 제공해주지 않음

- 직접 비용을 측정하는 방법

  - B Project의 모니터링 측정항목에서 Interconnect를 통해 나가는 Egress 트래픽 양을 측정해 비용계산

  - 비용 계산식은 위에서 측정된 트래픽을 GB당 0.042$로 곱해주면 된다.

     ㄴ 근거 : https://cloud.google.com/network-connectivity/docs/interconnect/pricing#egress-traffic-from-a-vpc-network-through-an-interconnect-connection_1

  - 위에서 계산한 값들을 비용 모니터링의 SKU 중 [Cloud Interconnect - Egress traffic Asia Pacific] 항목 비용에서 제외 시킨다.  

     ㄴ 근거 : https://cloud.google.com/network-connectivity/docs/interconnect/pricing#vpc-peering-intercontinental

- 비용 측정에 대한 근거

  - GCP는 같은 Zone 또는 Ingress 트래픽에 대해 비용을 부과하지 않는다.

    ㄴ 참고 : https://cloud.google.com/vpc/network-pricing?hl=ko#all-networking-pricing > 인그레스 가격 책정

    ㄴ 참고 : https://cloud.google.com/vpc/network-pricing?hl=ko#all-networking-pricing > Virtual Private Cloud > Google Cloud 내 VM 간 이그레스 가격 책정

  - Interconnect 비용 자체는 트래픽 양에 상관없이 고정이다. (Project B에서 사용한 것을 따로 계산할 필요 없음.)

    ㄴ 참고 : https://cloud.google.com/network-connectivity/docs/interconnect/pricing#partner-interconnect-pricing  

  - Interconnect Egress 비용은 Attachment가 위치한 프로젝트에서 비용이 합산 청구 된다.

    ㄴ 참고 : https://cloud.google.com/network-connectivity/docs/interconnect/pricing#partner-pricing  

  - 프로젝트에서 인터커넥트를 통해 Egress되는 트래픽 양을 측정할 수 있다.

    ㄴ 참고 : https://cloud.google.com/network-connectivity/docs/interconnect/pricing#vpc-peering-intercontinental    

    ㄴ 참고 : https://cloud.google.com/monitoring/api/metrics_gcp?hl=ko#gcp-networking  >  interconnect_attachment/vm/egress_bytes_count

- 결론

  - B Project에 의해 Project A에 발생한 9월분 비용 총합은

    ㄴ 00GB X 0.042$ = 0.00$ = 00원 (소수점 버림)

    ㄴ 환율은 비용이 확정되는 10월 5일 기준으로 하였음.

    ㄴ 위 비용은 전부 [Cloud Interconnect - Egress traffic Asia Pacific] SKU 비용임.

    ㄴ 다른 SKU 비용은 발생하지 않음. [비용 측정에 대한 근거] 참고.