CSM API를 사용하여 VPC 또는 VNet 간에 VPN 설정을 자동화할 수 있습니다.
온-프레미스 끝점에서 VPN을 설정할 때는 CSM API를 사용할 수 없습니다.
- VPN 터널에 대한 두 끝점은 모두 PCG가 배포된 공용 클라우드에 있어야 하며 실행 중 또는
up
상태여야 합니다.
다음 엔티티는 CSM API를 사용하여 구성됩니다. 이러한 API를 사용하여 VPN 설정을 구성 해제할 수도 있습니다.
태그를 지원하는 NSX 엔티티의 경우 API는 새 VPN 세션 ID(예: CsmVpnSessionId:<csm-vpn-session-id-new>
)로 태그를 적용하여 이전에 생성된 엔티티를 재사용합니다.
-
각 소스 및 대상 끝점의 경우:
-
IPSec VPN 서비스가 구성되어 있습니다(
cloud-vpn-service-<vpc/vnet-id>
로 명명). -
BGP 라우팅이 구성되어 있습니다(
cloud-routing-config-<vpc/vnet-id>
로 명명). BGP를 아직 사용하도록 설정하지 않은 경우 API에서 사용하도록 설정하고55555.<1-64999>
형식으로 AS 번호를 할당합니다.
-
-
소스 및 대상 끝점에 있는 각 PCG의 경우:
-
BGP 경로 재분산은 Tier-0 고정 경로 및 Tier-1 연결된 세그먼트에 대해 사용하도록 설정됩니다.
-
공용 IP는 PCG의 업링크 인터페이스에 할당되고 PCG의 업링크 인터페이스에 있는 VPN-보조 개인 IP에 연결됩니다.
-
이름이
cloud-vpn-local-endpoint-<gateway-id>-<preferred/non-preferred>
인 IPSec VPN 로컬 끝점이 생성됩니다.
-
-
소스 및 대상 끝점 사이에 있는 각 PCG 조합의 경우:
-
이름이
<csm-vpn-session-id>-<Preferred/non-preferred>To<Preferred/non-preferred>-<hash-from-source-and-destination-PCG-ids>
인 경로 기반 IPsec VPN 세션이 생성됩니다. -
구성된 각 IPSec VPN 세션에 대해 BGP 인접 네트워크가 Tier-0 게이트웨이에 추가됩니다.
-
VPN 세션 구성/업데이트
- 새 VPN 세션을 구성하려면 다음을 수행합니다.
-
GET /api/v1/csm/vpn/endpoints
-
POST /api/v1/csm/vpn/session Example Request: POST https://<nsx-csm>/api/v1/csm/vpn/sessions { "display_name": "aws azure session 01", "source_endpoint": { "id": "vpc-12345678", "display_name": "vpc test", "endpoint_type": "AWS" }, "destination_endpoint": { "id": "d02af61a-e212-486e-b6c8-10462ccfbad6", "display_name": "vnet-01", "endpoint_type": "AZURE" } }
-
- 기존 VPN 세션의 표시 이름을 업데이트하려면 다음을 수행합니다.
PUT /api/v1/csm/vpn/sessions/<session-id> Example Request: PUT https://<nsx-csm>/api/v1/csm/vpn/sessions/9174ffd1-41b1-42d6-a28d-05c61a0698e2 { "display_name": "New VPN session", "source_endpoint": { "id": "vpc-12345678", "display_name": "vpc test", "endpoint_type": "AWS" }, "destination_endpoint": { "id": "d02af61a-e212-486e-b6c8-10462ccfbad6", "display_name": "vnet-01", "endpoint_type": "AZURE" } }
기존 VPN 세션의 상태 가져오기
- 모든 세션 상태를 가져오려면 다음을 수행합니다.
GET /api/v1/csm/vpn/sessions/status
- 세션 ID를 제공하여 특정 세션의 상태를 가져오려면 다음을 수행합니다.
GET /api/v1/csm/vpn/sessions/<session-id>/status
세션 삭제
DELETE /api/v1/csm/vpn/sessions/<session-id>
문제 해결
- 특정 세션 ID에 대한 상태를 가져옵니다.
GET /api/v1/csm/vpn/sessions/<session-id>/status
- 응답의 장애 지점을 볼 수 있습니다. 오류를 해결하기 위해 필요한 사항을 변경합니다.
- API 호출을 사용하여 동일한 세션 ID에 대해 나머지 엔티티를 재생성합니다.
POST /api/v1/csm/vpn/sessions/<session-id>?action=recreate
API에 대한 자세한 내용은 https://code.vmware.com/에서 최신 버전의 "NSX REST API 가이드" 를 참조하십시오.