다음을 통해 공유


Azure Database for PostgreSQL을 Azure Spring Apps의 애플리케이션에 바인딩

참고 항목

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

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

이 문서는 다음에 적용됩니다. ✔️ Java ✔️ C#

이 문서의 적용 대상: ✔️ 기본/표준 ✔️ 엔터프라이즈

Azure Spring Apps를 사용하면 Spring Boot 애플리케이션을 수동으로 구성하는 대신, 선택한 Azure 서비스를 애플리케이션에 자동으로 바인딩할 수 있습니다. 이 문서에서는 애플리케이션을 Azure Database for PostgreSQL 인스턴스에 바인딩하는 방법을 보여 줍니다.

이 문서에는 Microsoft Entra 인증과 PostgreSQL 인증이라는 두 가지 인증 방법이 포함됩니다. 암호 없는 탭에는 Microsoft Entra 인증이 표시되고 암호 탭에는 PostgreSQL 인증이 표시됩니다.

Microsoft Entra 인증은 Microsoft Entra ID에 정의된 ID를 사용하여 Azure Database for PostgreSQL에 연결하기 위한 메커니즘입니다. Microsoft Entra 인증을 사용하면 중앙 위치에서 데이터베이스 사용자 ID 및 기타 Microsoft 서비스를 관리할 수 있으므로 권한 관리가 간소화됩니다.

PostgreSQL 인증은 PostgreSQL에 저장된 계정을 사용합니다. 계정에 대한 자격 증명으로 암호를 사용하도록 선택하면 이러한 자격 증명이 사용자 테이블에 저장됩니다. 이러한 암호는 PostgreSQL에 저장되기 때문에 암호 회전을 직접 관리해야 합니다.

필수 조건

프로젝트 준비

다음 단계를 사용하여 프로젝트를 준비합니다.

  1. 프로젝트의 pom.xml 파일에서 다음 종속성을 추가합니다.

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>com.azure.spring</groupId>
        <artifactId>spring-cloud-azure-starter-jdbc-postgresql</artifactId>
    </dependency>
    
  2. application.properties 파일에서 spring.datasource.* 속성을 제거합니다.

  3. az spring app deploy를 실행하여 현재 앱을 업데이트하거나, az spring app deployment create를 실행하여 이 변경 사항에 대한 새 배포를 만듭니다.

Azure Database for PostgreSQL 인스턴스에 앱 바인딩

참고 항목

연결을 만들려면 다음 방법 중 하나만 선택해야 합니다. 이미 하나의 연결로 테이블을 만든 경우 다른 사용자는 테이블에 액세스하거나 수정할 수 없습니다. 다른 방식을 시도하면 애플리케이션에서 "권한 거부됨"과 같은 오류가 발생합니다. 이 문제를 해결하려면 새 데이터베이스에 연결하거나 기존 데이터베이스를 삭제하고 다시 만듭니다.

참고 항목

기본적으로 서비스 커넥터는 애플리케이션 수준에서 만들어집니다. 연결을 재정의하려면 배포에서 다른 연결을 다시 만들면 됩니다.

  1. Azure CLI용 서비스 커넥터 암호 없는 확장을 설치합니다.

    az extension add --name serviceconnector-passwordless --upgrade
    
  2. az spring connection create 명령을 사용하여 시스템 할당 관리 ID로 PostgreSQL 데이터베이스에 연결하도록 Azure Spring Apps를 구성합니다.

    az spring connection create postgres-flexible \
        --resource-group $AZ_SPRING_APPS_RESOURCE_GROUP \
        --service $AZ_SPRING_APPS_SERVICE_INSTANCE_NAME \
        --app $APP_NAME \
        --deployment $DEPLOYMENT_NAME \
        --target-resource-group $POSTGRES_RESOURCE_GROUP \
        --server $POSTGRES_SERVER_NAME \
        --database $DATABASE_NAME \
        --system-identity
    

다음 단계

이 문서에서는 Azure Spring Apps의 애플리케이션을 Azure Database for PostgreSQL 인스턴스에 바인딩하는 방법을 배웠습니다. 서비스를 애플리케이션에 바인딩하는 방법에 대한 자세한 내용은 Azure Spring Apps에서 Azure Cosmos DB 데이터베이스를 애플리케이션에 바인딩을 참조하세요.