다음을 통해 공유


빠른 시작: Azure Spring Apps를 Azure Database for MySQL과 통합

참고 항목

기본, 표준엔터프라이즈 계획은 2025년 3월 중순부터 사용되지 않으며 3년의 은퇴 기간이 있습니다. Azure Container Apps로 전환하는 것이 좋습니다. 자세한 내용은 Azure Spring Apps 사용 중지 공지 사항을 참조하세요.

표준 소비 및 전용 계획은 2024년 9월 30일부터 사용되지 않으며 6개월 후에 완전히 종료됩니다. Azure Container Apps로 전환하는 것이 좋습니다. 자세한 내용은 Azure Spring Apps 표준 사용량 및 전용 계획을 Azure Container Apps로 마이그레이션을 참조 하세요.

이 문서는 기본/표준 ❎ 엔터프라이즈에✅ 적용됩니다.

기본 구성 빠른 시작: Azure Spring Apps에 앱 빌드 및 배포에서 배포된 Pet Clinic은 시작 시 데이터로 채워지는 메모리 내 데이터베이스(HSQLDB)를 사용합니다. 이 빠른 시작에서는 Azure Database for MySQL 인스턴스를 프로비저닝하고 준비한 다음, 영구 데이터베이스로 사용하도록 Azure Spring Apps에서 Pet Clinic을 구성하는 방법을 설명합니다.

필수 조건

활성 구독이 있는 Azure 계정. 체험 계정을 만듭니다.

Azure Database for MySQL 인스턴스 만들기

az mysql flexible-server create 명령을 사용하여 Azure Database for MySQL 유연한 서버를 만듭니다. 자리 표시자 <database-name>, <resource-group-name>, , <MySQL-flexible-server-name><admin-username><admin-password>를 새 데이터베이스의 이름, 리소스 그룹의 이름, 새 서버의 이름 및 관리자 사용자 이름 및 암호로 바꿉니다. admin-password의 값을 작은따옴표로 묶습니다.

az mysql flexible-server create \
    --resource-group <resource-group-name> \
    --name <MySQL-flexible-server-name> \
    --database-name <database-name> \
    --public-access 0.0.0.0 \
    --admin-user <admin-username> \
    --admin-password '<admin-password>'

참고 항목

Standard_B1ms SKU는 기본적으로 사용됩니다. 가격 책정 세부 정보는 Azure Database for MySQL 가격 책정을 참조하세요.

암호는 최소 8자 이상이어야 하며 영문 대문자 1개, 영문 소문자 1개, 숫자 1개, 영숫자가 아닌 문자(!, $, #, % 등)가 1개 이상 포함되어야 합니다.

MySQL 데이터베이스에 애플리케이션 연결

Service Connector를 사용하여 Azure Spring Apps에서 호스트되는 앱을 MySQL 데이터베이스에 연결합니다.

참고 항목

Azure Spring Apps의 서비스 바인딩 기능은 Service Connector에 대해 더 이상 사용되지 않습니다.

  1. Service Connector를 처음 사용하는 경우 먼저 az provider register 명령을 실행하여 Service Connector 리소스 공급자를 등록합니다.

    az provider register --namespace Microsoft.ServiceLinker
    
  2. az spring connection create 명령을 실행하여 customers-service 앱과 Azure MySQL 데이터베이스 간에 서비스 연결을 만듭니다. 다음 설정에서 자리 표시자를 사용자의 정보로 바꿉니다. MySQL 서버 secret의 값을 작은따옴표로 묶습니다.

    설정 설명
    --connection 앱과 대상 서비스 간의 연결을 식별하는 연결 이름입니다.
    --resource-group Azure Spring Apps에서 호스트하는 앱을 포함하는 리소스 그룹의 이름입니다.
    --service Azure Spring Apps 리소스의 이름입니다.
    --app 대상 서비스에 연결하는 Azure Spring Apps에서 호스트하는 애플리케이션의 이름입니다.
    --target-resource-group 스토리지 계정이 있는 리소스 그룹의 이름입니다.
    --server 연결하려는 MySQL 서버입니다.
    --database 이전에 만든 데이터베이스의 이름입니다.
    --secret name= secret= MySQL 서버 사용자 이름 및 암호입니다.
    az spring connection create mysql-flexible \
        --resource-group <Azure-Spring-Apps-resource-group-name> \
        --service <Azure-Spring-Apps-resource-name> \
        --app customers-service \
        --connection <mysql-connection-name-for-app> \
        --target-resource-group <mySQL-server-resource-group> \
        --server <server-name> \
        --database <database-name> \
        --secret name=<username> secret='<secret>'
    

    시스템에서 az spring 명령을 인식하지 못하는 경우 az extension add --name spring을 실행하여 Azure Spring Apps 확장을 설치했는지 확인합니다.

이러한 단계를 반복하여 customers-service, vets-servicevisits-service 애플리케이션에 대한 연결을 만듭니다.

MySQL 데이터베이스에 대한 연결 확인

az spring connection validate 명령을 실행하여 customers-service 앱과 Azure MySQL 데이터베이스 간의 연결 상태를 표시합니다. 자리 표시자를 사용자의 정보로 바꿉니다.

az spring connection validate \
    --resource-group <Azure-Spring-Apps-resource-group-name> \
    --service <Azure-Spring-Apps-resource-name> \
    --app customers-service \
    --connection <mysql-connection-name-for-app> \
    --output table

다음 출력이 표시됩니다.

Name                                  Result    Description
------------------------------------  --------  -------------
Target resource existence validated.  success
Target service firewall validated.    success
Username and password validated.      success

서비스 간 연결에 대한 자세한 내용을 보려면 위의 명령에서 --output table를 제거합니다.

이러한 지침을 반복하여 customers-service, vets-servicevisits-service 애플리케이션에 대한 연결의 유효성을 검사합니다.

MySQL 프로필을 사용하도록 앱 업데이트

다음 섹션에서는 MySQL 데이터베이스에 연결하도록 앱을 업데이트하는 방법을 설명합니다.

다음 명령을 사용하여 customers-service 앱에 대한 mysql 프로필을 활성화하는 환경 변수를 설정합니다.

az spring app update \
    --resource-group <Azure-Spring-Apps-resource-group-name> \
    --service <Azure-Spring-Apps-resource-name> \
    --name customers-service \
    --env SPRING_PROFILES_ACTIVE=mysql

이러한 지침을 반복하여 customers-service, vets-servicevisits-service 애플리케이션에 대한 앱 구성을 업데이트합니다.

앱 유효성 검사

Pet Clinic 서비스의 유효성을 검사하고 MySQL 데이터베이스의 레코드를 쿼리하여 데이터베이스 연결을 확인하려면 빠른 시작: Azure Spring Apps에 앱 빌드 및 배포서비스 확인 섹션에 있는 지침을 따릅니다.

리소스 정리

후속 빠른 시작 및 자습서를 계속 사용하려는 경우 이러한 리소스를 그대로 유지할 수 있습니다. 더 이상 필요하지 않은 경우 리소스 그룹의 리소스를 삭제하는 az group delete 명령을 사용하여 리소스 그룹을 삭제합니다. <resource-group>을 사용자의 리소스 그룹 이름으로 바꿉니다.

az group delete --name <resource-group>

다음 단계