다음을 통해 공유


공유 프라이빗 엔드포인트를 통해 Azure SignalR 아웃바운드 트래픽 보호

Azure SignalR Service에서 서버리스 모드를 사용하는 경우 업스트림 서비스에 대한 아웃바운드 프라이빗 엔드포인트 연결을 만들 수 있습니다.

가상 네트워크 목록에서 연결을 허용하고 퍼블릭 네트워크에서 시작되는 외부 연결을 거부하도록 Azure Web App 및 Azure Functions 같은 업스트림 서비스를 구성할 수 있습니다. 이러한 엔드포인트에 도달하기 위해 아웃바운드 프라이빗 엔드포인트 연결을 만들 수 있습니다.

Diagram showing architecture of shared private endpoint.

이 아웃바운드 방법은 다음 요구 사항을 충족해야 합니다.

  • 업스트림 서비스는 Azure Web App 또는 Azure Function이어야 합니다.
  • Azure SignalR Service는 무료 계층에 있지 않아야 합니다.
  • Azure Web App 또는 Azure Function은 특정 SKU에 있어야 합니다. Azure Web App용 프라이빗 엔드포인트 사용을 참조하세요.

이 문서에서는 업스트림 Azure Function 인스턴스에 대한 아웃바운드 트래픽을 보호하기 위해 아웃바운드 프라이빗 엔드포인트 연결을 사용하여 공유 프라이빗 엔드포인트를 만드는 방법을 알아봅니다.

SignalR Service API를 통해 보안 리소스의 프라이빗 엔드포인트를 만듭니다. 공유 Private Link 리소스라고 하는 이러한 엔드포인트를 사용하면 Azure Private Link 서비스와 통합된 Azure 함수와 같은 리소스에 대한 액세스를 공유할 수 있습니다. 이러한 프라이빗 엔드포인트는 SignalR Service 실행 환경 내부에서 만들어지며 이 환경 외부에서는 액세스할 수 없습니다.

필수 조건

이 문서의 단계를 완료하려면 다음 리소스가 필요합니다.

  • Azure 리소스 그룹

  • Azure SignalR Service 인스턴스(무료 계층에 속하지 않아야 함)

  • Azure 함수 인스턴스

  • 참고 항목

이 문서의 예는 다음과 같은 가정을 기반으로 합니다.

  • SignalR Service의 리소스 ID는 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.SignalRService/signalr/contoso-signalr입니다.
  • 업스트림 Azure Function의 리소스 ID는 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Web/sites/contoso-func입니다. 예의 나머지 부분에서는 contoso-signalr 서비스를 구성하여 해당 업스트림 호출이 퍼블릭 네트워크가 아닌 프라이빗 엔드포인트를 통과할 수 있도록 하는 방법을 보여 줍니다. 예에서 고유의 리소스 ID를 사용할 수 있습니다.
  1. Azure Portal에서 SignalR Service 리소스로 이동합니다.

  2. 왼쪽 메뉴에서 네트워킹을 선택합니다.

  3. 프라이빗 액세스 탭을 선택합니다.

  4. 공유 프라이빗 엔드포인트 섹션에서 공유 프라이빗 엔드포인트 추가를 선택합니다.

    Screenshot of shared private endpoints management.

    다음 정보를 입력합니다. | 필드 | 설명 | | ----- | ----------- | | 이름 | 공유 프라이빗 엔드포인트의 이름입니다. | | 형식 | Microsoft.Web/sites 선택 | | 구독 | 함수 앱을 포함하는 구독입니다. | | 리소스 | 함수 앱의 이름을 입력합니다. | | 요청 메시지 | "please approve" 입력 |

  5. 추가를 선택합니다.

    Screenshot of adding a shared private endpoint.

공유 프라이빗 엔드포인트 리소스는 성공 프로비전 상태가 됩니다. 연결 상태는 대상 리소스 측에서 승인 보류 중입니다.

Screenshot of an added shared private endpoint.

함수에 대한 프라이빗 엔드포인트 연결을 승인합니다.

Important

프라이빗 엔드포인트 연결을 승인한 후에는 공용 네트워크에서 더 이상 함수에 액세스할 수 없습니다. Function 엔드포인트에 액세스하려면 가상 네트워크에서 다른 프라이빗 엔드포인트를 만들어야 할 수도 있습니다.

  1. Azure Portal에서 함수 앱으로 이동합니다.

  2. 왼쪽 메뉴에서 네트워킹을 선택합니다.

  3. 프라이빗 엔드포인트 연결을 선택합니다.

  4. 인바운드 트래픽에서 프라이빗 엔드포인트를 선택합니다.

  5. 프라이빗 엔드포인트 연결의 연결 이름을 선택합니다.

  6. 승인을 선택합니다.

    Screenshot of the Azure portal, showing the Private endpoint connections pane.

    다음 스크린샷과 같이 프라이빗 엔드포인트 연결이 표시되는지 확인합니다. 상태가 업데이트되는 데 몇 분 정도 걸릴 수 있습니다.

    Screenshot of the Azure portal, showing an Approved status on the Private endpoint connections pane.

승인이 SignalR Service에 전파되는 데 몇 분 정도 걸립니다. Azure Portal 또는 Azure CLI를 사용하여 상태를 확인할 수 있습니다.

Screenshot of an approved shared private endpoint.

이 시점에서 SignalR Service와 Azure Function 간의 프라이빗 엔드포인트가 설정됩니다.

업스트림 호출이 개인 IP에서 오는지 확인

프라이빗 엔드포인트가 설정되면 X-Forwarded-For 헤더 업스트림 측을 확인하여 개인 IP에서 들어오는 호출을 확인할 수 있습니다.

Screenshot of the Azure portal, showing incoming requests are from a private IP.

정리

이 문서에서 만든 리소스를 사용할 계획이 없다면 리소스 그룹을 삭제할 수 있습니다.

주의

리소스 그룹을 삭제하면 그 안에 포함된 모든 리소스가 삭제됩니다. 지정된 리소스 그룹에 이 문서의 범위에 속하지 않는 리소스가 포함된 경우에도 해당 리소스가 삭제됩니다.

다음 단계

프라이빗 엔드포인트에 대해 자세히 알아보세요.