비공개 연결 엔드포인트 관리: Azure¶
이 항목에서는 외부 서비스에 대한 비공개 연결에 사용할 비공개 연결 엔드포인트를 관리하는 방법에 대한 정보를 제공합니다. 예제는 Microsoft Azure 에만 해당됩니다.
비공개 연결 엔드포인트 프로비저닝¶
SYSTEM$PROVISION_PRIVATELINK_ENDPOINT 시스템 함수를 호출하여 비공개 연결 엔드포인트를 생성할 수 있습니다. 예를 들어, Microsoft Azure 의 Snowflake 계정의 경우:
Microsoft Azure 의 Snowflake가 Microsoft Azure VNet 의 Microsoft Azure API 관리 서비스에 연결할 수 있도록 비공개 엔드포인트를 프로비저닝합니다.
SELECT SYSTEM$PROVISION_PRIVATELINK_ENDPOINT(
'/subscriptions/f4b00c5f-f6bf-41d6-806b-e1cac4f1f36f/resourceGroups/aztest1-external-function-rg/providers/Microsoft.ApiManagement/service/aztest1-external-function-api',
'aztest1-external-function-api.azure.net',
'Gateway'
);
Private endpoint with ID "/subscriptions/e48379a7-2fc4-473e-b071-f94858cc83f5/resourcegroups/test_rg/providers/microsoft.network/privateendpoints/32bd3122-bfbd-417d-8620-1a02fd68fcf8" to resource "/subscriptions/f4b00c5f-f6bf-41d6-806b-e1cac4f1f36f/resourceGroups/aztest1-external-function-rg/providers/Microsoft.ApiManagement/service/aztest1-external-function-api" has been provisioned successfully. Please note down the endpoint ID and approve the connection from it on the Azure portal.
외부 네트워크 액세스를 사용하여 Microsoft Azure 의 Snowflake가 외부 서비스에 연결할 수 있도록 비공개 엔드포인트를 프로비저닝합니다.
SELECT SYSTEM$PROVISION_PRIVATELINK_ENDPOINT(
'/subscriptions/11111111-2222-3333-4444-5555555555/resourceGroups/leorg1/providers/Microsoft.Sql/servers/myserver',
'testdb.database.windows.net',
'sqlServer'
);
"Resource Endpoint with id "/subscriptions/f0abb333-1b05-47c6-8c31-dd36d2512fd1/resourceGroups/privatelink-test/providers/Microsoft.Network/privateEndpoints/external-network-access-pe" provisioned successfully"
Snowflake가 Microsoft Azure 를 위해 외부 스테이지에 연결할 수 있도록 비공개 엔드포인트를 프로비저닝합니다.
SELECT SYSTEM$PROVISION_PRIVATELINK_ENDPOINT(
'/subscriptions/cc2909f2-ed22-4c89-8e5d-bdc40e5eac26/resourceGroups/mystorage/providers/Microsoft.Storage/storageAccounts/storagedemo',
'storagedemo.blob.core.windows.net',
'blob'
);
"Resource Endpoint with id "/subscriptions/57faea9a-20c2-4d35-b283-9c0c1e9593d8/resourceGroups/privatelink-test/providers/Microsoft.Network/privateEndpoints/external-network-access-pe" provisioned successfully"
Snowflake는 Snowflake 계정을 호스팅하는 클라우드 플랫폼의 APIs를 호출하여 엔드포인트를 생성하고 관련 네트워킹 구성을 업데이트합니다.
비공개 연결 엔드포인트의 호스트 이름 변경하기¶
네트워크 리소스를 변경하지 않고 이전에 프로비저닝된 비공개 연결 엔드포인트의 호스트 이름만 변경할 수 있습니다. 엔드포인트의 호스트 이름을 변경하면 이 엔드포인트가 이제 다른 호스트 이름을 사용하여 동일한 서비스에 연결됨을 Snowflake에 알립니다. 호스트 이름을 변경하려면 SYSTEM$SET_PRIVATELINK_ENDPOINT_HOSTNAME 시스템 함수를 호출합니다.
비공개 연결 엔드포인트 나열¶
SYSTEM$GET_PRIVATELINK_ENDPOINTS_INFO 시스템 함수를 호출하여 생성한 비공개 연결 엔드포인트를 목록으로 만들 수 있습니다. 예를 들어, Microsoft Azure 의 Snowflake 계정의 경우:
SELECT SYSTEM$GET_PRIVATELINK_ENDPOINTS_INFO();
[
{
"provider_resource_id": "/subscriptions/11111111-2222-3333-4444-5555555555/...",
"subresource": "sqlServer",
"snowflake_resource_id": "/subscriptions/fa57a1f0-b4e6-4847-9c00-95f39520f...",
"host": "testdb.database.windows.net",
"endpoint_state": "CREATED",
"status": "Approved",
}
]
참고
ACCOUNT_USAGE 스키마에서 OUTBOUND_PRIVATELINK_ENDPOINTS 뷰를 쿼리하여 계정의 비공개 엔드포인트를 목록으로 볼 수도 있습니다.
비공개 연결 엔드포인트 프로비저닝 취소¶
SYSTEM$DEPROVISION_PRIVATELINK_ENDPOINT 시스템 함수를 호출하여 기존 비공개 연결 엔드포인트를 삭제할 수 있습니다. 예를 들어, Microsoft Azure 의 Snowflake 계정의 경우:
비공개 엔드포인트의 프로비저닝을 취소하여 Microsoft Azure의 Snowflake가 Microsoft Azure VNet 의 Microsoft Azure API 관리 서비스에 연결할 수 없도록 합니다.
SELECT SYSTEM$DEPROVISION_PRIVATELINK_ENDPOINT(
'/subscriptions/f4b00c5f-f6bf-41d6-806b-e1cac4f1f36f/resourceGroups/aztest1-external-function-rg/providers/Microsoft.ApiManagement/service/aztest1-external-function-api',
'Gateway'
);
Private endpoint with id "/subscriptions/e48379a7-2fc4-473e-b071-f94858cc83f5/resourcegroups/test_rg/providers/microsoft.network/privateendpoints/5ef8fd34-07db-4583-b0dd-0e2360398ed3" successfully marked for deletion. Before it is fully deleted in 7-8 days, it can be restored.
비공개 엔드포인트의 프로비저닝을 해제하여 Microsoft Azure 의 Snowflake가 외부 네트워크 액세스를 사용하여 외부 서비스에 연결할 수 없도록 합니다.
SELECT SYSTEM$DEPROVISION_PRIVATELINK_ENDPOINT(
'/subscriptions/11111111-2222-3333-4444-5555555555/resourceGroups/leorg1/providers/Microsoft.Sql/servers/myserver/databases/testdb',
'sqlServer'
);
"Resource Endpoint with id "/subscriptions/f0abb333-1b05-47c6-8c31-dd36d2512fd1/resourceGroups/privatelink-test/providers/Microsoft.Network/privateEndpoints/external-network-access-pe" deprovisioned successfully"
비공개 엔드포인트를 프로비저닝 취소하여 Microsoft Azure 의 외부 스테이지에 Snowflake가 연결되지 않도록 합니다.
SELECT SYSTEM$DEPROVISION_PRIVATELINK_ENDPOINT(
'/subscriptions/cb72345g5-d347-4sdc-r3ee-70d234551a78/resourceGroups/rg-db-dev/providers/Microsoft.Storage/storageAccounts/dbasdfffext',
'blob'
);
"Resource Endpoint with id "/subscriptions/57faea9a-20c2-4d35-b283-9c0c1e9593d8/resourceGroups/privatelink-test/providers/Microsoft.Network/privateEndpoints/external-network-access-pe" deprovisioned successfully"
프로비저닝 취소된 비공개 연결 엔드포인트 복원¶
프로비저닝 취소된 비공개 연결 엔드포인트는 SYSTEM$RESTORE_PRIVATELINK_ENDPOINT 시스템 함수를 호출하여 프로비저닝을 취소한 후 7일 이내에 복원할 수 있습니다. 7일 후에는 엔드포인트를 복구할 수 없으며 새 엔드포인트를 프로비저닝해야 합니다.
Microsoft Azure의 Snowflake가 Azure VNet의 Azure API Management 서비스에 연결할 수 있도록 비공개 엔드포인트를 복원합니다.
SELECT SYSTEM$RESTORE_PRIVATELINK_ENDPOINT(
'/subscriptions/11111111-2222-3333-4444-5555555555/resourceGroups/my_rg/providers/Microsoft.Sql/servers/my_db_server',
'sqlServer'
);
Private endpoint with id ''/subscriptions/66666666-7777-8888-9999-0000000000/resourcegroups/rg/providers/microsoft.network/privateendpoints/00000000-1111-2222-3333-4444444444'' restored successfully.
문제 해결하기¶
Microsoft Azure 외부 서비스: 지정된 구독에 액세스할 수 없습니다.¶
오류 |
(LinkedAuthorizationFailed) The client has permission to perform action '<action_name>' on scope '<service_name>', however the current tenant '<tenant_id>' is not authorized to access linked subscription '<subscription_id'.
Code: LinkedAuthorizationFailed
Message: The client has permission to perform action '<action_name>' on scope '<service_name>', however the current tenant '<tenant_id>' is not authorized to access linked subscription '<subscription_id>'.
|
---|---|
원인 |
외부 서비스에 매핑되는 개인 엔드포인트에 구독에 액세스하는 데 필요한 올바른 정보가 없습니다. |
해결책 |
|