다음을 통해 공유


Azure Functions에서 보안 스토리지 계정을 사용하는 방법

이 문서에서는 함수 앱을 보안 스토리지 계정에 연결하는 방법을 보여 줍니다. 인바운드 및 아웃바운드 액세스 제한이 있는 함수 앱을 만드는 방법에 대한 자세한 자습서는 가상 네트워크 통합 자습서를 참조하세요. Azure Functions 및 네트워킹에 대해 자세히 알아보려면 Azure Functions 네트워킹 옵션을 참조하세요.

가상 네트워크에 대한 스토리지 계정 제한

함수 앱을 만들 때 새 스토리지 계정을 만들거나 기존 스토리지 계정에 연결합니다. 현재 Azure Portal, ARM 템플릿 배포, Bicep 배포만 기존 보안 스토리지 계정으로 함수 앱 만들기를 지원합니다.

참고 항목

스토리지 계정 보안은 Dedicated(App Service) 계획Elastic Premium 계획의 모든 계층은 물론 Flex 사용 계획에서도 지원됩니다.
소비 계획은 가상 네트워크를 지원하지 않습니다.

스토리지 계정에 대한 모든 제한 사항 목록은 스토리지 계정 요구 사항을 참조하세요.

Important

Flex 사용 계획은 현재 미리 보기로 제공됩니다.

함수 앱을 만드는 동안 스토리지 보호

가상 네트워크 뒤에서 보호되는 새 스토리지 계정과 함께 함수 앱을 만들 수 있습니다. 다음 링크에서는 Azure Portal을 사용하거나 배포 템플릿을 사용하여 이러한 리소스를 만드는 방법을 보여 줍니다.

프리미엄 플랜의 함수 앱 만들기 단계를 완료하세요. 가상 네트워킹 자습서의 이 섹션에서는 프라이빗 엔드포인트를 통해 스토리지에 연결하는 함수 앱을 만드는 방법을 설명합니다.

참고 항목

Azure Portal에서 함수 앱을 만들 때 스토리지 탭에서 기존 보안 스토리지 계정을 선택할 수도 있습니다. 그러나 스토리지 계정을 보호하는 데 사용되는 가상 네트워크를 통해 연결할 수 있도록 함수 앱에서 적절한 네트워킹을 구성해야 합니다. 네트워킹을 구성할 권한이 없거나 네트워크를 완전히 준비하지 않은 경우 네트워킹 탭에서 네트워킹 만들기 후 구성을 선택하세요. Portal의 설정>네트워킹에서 새 함수 앱에 대한 네트워킹을 구성할 수 있습니다.

기존 함수 앱에 대한 보안 스토리지

기존 함수 앱이 있는 경우 앱에서 사용하는 스토리지 계정에서 네트워킹을 직접 구성할 수 있습니다. 이 프로세스로 인해 네트워킹을 구성하는 동안과 앱을 다시 시작하는 동안 앱이 중단됩니다.

가동 중지 시간을 최소화하기 위해 새 보안 스토리지 계정을 기존 스토리지 계정과 교체할 수 있습니다.

1. 가상 네트워크 통합 사용

필수 구성 요소로 함수 앱에 가상 네트워크 통합을 사용하도록 설정해야 합니다.

  1. 서비스 엔드포인트 또는 프라이빗 엔드포인트가 사용하도록 설정되지 않은 스토리지 계정이 있는 함수 앱을 선택합니다.

  2. 함수 앱을 가상 네트워크 통합을 사용하도록 설정합니다.

2. 보안 스토리지 계정 만들기

