프라이빗링크란 무엇인가요?
프라이빗링크는 클라우드 서비스와 가상 네트워크를 비공개로 연결할 수 있는 네트워킹 서비스입니다. 이 연결은 사용자의 데이터를 공용 인터넷에 노출하지 않고 이루어지며, 네트워크 트래픽을 클라우드 제공업체의 네트워크 내에 유지하여 보안을 강화합니다. 프라이빗 링크를 활용하면 클라우드 리소스에 더욱 안전하고 안정적으로 액세스하여 외부 위협의 위험을 최소화하고 클라우드 제공업체의 네트워크 내부에 트래픽을 유지함으로써 대기 시간을 줄일 수 있습니다.
프라이빗링크는 단방향 통신을 촉진하여 트래픽이 한 방향으로만 흐르도록 함으로써 네트워크 연결의 보안을 강화합니다. 이러한 설계는 무단 액세스 및 데이터 유출을 방지하여 클라우드 네트워킹에 PrivateLink를 사용할 때의 보안 이점을 더욱 공고히 합니다.
참고: XDCR은 현재 프라이빗링크와 호환되지 않습니다.
1부 - Azure CLI 설치
-
- 터미널을 열고 Azure CLI 설치 명령을 사용하여 이 링크에서 Mac 및 Windows용:
brew update && brew install azure-cli # 명령(MacOS용)
- 터미널을 열고 Azure CLI 설치 명령을 사용하여 이 링크에서 Mac 및 Windows용:
2부 - Azure Cloud에서 리소스 그룹, 가상 네트워크 및 서브넷 만들기
-
- 회원님의 Azure 홈 페이지
- 터미널을 통해 아래 코드를 사용하여 Azure 계정에 로그인합니다:
az 로그인
123456789101112131415161718192021222324252627282930313233(base) 니샨트.bhatia@JGWXHT4VFM ~ % az 로그인A 웹 브라우저 has been 열린 에서 https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize. 웹 브라우저에서 로그인을 계속하세요. 웹 브라우저를 사용할 수 없거나 웹 브라우저가 열리지 않으면 `az 로그인 --사용-장치-코드`를 사용하여 장치 코드 흐름을 사용하세요.[{"cloudName": "AzureCloud","homeTenantId": "897b2d61-f537-4fde-bc07-520be26839d8","id": "2192c0ac-2205-4be3-86bf-619230e53f35","isDefault": true,"managedByTenants": [],"name": "240 - SE EMEA","state": "사용","tenantId": "897b2d61-f537-4fde-bc07-520be26839d8","user": {"name": "nishant.bhatia@couchbase.com","type": "user"}},{"cloudName": "AzureCloud","homeTenantId": "4848c000-7611-4f22-84a4-165f8b43c829","id": "c7416817-fbcc-44bc-aaba-95e733cef88d","isDefault": false,"managedByTenants": [],"name": "240 - SE 테스트 구독","state": "사용","tenantId": "4848c000-7611-4f22-84a4-165f8b43c829","user": {"name": "nishant.bhatia@couchbase.com","type": "user"}}]
- Azure에서 새 리소스 그룹을 만듭니다. 이름을 바꿉니다. 프라이빗 링크 및 위치 eastus 를 원하는 대로 입력합니다.
참고: 이 작업은 Azure UI를 통해 수행할 수도 있지만, Azure CLI로 만드는 것이 훨씬 더 깔끔합니다:-
az 그룹 만들기 --이름 프라이빗링크카저 --위치 이스투스
12345678910111213(base) 니샨트.bhatia@JGWXHT4VFM ~ % az 그룹 create --이름 프라이빗 링크 --위치 eastus{"id": "/subscriptions/2192c0ac-2205-4be3-86bf-619230e53f35/resourceGroups/privatelinkazure","위치": "eastus","managedBy": null,"name": "privatelinkazure","속성": {"프로비저닝 상태": "성공"},"태그": null,"type": "Microsoft.Resources/resourceGroups"}
-
- 그룹이 생성되었는지 확인합니다:
-
az 그룹 목록 -출력 테이블
123456789101112131415161718192021222324(base) 니샨트.bhatia@JGWXHT4VFM ~ % az 그룹 목록 --출력 테이블이름 위치 상태----------------------------------------- ------------------ ---------기본 리소스 그룹-SUK uksouth 성공아론스 리소스 eastus 성공RoisResourceGroup eastus 성공MC_로이스 리소스 그룹_로이AKS클러스터_eastus eastus 성공파이썬 벤치마크_그룹 eastus 성공NetworkWatcherRG eastus 성공클라우드-shell-스토리지-eastus eastus 성공내자원그룹 eastus 성공se-ceur-젠하이저-1_group eastus 성공니샨츠그룹 eastus 성공클라우드-shell-스토리지-westus westus 성공허쉬그룹 독일서부중앙 성공기본 리소스 그룹-DEWC 독일서부중앙 성공프라이빗 링크 eastus 성공adamclevy 스위스 북부 성공AIshaqRG uksouth 성공Karthiksrgp uksouth 성공RichardDouglas uksouth 성공에어로스파이크바이오캐치_그룹 북유럽 성공클라우드-shell-스토리지-서유럽 서유럽 성공
-
- 다음 단계는 가상 네트워크 및 서브넷 방금 만든 리소스 그룹에 있습니다.
교체 plvirtualnetwork, 기본값 에 원하는 이름을 입력합니다. 주소는 다음 주소로 유지할 수 있습니다. 10.0.0.0/16 그리고 10.0.0.0/24:-
az network vnet create --name PLVIRTUALNETWORK --resource-group privatelinkazure --location eastus --address-p 접두사 10.0.0.0/16 --subnet-name default --subnet-p 접두사 10.0.0.0/24
1234567891011121314151617181920212223242526272829303132333435(base) 니샨트.bhatia@JGWXHT4VFM ~ % az 네트워크 vnet create --이름 plvirtualnetwork --리소스-그룹 프라이빗 링크 --위치 eastus --주소-접두사 10.0.0.0/16 --서브넷-이름 기본값 --서브넷-접두사 10.0.0.0/24{"newVNet": {"addressSpace": {"주소 접두사": ["10.0.0.0/16"]},"enableDdosProtection": false,"etag": "W/\"41972493-3e9e-4dd1-88ac-6bab0fe2e9e6\"","id": "/subscriptions/2192c0ac-2205-4be3-86bf-619230e53f35/resourceGroups/privatelinkazure/providers/Microsoft.Network/virtualNetworks/PLVIRTUALNETWORK","위치": "eastus","name": "plvirtualnetwork","프로비저닝 상태": "성공","resourceGroup": "privatelinkazure","resourceGuid": "89b24aec-cd5a-4ca7-a92e-912b8a9c10f8","서브넷": [{"주소 접두사": "10.0.0.0/24","대표단": [],"etag": "W/\"41972493-3e9e-4dd1-88ac-6bab0fe2e9e6\"","id": "/구독/2192c0ac-2205-4be3-86bf-619230e53f35/자원 그룹/프라이빗링크카저/공급자/마이크로소프트.네트워크/가상 네트워크/PLVIRTUAL네트워크/서브넷/default","name": "default","privateEndpointNetworkPolicies": "Disabled","privateLink서비스네트워크정책": "사용","프로비저닝 상태": "성공","resourceGroup": "privatelinkazure","type": "Microsoft.Network/virtualNetworks/subnets"}],"type": "Microsoft.Network/virtualNetworks","가상 네트워크 피어싱": []}}
-
파트 3: 아카펠라 구성
-
- 카펠라에 로그인 회사 이메일과 자격 증명으로 로그인하세요.
- 프로젝트 내에서 다음 구성으로 데이터베이스를 만듭니다:
- 데이터베이스가 건강를 배포하고 여행 샘플 버킷:
4부: 비공개 엔드포인트 사용
-
- Capella 데이터베이스에서 설정 페이지를 열고 다음 항목으로 이동합니다. 비공개 엔드포인트 를 클릭하고 비공개 엔드포인트 사용.
- 비공개 엔드포인트를 활성화하는 데 보통 10분 정도 걸립니다.
- 준비가 완료되면 이제 Capella UI에서 프라이빗 엔드포인트 DNS를 사용할 수 있는 것을 볼 수 있습니다. 또한 이 옵션을 사용하지 않도록 설정할 때까지 이 데이터베이스에 대한 Azure 프라이빗 엔드포인트에 대해 시간당 요금이 청구된다는 점에 유의하세요.
- 클릭 비공개 엔드포인트 추가. 앞서 생성한 리소스 그룹 이름과 서브넷 이름을 추가합니다. 이 경우 리소스 그룹은 프라이빗 링크가상 네트워크는 다음과 같습니다. plvirtualnetwork 서브넷 이름은 기본값. 위의 2부를 참조하세요.
- 스크립트를 다운로드하고 메모장++ 또는 숭고한 텍스트에서 엽니다.
- 리소스 그룹, 가상 네트워크 및 서브넷을 만든 곳에서 Azure 터미널을 다시 엽니다.
- 다운로드한 셸 스크립트에서 처음 세 명령어부터 실행합니다:
- 비공개 엔드포인트를 만듭니다:
az 네트워크 프라이빗 엔드포인트 만들기 -g privatelinkazure -n pl-7330b162-12a1-4695-9317-2ecae322690b --vnet-name PLVIRTUALNETWORK --subnet default --private-connection-resource-id 'pl-4e207316-42c5-4561-920e-d044dd57f771.e520e4d0-fd92-440e-9a82-eabd3562761c.eastus.azure.privatelinkservice' --connection-name pl-7330b162-12a1-4695-9317-2ecae322690b -l eastus --manual-request true
- 비공개 엔드포인트를 만듭니다:
- Capella 데이터베이스에서 설정 페이지를 열고 다음 항목으로 이동합니다. 비공개 엔드포인트 를 클릭하고 비공개 엔드포인트 사용.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
(base) 니샨트.bhatia@JGWXHT4VFM ~ % az 네트워크 비공개-엔드포인트 create -g 프라이빗 링크 -n pl-7330b162-12a1-4695-9317-2ecae322690b --vnet-이름 plvirtualnetwork --서브넷 기본값 --비공개-연결-리소스-id 'pl-4e207316-42c5-4561-920e-d044dd57f771.e520e4d0-fd92-440e-9a82-eabd3562761c.eastus.azure.privatelinkservice' --연결-이름 pl-7330b162-12a1-4695-9317-2ecae322690b -l eastus --매뉴얼-요청 true { "customDnsConfigs": [], "사용자 지정 네트워크 인터페이스 이름": "", "etag": "W/\"465e5e06-5340-4aa9-a5c6-c3fa51c4a51a\"", "id": "/subscriptions/2192c0ac-2205-4be3-86bf-619230e53f35/resourceGroups/privatelinkazure/providers/Microsoft.Network/privateEndpoints/pl-7330b162-12a1-4695-9317-2ecae322690b", "ipConfigurations": [], "위치": "eastus", "수동 프라이빗 링크 서비스 연결": [ { "etag": "W/\"465e5e06-5340-4aa9-a5c6-c3fa51c4a51a\"", "id": "/subscriptions/2192c0ac-2205-4be3-86bf-619230e53f35/resourceGroups/privatelinkazure/providers/Microsoft.Network/privateEndpoints/pl-7330b162-12a1-4695-9317-2ecae322690b/manualPrivateLinkServiceConnections/pl-7330b162-12a1-4695-9317-2ecae322690b", "name": "pl-7330b162-12a1-4695-9317-2ecae322690b", "privateLink서비스연결상태": { "actionsRequired": "없음", "설명": "승인 대기 중", "status": "보류 중" }, "privateLinkServiceId": "pl-4e207316-42c5-4561-920e-d044dd57f771.e520e4d0-fd92-440e-9a82-eabd3562761c.eastus.azure.privatelinkservice", "프로비저닝 상태": "성공", "resourceGroup": "privatelinkazure", "type": "Microsoft.Network/privateEndpoints/manualPrivateLinkServiceConnections" } ], "name": "pl-7330b162-12a1-4695-9317-2ecae322690b", "네트워크 인터페이스": [ { "id": "/subscriptions/2192c0ac-2205-4be3-86bf-619230e53f35/resourceGroups/privatelinkazure/providers/Microsoft.Network/networkInterfaces/pl-7330b162-12a1-4695-9317-2ecae322690b.nic.9cdf1d1d-ad92-4a2a-8391-1396c4f4701a", "resourceGroup": "privatelinkazure" } ], "privateLinkServiceConnections": [], "프로비저닝 상태": "성공", "resourceGroup": "privatelinkazure", "subnet": { "id": "/구독/2192c0ac-2205-4be3-86bf-619230e53f35/자원 그룹/프라이빗링크카저/공급자/마이크로소프트.네트워크/가상 네트워크/PLVIRTUAL네트워크/서브넷/default", "resourceGroup": "privatelinkazure" }, "type": "Microsoft.Network/privateEndpoints" } |
-
- DNS 영역을 만듭니다:
az 네트워크 private-dns 영역 만들기 -g privatelinkazure -n private-endpoint.wqdxhcxm9lcue9g.cloud.couchbase.com
- DNS 영역을 만듭니다:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
(base) 니샨트.bhatia@JGWXHT4VFM ~ % az 네트워크 비공개-dns 영역 create -g 프라이빗 링크 -n 비공개-엔드포인트.wqdxhcxm9lcue9g.클라우드.카우치베이스.com { "etag": "8af683b0-e5a6-4abe-a6bf-94ee0261c33b", "id": "/subscriptions/2192c0ac-2205-4be3-86bf-619230e53f35/resourceGroups/privatelinkazure/providers/Microsoft.Network/privateDnsZones/private-endpoint.wqdxhcxm9lcue9g.cloud.couchbase.com", "위치": "글로벌", "maxNumberOfRecordSets": 25000, "최대 가상 네트워크 링크 수": 1000, "최대 가상 네트워크 링크 수 등록": 100, "name": "private-endpoint.wqdxhcxm9lcue9g.cloud.couchbase.com", "numberOfRecordSets": 1, "numberOfVirtualNetworkLinks": 0, "numberOfVirtualNetworkLinksWithRegistration": 0, "프로비저닝 상태": "성공", "resourceGroup": "privatelinkazure", "type": "Microsoft.Network/privateDnsZones" } |
-
- DNS 영역 연결:
az 네트워크 프라이빗-디엔에스 링크 vnet 생성 -g 프라이빗링크아저씨 -n dnslink-4e207316-42c5-4561-920e-d044dd57f771 -z 프라이빗-엔드포인트.wqdxhcxm9lcue9g.cloud.couchbase.com -v PLVIRTUALNETWORK -e False
- DNS 영역 연결:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
(base) 니샨트.bhatia@JGWXHT4VFM ~ % az 네트워크 비공개-dns 링크 vnet create -g 프라이빗 링크 -n dnslink-4e207316-42c5-4561-920e-d044dd57f771 -z 비공개-엔드포인트.wqdxhcxm9lcue9g.클라우드.카우치베이스.com -v plvirtualnetwork -e False { "etag": "\"540b14b1-0000-0100-0000-65983fc10000\"", "id": "/구독/2192c0ac-2205-4be3-86bf-619230e53f35/자원 그룹/프라이빗링크카저/공급자/마이크로소프트.네트워크/privateDnsZones/private-endpoint.wqdxhcxm9lcue9g.cloud.couchbase.com/virtualNetworkLinks/dnslink-4e207316-42c5-4561-920e-d044dd57f771", "위치": "글로벌", "name": "dnslink-4e207316-42c5-4561-920e-d044dd57f771", "프로비저닝 상태": "성공", "등록 사용": false, "resourceGroup": "privatelinkazure", "type": "Microsoft.Network/privateDnsZones/virtualNetworkLinks", "가상 네트워크": { "id": "/subscriptions/2192c0ac-2205-4be3-86bf-619230e53f35/resourceGroups/privatelinkazure/providers/Microsoft.Network/virtualNetworks/PLVIRTUALNETWORK", "resourceGroup": "privatelinkazure" }, "가상 네트워크 링크 상태": "완료" } |
4부: 보류 중인 연결 수락 및 엔드포인트 확인
-
- 다시 Capella UI로 이동하여 대기 중인 연결을 수락합니다. 연결이 설정되면 다음과 같은 메시지가 표시됩니다. 연결된 상태.
- Capella UI의 인터페이스 엔드포인트를 메모장에 복사하여 붙여넣습니다. 이 경우
pl-7330b162-12a1-4695-9317-2ecae322690b.ef04ba0b-7b81-4404-8db2-01b3f116dfa3
- 아래 코드에서 마침표 "."까지 인터페이스 엔드포인트를 사용자 엔드포인트로 바꿉니다:
pl-7330b162-12a1-4695-9317-2ecae322690b
az 네트워크 프라이빗 엔드포인트 표시 --이름 pl-7330b162-12A1-4695-9317-2ecae322690b --자원 그룹 프라이빗 링크아저씨
- 다시 Capella UI로 이동하여 대기 중인 연결을 수락합니다. 연결이 설정되면 다음과 같은 메시지가 표시됩니다. 연결된 상태.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
(base) 니샨트.bhatia@JGWXHT4VFM ~ % az 네트워크 비공개-엔드포인트 show --이름 pl-7330b162-12a1-4695-9317-2ecae322690b --리소스-그룹 프라이빗 링크 { "customDnsConfigs": [], "사용자 지정 네트워크 인터페이스 이름": "", "etag": "W/\"0b317ee7-e04e-4255-aa0c-b58ccd8fc5ff\"", "id": "/subscriptions/2192c0ac-2205-4be3-86bf-619230e53f35/resourceGroups/privatelinkazure/providers/Microsoft.Network/privateEndpoints/pl-7330b162-12a1-4695-9317-2ecae322690b", "ipConfigurations": [], "위치": "eastus", "수동 프라이빗 링크 서비스 연결": [ { "etag": "W/\"0b317ee7-e04e-4255-aa0c-b58ccd8fc5ff\"", "id": "/subscriptions/2192c0ac-2205-4be3-86bf-619230e53f35/resourceGroups/privatelinkazure/providers/Microsoft.Network/privateEndpoints/pl-7330b162-12a1-4695-9317-2ecae322690b/manualPrivateLinkServiceConnections/pl-7330b162-12a1-4695-9317-2ecae322690b", "name": "pl-7330b162-12a1-4695-9317-2ecae322690b", "privateLink서비스연결상태": { "actionsRequired": "", "설명": "", "status": "승인됨" }, "privateLinkServiceId": "pl-4e207316-42c5-4561-920e-d044dd57f771.e520e4d0-fd92-440e-9a82-eabd3562761c.eastus.azure.privatelinkservice", "프로비저닝 상태": "성공", "resourceGroup": "privatelinkazure", "type": "Microsoft.Network/privateEndpoints/manualPrivateLinkServiceConnections" } ], "name": "pl-7330b162-12a1-4695-9317-2ecae322690b", "네트워크 인터페이스": [ { "id": "/subscriptions/2192c0ac-2205-4be3-86bf-619230e53f35/resourceGroups/privatelinkazure/providers/Microsoft.Network/networkInterfaces/pl-7330b162-12a1-4695-9317-2ecae322690b.nic.9cdf1d1d-ad92-4a2a-8391-1396c4f4701a", "resourceGroup": "privatelinkazure" } ], "privateLinkServiceConnections": [], "프로비저닝 상태": "성공", "resourceGroup": "privatelinkazure", "subnet": { "id": "/구독/2192c0ac-2205-4be3-86bf-619230e53f35/자원 그룹/프라이빗링크카저/공급자/마이크로소프트.네트워크/가상 네트워크/PLVIRTUAL네트워크/서브넷/default", "resourceGroup": "privatelinkazure" }, "type": "Microsoft.Network/privateEndpoints" } |
이제 비공개 링크를 사용하여 Azure VPC와 카우치베이스 카펠라 간에 비공개 연결을 설정했습니다!
결론
Azure 프라이빗 링크는 Couchbase Capella에 연결하는 안전하고 효율적인 방법을 제공하여 트래픽을 Microsoft의 프라이빗 네트워크 내에 유지함으로써 데이터를 외부 위협으로부터 보호합니다. 이 설정을 사용하면 공용 인터넷에 노출되지 않으므로 공격 표면이 크게 줄어듭니다. Azure Private Link는 단방향 통신만 제공하므로 데이터가 리소스에서 Couchbase Capella로 역방향 경로 없이 안전하게 흐르도록 보장합니다. 또한 Azure Private Link는 Microsoft의 글로벌 백본 네트워크를 활용하여 지연 시간이 짧고 안정적인 연결을 제공하는 일관된 네트워크 성능을 제공합니다. 따라서 Azure Private Link는 클라우드에서 안전하고 성능이 우수한 데이터베이스 운영을 위한 필수 구성 요소입니다.
문서