다음을 통해 공유


자습서: AKS 앱을 Azure SQL Database에 연결(미리 보기)

이 자습서에서는 서비스 커넥터(미리 보기)를 사용하여 AKS에 배포된 애플리케이션을 Azure SQL Database에 연결하는 방법에 대해 알아봅니다. 다음 작업을 완료합니다.

  • Azure SQL Database 리소스 만들기
  • 서비스 커넥터를 사용하여 AKS 클러스터와 데이터베이스 간의 연결을 만듭니다.
  • 컨테이너 업데이트
  • 애플리케이션 코드 업데이트
  • Azure 리소스 정리

Warning

사용 가능한 가장 안전한 인증 흐름을 사용하는 것이 권장됩니다. 이 절차에서 설명된 인증 흐름은 다른 흐름에는 없는 위험을 전달하며, 애플리케이션에서 매우 높은 신뢰 수준을 요구합니다. 이 흐름은 관리 ID와 같은 보다 안전한 다른 흐름을 실행할 수 없는 경우에만 사용되어야 합니다. 관리 ID 사용 자습서를 참조하세요.

필수 조건

Azure SQL Database 만들기

  1. az group create 명령을 사용하여 이 자습서에서 만든 Azure 리소스를 저장할 리소스 그룹을 만듭니다.

    az group create \
        --name $RESOURCE_GROUP \
        --location eastus
    
  2. 지침에 따라 이전 단계에서 만든 리소스 그룹에 Azure SQL Database를 만듭니다. 이 자습서 전체에서 사용할 서버 이름, 데이터베이스 이름, 데이터베이스 자격 증명을 기록해 둡니다.

서비스 커넥터(미리 보기)를 사용하여 AKS에서 서비스 연결 만들기

서비스 커넥터 및 Kubernetes 구성 리소스 공급자 등록

az provider register 명령을 사용하여 서비스 커넥터 및 Kubernetes 구성 리소스 공급자를 등록합니다.

az provider register --namespace Microsoft.ServiceLinker
az provider register --namespace Microsoft.KubernetesConfiguration

az provider show --namespace "Microsoft.ServiceLinker" --query registrationStateaz provider show --namespace "Microsoft.KubernetesConfiguration" --query registrationState 명령을 사용하여 이러한 리소스 공급자가 이미 등록되어 있는지 확인할 수 있습니다. 출력이 Registered이면 서비스 공급자가 이미 등록되어 있는 것입니다.

새 연결 만들기

Azure Portal 또는 Azure CLI에서 AKS 클러스터와 SQL 데이터베이스 간에 서비스 연결을 만듭니다.

  1. Azure Portal에서 AKS 클러스터 리소스로 이동합니다.

  2. 설정>서비스 커넥터(미리 보기)>만들기를 선택합니다.

  3. 기본 사항 탭에서 다음 설정을 구성합니다.

    • Kubernetes 네임스페이스: 기본값을 선택합니다.
    • 서비스 유형: SQL Database를 선택합니다.
    • 연결 이름: 서비스 커넥터에서 제공하는 연결 이름을 사용하거나 고유한 연결 이름을 입력합니다.
    • 구독: Azure SQL Database 서비스를 포함하는 구독을 선택합니다.
    • SQL Server: SQL Server를 선택합니다.
    • SQL 데이터베이스: SQL 데이터베이스를 선택합니다.
    • 클라이언트 유형: 대상 서비스에 연결하는 데 사용하는 코드 언어 또는 프레임워크입니다(예: Python).

    AKS에서 SQL 데이터베이스에 대한 새 연결을 만드는 양식을 보여 주는 Azure Portal의 스크린샷.

  4. 다음: 인증을 선택합니다. 인증 탭에서 데이터베이스 사용자 이름 및 암호를 입력합니다.

  5. 다음: 네트워킹>다음: 검토 + 만들기>만들기를 선택합니다.

  6. 배포에 성공하면 서비스 커넥터 창에서 새 연결에 대한 정보를 볼 수 있습니다.

컨테이너 업데이트

AKS 클러스터와 데이터베이스 간에 연결을 만들었으므로 이제 연결 비밀을 가져와 컨테이너에 배포해야 합니다.

  1. Azure Portal에서 AKS 클러스터 리소스로 이동하고 서비스 커넥터(미리 보기)를 선택합니다.

  2. 새로 만든 연결을 선택한 다음 YAML 코드 조각을 선택합니다. 그러면 서비스 커넥터에서 생성된 샘플 YAML 파일이 표시된 패널이 열립니다.

  3. 컨테이너에서 연결 비밀을 환경 변수로 설정하기 위해 다음 두 가지 옵션을 사용할 수 있습니다.

    • 제공된 YAML 샘플 코드 조각을 사용하여 배포를 바로 만듭니다. 코드 조각에는 환경 변수로 삽입될 비밀 개체를 보여 주는 강조 표시된 섹션이 포함되어 있습니다. 적용을 선택하여 이 메서드로 계속 진행합니다.

      AKS에서 SQL 데이터베이스에 대한 새 연결을 만드는 샘플 YAML 코드 조각을 보여 주는 Azure Portal의 스크린샷.

    • 아니면 리소스 종류에서 Kubernetes 워크로드를 선택한 다음, 기존 Kubernetes 워크로드를 선택합니다. 그러면 새 연결의 비밀 개체가 선택한 워크로드에 대한 환경 변수로 설정됩니다. 워크로드를 선택한 후 적용을 선택합니다.

      AKS에서 SQL 데이터베이스에 대한 새 연결을 만드는 Kubernetes 코드 조각을 보여 주는 Azure Portal의 스크린샷.

애플리케이션 코드 업데이트

마지막 단계로, 다음 지침에 따라 환경 변수를 사용하도록 애플리케이션 코드를 업데이트합니다.

리소스 정리

이 자습서를 따를 때 만든 리소스가 더 이상 필요하지 않은 경우 Azure 리소스 그룹을 삭제하여 제거할 수 있습니다.

az group delete 명령을 사용하여 리소스 그룹을 삭제합니다.

az group delete --resource-group $RESOURCE_GROUP

서비스 커넥터의 개념과 서비스 커넥터가 AKS를 Azure 서비스에 연결하는 데 어떻게 도움이 되는지 자세히 알아보려면 다음 문서를 읽어보세요.