함수 앱에 대한 보안 스토리지 계정을 설정합니다.

  1. 두 번째 스토리지 계정을 만듭니다. 함수 앱에서 대신 사용할 보안 스토리지 계정이 됩니다. Functions에서 아직 사용하지 않는 기존 스토리지 계정을 사용할 수도 있습니다.

  2. 이 스토리지 계정에 대한 연결 문자열을 복사합니다. 나중에 이 문자열이 필요합니다.

  3. 새 스토리지 계정에서 파일 공유를 만듭니다. 기존 스토리지 계정의 파일 공유와 동일한 이름을 사용하려고 합니다. 그렇지 않으면 나중에 앱 설정을 구성하기 위해 새 파일 공유의 이름을 복사해야 합니다.

  4. 다음 방법 중 하나로 새 스토리지 계정을 보호합니다.

    • 프라이빗 엔드포인트 만들기 프라이빗 엔드포인트 연결을 설정할 때 fileblob 하위 리소스에 대한 프라이빗 엔드포인트를 만듭니다. Durable Functions의 경우 프라이빗 엔드포인트를 통해 queuetable 하위 리소스에 액세스할 수 있도록 해야 합니다. 사용자 지정 또는 온-프레미스 DNS 서버를 사용하는 경우 새 프라이빗 엔드포인트로 확인하도록 DNS 서버를 구성할 수 있는지 확인합니다.

    • 특정 서브넷으로 트래픽을 제한합니다. 허용되는 서브넷 중 하나가 함수 앱이 네트워크와 통합된 서브넷인지 확인합니다. 서브넷에 Microsoft.Storage에 대한 서비스 엔드포인트가 있는지 다시 확인합니다.

  5. 파일 및 Blob 콘텐츠를 함수 앱에서 사용되는 현재 스토리지 계정에서 새 보안 스토리지 계정 및 파일 공유로 복사합니다. AzCopyAzure Storage Explorer는 일반적인 방법입니다. Azure Storage Explorer를 사용하는 경우 스토리지 계정의 방화벽에 클라이언트 IP 주소를 허용해야 할 수 있습니다.

이제 새로 보안된 스토리지 계정과 통신하도록 함수 앱을 구성할 준비가 되었습니다.

3. 애플리케이션 및 구성 라우팅 사용

참고 항목

이러한 구성 단계는 Elastic Premium전용(App Service) 호스팅 계획에만 필요합니다. 유연한 사용량 계획에는 네트워킹을 구성하는 데 사이트 설정이 필요하지 않습니다.

이제 가상 네트워크를 통과하도록 함수 앱의 트래픽을 라우팅해야 합니다.

  1. 애플리케이션 라우팅을 활성화하여 앱의 트래픽을 가상 네트워크로 라우팅합니다.

    • 함수 앱의 네트워킹 탭으로 이동합니다. 아웃바운드 트래픽 구성 아래에서 가상 네트워크 통합과 연결된 서브넷을 선택합니다.

    • 새 페이지의 애플리케이션 라우팅 아래에서 아웃바운드 인터넷 트래픽 확인란을 선택합니다.

  2. 함수 앱이 가상 네트워크를 통해 새 스토리지 계정과 통신하도록 콘텐츠 공유 라우팅을 사용하도록 설정합니다.

    • 같은 페이지의 구성 라우팅 아래에서 콘텐츠 스토리지 확인란을 선택합니다.

4. 애플리케이션 설정 업데이트

마지막으로 새 보안 스토리지 계정을 가리키도록 애플리케이션 설정을 업데이트해야 합니다.

  1. 함수 앱에 대한 구성 탭에서 애플리케이션 설정을 다음으로 업데이트합니다.

    설정 이름 설명
    AzureWebJobsStorage
    WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
    스토리지 연결 문자열 두 설정 모두 이전에 저장한 새 보안 스토리지 계정에 대한 연결 문자열을 포함합니다.
    WEBSITE_CONTENTSHARE 파일 공유 보안 스토리지 계정에 생성된 파일 공유(여기에 프로젝트 배포 파일이 상주)의 이름입니다.
  2. 저장을 선택하여 애플리케이션 설정을 저장합니다. 앱 설정을 변경하면 앱이 다시 시작됩니다.

함수 앱이 다시 시작되면 이제 보안 스토리지 계정에 연결됩니다.

다음 단계