다음을 통해 공유


자습서: Service Connector를 사용하여 웹앱을 Azure App Configuration에 연결

Azure App Service에서 실행 중인 ASP.NET Core 앱을 Azure App Configuration에 다음 방법 가운데 하나를 사용하여 연결하는 방법을 알아봅니다:

  • 시스템 할당 관리 ID(SMI)
  • 사용자 할당 관리 ID(UMI)
  • 서비스 주체
  • 연결 문자열

이 자습서에서는 Azure CLI를 사용하여 다음 작업을 완료합니다:

  • Azure 리소스 설정
  • 웹앱과 App Configuration 간에 연결을 만드세요
  • 앱을 빌드하고 Azure App Service에 배포하세요

Prerequisites

Azure에 로그인

Azure CLI에서 az login을(를) 실행하여 Azure에 로그인하세요.

Azure 리소스 설정

먼저 Azure 리소스를 만드세요.

  1. 다음 샘플 리포지토리를 복제하세요:

    git clone https://github.com/Azure-Samples/serviceconnector-webapp-appconfig-dotnet.git
    
  2. Azure에 웹앱 배포

    다음 단계를 따라 App Service를 만들고 샘플 앱을 배포하세요. 구독 기여자 또는 소유자 역할이 있는지 확인합니다.

    App Service를 만들고 시스템 할당 관리 ID를 사용해 App Config와 상호 작용하는 샘플 앱을 배포하세요.

    # Change directory to the SMI sample
    cd serviceconnector-webapp-appconfig-dotnet\system-managed-identity
    
    # Create a web app
    
    LOCATION='eastus'
    RESOURCE_GROUP_NAME='service-connector-tutorial-rg'
    APP_SERVICE_NAME='webapp-appconfig-smi'
    
    az webapp up --location $LOCATION --resource-group $RESOURCE_GROUP_NAME --name $APP_SERVICE_NAME
    
    Parameter Description Example
    Location 사용자에게 가까운 위치를 선택합니다. az account list-locations --output table을 사용하여 위치를 나열합니다. eastus
    Resource group name 이 리소스 그룹을 사용하여 이 자습서를 완료하는 데 필요한 모든 Azure 리소스를 구성합니다. service-connector-tutorial-rg
    앱 서비스 이름 앱 서비스 이름은 Azure에서 리소스의 이름으로 사용되며 서버 엔드포인트의 형태로 앱에 대한 정규화된 도메인 이름을 형성합니다. 허용되는 문자는 A-Z, 0-9-입니다. Azure는 임의의 문자열을 추가하여 모든 Azure에서 서버 엔드포인트를 고유하게 만듭니다. webapp-appconfig-smi
  3. Azure App Configuration 저장소를 만듭니다.

    APP_CONFIG_NAME='my-app-config'
    
    az appconfig create --resource-group $RESOURCE_GROUP_NAME --name $APP_CONFIG_NAME --sku Free --location eastus
    
  4. 테스트 구성 파일을 Azure App Configuration에 가져오세요.

    시스템 할당 관리 ID를 사용해 테스트 구성 파일을 Azure App Configuration에 가져오세요.

    1. 디렉터리를 폴더 ServiceConnectorSample로 변경합니다.

    2. ./sampleconfigs.json 테스트 구성 파일을 App Configuration 저장소로 가져옵니다. Cloud Shell을 사용하는 경우 명령을 실행하기 전에 sampleconfigs.json 업로드합니다.

      az appconfig kv import --name $APP_CONFIG_NAME --source file --format json --path ./sampleconfigs.json --separator : --yes
      

웹앱을 App Configuration에 연결

웹 애플리케이션과 App Configuration 저장소 간에 연결을 만드세요.

시스템 할당 관리 ID 인증을 사용해 웹 애플리케이션과 App Configuration 저장소 간에 연결을 만드세요. 이 연결은 Service Connector를 통해 수행됩니다.

az webapp connection create appconfig --resource-group $RESOURCE_GROUP_NAME --name $APP_SERVICE_NAME --app-config $APP_CONFIG_NAME --tg $RESOURCE_GROUP_NAME --connection "app_config_smi" --system-identity

system-identity은(는) 시스템 할당 관리 ID(SMI) 인증 유형을 나타냅니다. 서비스 커넥터는 UMI(사용자 할당 관리 ID), 연결 문자열(비밀) 및 서비스 주체의 인증도 지원합니다.

연결 유효성을 검사하세요

연결이 작동하는지 확인하려면 웹앱으로 이동합니다. 웹앱에 액세스하는 가장 쉬운 방법은 Azure Portal에서 웹앱을 여는 것입니다. 개요 페이지에서 기본 도메인을 선택합니다. 웹사이트가 작동되면 다음이 표시됩니다: Hello. 이제 당신의 Azure WebApp이 ServiceConnector에 의해 App Configuration에 연결되었습니다.

작동 방법

각 인증 유형에 대한 백그라운드에서 서비스 커넥터가 관리하는 것을 알아보세요.

Service Connector가 대신 연결 구성을 관리합니다:

  • 애플리케이션이 이에 액세스하고 App Configuration 엔드포인트를 가져올 수 있도록 웹앱의 AZURE_APPCONFIGURATION_ENDPOINT를(을) 설정하세요. 샘플 코드에 액세스합니다.
  • 웹앱의 시스템 할당 관리 ID 인증을 활성화하고 App Configuration에 Data Reader 역할을 부여하여 애플리케이션이 Azure.Identity의 DefaultAzureCredential을 사용해 App Configuration에 인증할 수 있도록 하세요. 샘플 코드에 액세스합니다.

자세한 내용은 Service Connector 내부를 참조하세요.

테스트(선택 사항)

선택적으로 다음 테스트를 수행하세요:

  1. App Configuration 저장소에서 SampleApplication:Settings:Messages 키 값을 업데이트하세요.

    az appconfig kv set --name <myAppConfigStoreName> --key SampleApplication:Settings:Messages --value hello --yes
    
  2. 앞에서 설명한 대로 Azure 웹앱으로 이동하여 페이지를 새로 고칩니다. 메시지가 다음으로 업데이트된 것을 볼 수 있습니다. hello.

리소스 정리

완료되면 이러한 Azure 리소스를 더 이상 사용하지 않을 경우 명령을 실행 az group delete 하여 삭제합니다. 이 명령은 리소스 그룹과 그 안에 있는 모든 리소스를 삭제합니다.

az group delete --name <myResourceGroupName> --yes

다음 단계