참고 항목
기본, 표준 및 엔터프라이즈 계획은 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에 Spring Boot 웹 애플리케이션을 배포하는 방법을 보여줍니다. 샘플 프로젝트는 작업을 추가하고, 추가한 작업이 완료되면 표시한 후 삭제하는 간단한 ToDo 애플리케이션입니다. 다음은 이 애플리케이션을 보여주는 스크린샷입니다.
이 애플리케이션은 다음 레이어를 사용하는 일반적인 3레이어 웹 애플리케이션입니다.
- 프런트 엔드에 바인딩된 React 애플리케이션.
- Spring Data JPA를 사용하여 관계형 데이터베이스에 액세스하는 백 엔드 Spring 웹 애플리케이션.
- 관계형 데이터베이스. localhost의 경우 애플리케이션에서 H2 데이터베이스 엔진을 사용합니다. Azure Spring Apps의 경우 애플리케이션에서 Azure Database for PostgreSQL을 사용합니다. Azure Database for PostgreSQL에 대한 자세한 내용은 유연한 서버 문서를 참조하세요.
다음 다이어그램에서는 시스템의 아키텍처를 보여줍니다.
이 문서에서는 다음과 같이 Azure Spring Apps에 배포하는 옵션을 설명합니다.
-
Azure Portal 옵션은 가장 쉽고 빠른 방법이며 클릭 한 번으로 리소스를 만들고 애플리케이션을 배포할 수 있습니다. 이 옵션은 애플리케이션을 Azure 클라우드 서비스에 빠르게 배포하려는 Spring 개발자에게 적합합니다.
-
Azure Portal + Maven 플러그 인 옵션은 리소스를 만들고 애플리케이션을 단계별로 배포하는 더 일반적인 방법을 제공합니다. 이 옵션은 Azure 클라우드 서비스를 처음 사용하는 Spring 개발자에게 적합합니다.
-
Azure Developer CLI 옵션은 보다 효율적인 방법이며 간단한 명령을 통해 자동으로 리소스를 만들고 애플리케이션을 배포할 수 있습니다. Azure Developer CLI는 템플릿을 사용하여 필요한 Azure 리소스를 프로비전하고 애플리케이션 코드를 배포합니다. 이 옵션은 Azure 클라우드 서비스에 익숙한 Spring 개발자에게 적합합니다.
이 문서에서는 다음과 같은 Azure Spring Apps에 배포할 수 있는 옵션을 제공합니다.
-
Azure Portal 옵션은 가장 쉽고 빠른 방법이며 클릭 한 번으로 리소스를 만들고 애플리케이션을 배포할 수 있습니다. 이 옵션은 애플리케이션을 Azure 클라우드 서비스에 빠르게 배포하려는 Spring 개발자에게 적합합니다.
-
Azure Portal + Maven 플러그 인 옵션은 리소스를 만들고 애플리케이션을 단계별로 배포하는 더 일반적인 방법을 제공합니다. 이 옵션은 Azure 클라우드 서비스를 처음 사용하는 Spring 개발자에게 적합합니다.
-
Azure CLI 옵션은 강력한 명령줄 도구를 사용하여 Azure 리소스를 관리합니다. 이 옵션은 Azure 클라우드 서비스를 능숙하게 다루는 Spring 개발자에게 적합합니다.
1. 사전 요구 사항
- Azure 구독 구독이 없는 경우 시작하기 전에 체험 계정을 만드세요.
- Azure 구독 구독이 없는 경우 시작하기 전에 체험 계정을 만드세요.
2. Spring 프로젝트 준비
이후 단계에서 Azure Portal을 사용하지만, Bash 명령줄을 사용하여 프로젝트를 로컬로 준비해야 합니다. 다음 단계에 따라 앱을 로컬로 복제하고 실행합니다.
다음 명령을 사용하여 GitHub에서 샘플 프로젝트를 복제합니다.
git clone https://github.com/Azure-Samples/ASA-Samples-Web-Application.git
다음 명령을 실행하여 Maven에서 샘플 프로젝트를 빌드합니다.
cd ASA-Samples-Web-Application
./mvnw clean package
다음 명령을 사용하여 샘플 애플리케이션을 실행합니다.
java -jar web/target/simple-todo-web.jar
사용하는 브라우저에서 http://localhost:8080
으로 이동하여 애플리케이션에 액세스합니다.
다음 단계에 따라 앱을 로컬로 복제하고 실행합니다.
다음 명령을 사용하여 GitHub에서 샘플 프로젝트를 복제합니다.
git clone https://github.com/Azure-Samples/ASA-Samples-Web-Application.git
다음 명령을 실행하여 Maven에서 샘플 프로젝트를 빌드합니다.
cd ASA-Samples-Web-Application
./mvnw clean package
다음 명령을 사용하여 샘플 애플리케이션을 실행합니다.
java -jar web/target/simple-todo-web.jar
사용하는 브라우저에서 http://localhost:8080
으로 이동하여 애플리케이션에 액세스합니다.
3. 클라우드 환경 준비
이 샘플을 실행하는 데 필요한 주요 리소스는 Azure Spring Apps 인스턴스와 Azure Database for PostgreSQL 인스턴스입니다. 이 섹션에서는 이러한 리소스를 만드는 단계를 제공합니다.
이 섹션에서는 Azure에 배포 단추를 사용하여 Azure Portal에서 배포 환경을 시작합니다. 이 환경에서는 ARM 템플릿을 사용하여 Azure 리소스를 만듭니다.
3.1. Azure Portal에 로그인
Azure Portal로 이동하고 자격 증명을 입력하여 포털에 로그인합니다. 기본 보기는 서비스 대시보드입니다.
3.2. Azure 리소스 만들기
다음 단계를 따라 앱에 사용하는 모든 Azure 리소스를 만듭니다.
다음 Azure에 배포 단추를 선택하여 Azure Portal에서 배포 환경을 시작합니다.
기본 사항 탭에서 양식을 작성합니다. 양식을 작성하기 위한 지침으로 다음 표를 사용합니다.
설정 |
제안 값 |
설명 |
구독 |
구독 이름입니다. |
서버에 사용할 Azure 구독입니다. 구독이 여러 개인 경우 해당 리소스에 대해 요금이 청구되는 구독을 선택합니다. |
리소스 그룹 |
myresourcegroup |
새 리소스 그룹 이름 또는 구독의 기존 이름입니다. |
지역 |
사용자에게 가장 가까운 지역입니다. |
지역은 리소스 그룹을 만드는 데 사용됩니다. |
Postgre SQL 관리자 암호 |
해당 없음 |
PostgreSQL 서버 관리자의 암호입니다. |
Postgre SQL 사용자 암호 |
해당 없음 |
PostgreSQL 애플리케이션 사용자의 암호로, 애플리케이션에서 사용입니다. |
검토 및 만들기를 선택하여 선택 사항을 검토합니다. 그런 다음 만들기를 선택하여 앱을 Azure Spring Apps에 배포합니다.
배포 프로세스를 모니터링하려면 도구 모음에서 알림 아이콘(벨)을 선택합니다. 배포가 완료된 후 대시보드에 고정을 선택하면 Azure Portal 대시보드에서 이 서비스의 타일을 서비스 개요 페이지에 대한 바로 가기로 만들 수 있습니다.
리소스로 이동을 선택하여 서비스의 개요 페이지를 엽니다.
3.1. Azure 포털
Azure Portal로 이동하고 자격 증명을 입력하여 포털에 로그인합니다. 기본 보기는 서비스 대시보드입니다.
3.2. Azure Spring Apps 인스턴스 만들기
다음 단계를 따라 서비스 인스턴스를 만듭니다.
Azure Portal의 모서리에서 리소스 만들기를 선택합니다.
컴퓨팅>Azure Spring Apps를 선택합니다.
다음 정보로 기본 사항 양식을 입력합니다.
설정 |
제안 값 |
설명 |
구독 |
구독 이름입니다. |
서버에 사용할 Azure 구독입니다. 구독이 여러 개인 경우 해당 리소스에 대해 요금이 청구되는 구독을 선택합니다. |
리소스 그룹 |
myresourcegroup |
새 리소스 그룹 이름 또는 구독의 기존 이름입니다. |
이름 |
myasa |
Azure Spring Apps 서비스를 식별하는 고유한 이름입니다. 이름은 4-32자 사이여야 하며, 소문자, 숫자 및 하이픈(-) 문자만 포함할 수 있습니다. 서비스 이름의 첫 글자는 문자여야 하며 마지막 문자는 문자 또는 숫자여야 합니다. |
계획 |
엔터프라이즈 |
인스턴스와 관련된 리소스 및 비용을 결정하는 요금제입니다. |
지역 |
사용자에게 가장 가까운 지역입니다. |
사용자에게 가장 가까운 위치입니다. |
영역 중복 |
선택 취소 |
Azure 가용성 영역에 Azure Spring Apps 서비스를 만드는 옵션입니다. 이 기능은 현재 모든 지역에서 지원되지 않습니다. |
소프트웨어 IP 플랜 |
종량제 |
Azure Spring Apps를 사용한 만큼 결제합니다. |
Terms |
선택한 상태 |
Marketplace 제품과 관련된 계약 확인란입니다. 이 확인란을 선택해야 합니다. |
샘플 프로젝트 배포 |
선택 취소 |
기본 제공 샘플 애플리케이션을 사용하는 옵션입니다. |
검토 및 만들기를 선택하여 선택 사항을 검토합니다. 그런 다음, 만들기를 선택하여 Azure Spring Apps 인스턴스를 프로비전합니다.
배포 프로세스를 모니터링하려면 도구 모음에서 알림 아이콘(벨)을 선택합니다. 배포가 완료된 후 대시보드에 고정을 선택하면 Azure Portal 대시보드에서 이 서비스의 타일을 서비스 개요 페이지에 대한 바로 가기로 만들 수 있습니다.
리소스로 이동을 선택하여 Azure Spring Apps 개요 페이지로 이동합니다.
3.3. PostgreSQL 인스턴스 준비
다음 단계에 따라 Azure Database for PostgreSQL 서버를 만듭니다.
Azure Portal에서 리소스 만들기를 선택합니다.
데이터베이스>Azure Database for PostgreSQL 유연한 서버를 선택합니다.
기본 탭에 다음 정보를 입력합니다.
-
서버 이름: my-demo-pgsql
-
지역: 미국 동부
-
PostgreSQL 버전: 14
-
워크로드 유형: 개발
-
고가용성 사용: 선택 안 함
-
인증 방법: PostgreSQL 인증만
-
관리자 사용자 이름: myadmin
-
암호 및 암호 확인: 암호를 입력합니다.
다음 정보를 사용하여 네트워킹 탭을 구성합니다.
-
연결 방법: 퍼블릭 액세스(허용된 IP 주소)
-
Azure 내의 모든 Azure 서비스에서 이 서버로의 공용 액세스 허용: 선택
검토 + 만들기를 선택하여 선택 사항을 검토한 다음, 만들기를 선택하여 서버를 프로비전합니다. 이 작업은 몇 분 정도 걸릴 수 있습니다.
Azure Portal에서 PostgreSQL 서버로 이동합니다.
탐색 메뉴에서 데이터베이스를 선택하여 데이터베이스(예: Todo)를 만듭니다.
3.4 앱 인스턴스를 PostgreSQL 인스턴스에 연결
다음 단계에 따라 서비스 인스턴스를 연결합니다.
Azure Portal에서 Azure Spring Apps 인스턴스로 이동합니다.
탐색 창에서 앱을 연 다음, 앱 만들기를 선택합니다.
앱 만들기 페이지에서 앱 이름으로 simple-todo-web을 입력하고 나머지 필드는 기본값으로 둡니다.
만들기를 선택하여 앱 만들기를 완료한 다음, 앱을 선택하여 세부 정보를 확인합니다.
탐색 창에서 서비스 커넥터를 선택한 다음, 만들기를 선택하여 새 서비스 연결을 만듭니다.
기본 탭에 다음 정보를 입력합니다.
-
서비스 유형: DB for PostgreSQL 유연한 서버
-
연결 이름: 자동 생성된 이름으로 채워지며, 사용자가 수정할 수 있습니다.
-
구독: 구독을 선택합니다.
-
PostgreSQL 유연한 서버: my-demo-pgsql
-
PostgreSQL 데이터베이스: 만든 데이터베이스를 선택합니다.
-
클라이언트 유형: SpringBoot
다음 정보를 사용하여 다음: 인증 탭을 구성합니다.
참고 항목
사용 가능한 가장 안전한 인증 흐름을 사용하는 것이 권장됩니다. 데이터베이스, 캐시, 메시징 또는 AI 서비스와 같이 이 절차에서 설명하는 인증 흐름은 애플리케이션에 대한 신뢰 수준이 매우 높고 다른 흐름에 존재하지 않는 위험을 수반합니다. 암호 없는 연결 또는 키 없는 연결에 대한 관리 ID와 같은 더 안전한 옵션이 실행 가능하지 않은 경우에만 이 흐름을 사용합니다. 로컬 컴퓨터 작업의 경우 암호 없는 연결이나 키 없는 연결에 사용자 ID를 사용하는 것이 좋습니다.
-
컴퓨팅 서비스와 대상 서비스 간에 사용할 인증 유형 선택: 연결 문자열을 선택합니다.
-
계속...: 데이터베이스 자격 증명을 선택합니다.
-
사용자 이름: myadmin
-
암호: 암호를 입력합니다.
다음: 네트워킹을 선택합니다. 기본 옵션인 대상 서비스에 대한 액세스를 사용하도록 방화벽 규칙 구성을 사용합니다.
다음: 검토 및 만들기를 선택하여 선택 사항을 검토한 다음, 만들기를 선택하여 연결을 만듭니다.
3.1. 각 리소스에 대한 이름 제공
다음 명령을 사용하여 리소스 이름을 저장할 변수를 만듭니다. 자리 표시자를 사용자의 값으로 바꿔야 합니다.
참고 항목
사용 가능한 가장 안전한 인증 흐름을 사용하는 것이 권장됩니다. 데이터베이스, 캐시, 메시징 또는 AI 서비스와 같이 이 절차에서 설명하는 인증 흐름은 애플리케이션에 대한 신뢰 수준이 매우 높고 다른 흐름에 존재하지 않는 위험을 수반합니다. 암호 없는 연결 또는 키 없는 연결에 대한 관리 ID와 같은 더 안전한 옵션이 실행 가능하지 않은 경우에만 이 흐름을 사용합니다. 로컬 컴퓨터 작업의 경우 암호 없는 연결이나 키 없는 연결에 사용자 ID를 사용하는 것이 좋습니다.
export RESOURCE_GROUP=<resource-group-name>
export LOCATION=<location>
export POSTGRESQL_SERVER=<server-name>
export POSTGRESQL_DB=<database-name>
export POSTGRESQL_ADMIN_USERNAME=<admin-username>
export POSTGRESQL_ADMIN_PASSWORD=<admin-password>
export AZURE_SPRING_APPS_NAME=<Azure-Spring-Apps-service-instance-name>
export APP_NAME=<web-app-name>
3.2. 새 리소스 그룹 만들기
다음 단계에 따라 새 리소스 그룹을 만듭니다.
다음 명령을 사용하여 Azure CLI에 로그인합니다.
az login
다음 명령을 사용하여 기본 위치를 설정합니다.
az configure --defaults location=${LOCATION}
다음 명령을 사용하여 사용할 구독 ID를 결정하는 데 사용할 수 있는 모든 구독을 나열합니다.
az account list --output table
다음 명령을 사용하여 기본 구독을 설정합니다.
az account set --subscription <subscription-ID>
다음 명령을 사용하여 리소스 그룹을 만듭니다.
az group create --resource-group ${RESOURCE_GROUP}
다음 명령을 사용하여 새로 만든 리소스 그룹을 기본 리소스 그룹으로 설정합니다.
az configure --defaults group=${RESOURCE_GROUP}
3.3. Azure Spring Apps 인스턴스 만들기
Azure Spring Apps는 Spring 웹앱을 호스트하는 데 사용됩니다. Azure Spring Apps 인스턴스를 만들고 그 안에 애플리케이션을 만듭니다.
다음 명령을 사용하여 Azure Spring Apps 서비스 인스턴스를 만듭니다.
az spring create --name ${AZURE_SPRING_APPS_NAME} --sku enterprise
다음 명령을 사용하여 Azure Spring Apps 인스턴스 안에 애플리케이션을 만듭니다.
az spring app create \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME} \
--assign-endpoint true
3.4 PostgreSQL 인스턴스 준비
Spring 웹앱은 H2를 localhost의 데이터베이스에 사용하고, Azure Database for PostgreSQL을 Azure의 데이터베이스에 사용합니다.
다음 명령을 사용하여 PostgreSQL 인스턴스를 만듭니다.
참고 항목
사용 가능한 가장 안전한 인증 흐름을 사용하는 것이 권장됩니다. 데이터베이스, 캐시, 메시징 또는 AI 서비스와 같이 이 절차에서 설명하는 인증 흐름은 애플리케이션에 대한 신뢰 수준이 매우 높고 다른 흐름에 존재하지 않는 위험을 수반합니다. 암호 없는 연결 또는 키 없는 연결에 대한 관리 ID와 같은 더 안전한 옵션이 실행 가능하지 않은 경우에만 이 흐름을 사용합니다. 로컬 컴퓨터 작업의 경우 암호 없는 연결이나 키 없는 연결에 사용자 ID를 사용하는 것이 좋습니다.
az postgres flexible-server create \
--name ${POSTGRESQL_SERVER} \
--database-name ${POSTGRESQL_DB} \
--admin-user ${POSTGRESQL_ADMIN_USERNAME} \
--admin-password ${POSTGRESQL_ADMIN_PASSWORD} \
--public-access 0.0.0.0
0.0.0.0
을 지정하면 Azure 내에 배포된 모든 리소스에서 공용 액세스로 서버에 액세스할 수 있습니다.
3.5. 앱 인스턴스를 PostgreSQL 인스턴스에 연결
애플리케이션 인스턴스와 PostgreSQL 인스턴스가 만들어지면 애플리케이션 인스턴스에서 PostgreSQL 인스턴스에 직접 액세스할 수 없습니다. 다음 단계에 따라 앱이 PostgreSQL 인스턴스에 연결되도록 합니다.
다음 명령을 사용하여 PostgreSQL 인스턴스의 정규화된 도메인 이름을 가져옵니다.
export PSQL_FQDN=$(az postgres flexible-server show \
--name ${POSTGRESQL_SERVER} \
--query fullyQualifiedDomainName \
--output tsv)
다음 명령을 사용하여 환경 변수를 통해 spring.datasource.
속성을 앱에 제공합니다.
참고 항목
사용 가능한 가장 안전한 인증 흐름을 사용하는 것이 권장됩니다. 데이터베이스, 캐시, 메시징 또는 AI 서비스와 같이 이 절차에서 설명하는 인증 흐름은 애플리케이션에 대한 신뢰 수준이 매우 높고 다른 흐름에 존재하지 않는 위험을 수반합니다. 암호 없는 연결 또는 키 없는 연결에 대한 관리 ID와 같은 더 안전한 옵션이 실행 가능하지 않은 경우에만 이 흐름을 사용합니다. 로컬 컴퓨터 작업의 경우 암호 없는 연결이나 키 없는 연결에 사용자 ID를 사용하는 것이 좋습니다.
az spring app update \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME} \
--env SPRING_DATASOURCE_URL="jdbc:postgresql://${PSQL_FQDN}:5432/${POSTGRESQL_DB}?sslmode=require" \
SPRING_DATASOURCE_USERNAME="${POSTGRESQL_ADMIN_USERNAME}" \
SPRING_DATASOURCE_PASSWORD="${POSTGRESQL_ADMIN_PASSWORD}"
4. Azure Spring Apps에 앱 배포
이전 섹션에서 Azure에 배포 단추를 누르면 애플리케이션 배포가 포함된 Azure Portal 환경이 시작되므로 다른 작업은 필요하지 않습니다.
다음 단계를 따라 Azure Spring Apps용 Maven 플러그 인을 사용하여 배포합니다.
전체 디렉터리로 이동한 후 다음 명령을 실행하여 Azure Spring Apps에서 앱을 구성합니다.
./mvnw com.microsoft.azure:azure-spring-apps-maven-plugin:1.19.0:config
다음 목록에서는 명령 상호 작용을 설명합니다.
-
자식 모듈을 선택하여구성: 구성할 모듈을 선택한 다음, SimpleTodo Web 모듈의 수를 입력합니다.
-
OAuth2 로그인: OAuth2 프로토콜에 따라 Azure에 대한 로그인 권한을 부여해야 합니다.
-
구독 선택: 만든 Azure Spring Apps 인스턴스의 구독 목록 번호를 선택합니다. 기본값은 목록의 첫 번째 구독입니다. 기본 번호를 사용하는 경우 바로 Enter 키를 누릅니다.
-
Azure에서 기존 Azure Spring Apps 사용: 기존 Azure Spring Apps 인스턴스를 사용하려면 y 키를 누릅니다.
-
배포할 Azure Spring Apps 선택: 만든 Azure Spring Apps 인스턴스의 번호를 선택합니다. 기본 번호를 사용하는 경우 Enter 키를 직접 누릅니다.
-
이 앱에 대한 공용 액세스 노출: y 키를 누릅니다.
-
위 모든 구성 저장 확인: y 키를 누릅니다.
n 키를 누르면 구성이 POM 파일에 저장되지 않습니다.
다음 명령을 사용하여 앱을 배포합니다.
./mvnw azure-spring-apps:deploy
다음 목록에서는 명령 상호 작용을 설명합니다.
-
OAuth2 로그인: OAuth2 프로토콜에 따라 Azure에 대한 로그인 권한을 부여해야 합니다.
명령이 실행되면 다음 로그 메시지에서 배포가 성공했음을 확인할 수 있습니다.
[INFO] Deployment Status: Running
[INFO] InstanceName:simple-todo-web-default-15-xxxxxxxxx-xxxxx Status:Running Reason:null DiscoverStatus:N/A
[INFO] Getting public url of app(simple-todo-web)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-simple-todo-web.azuremicroservices.io
출력 애플리케이션 url은 todo
애플리케이션에 액세스하는 엔드포인트입니다.
클라우드 환경이 준비되었으므로, 이제 애플리케이션을 배포할 수 있습니다. 다음 명령을 사용하여 앱을 배포합니다.
az spring app deploy \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME} \
--artifact-path web/target/simple-todo-web.jar
2. Spring 프로젝트 준비
이후 단계에서 Azure Portal을 사용하지만, Bash 명령줄을 사용하여 프로젝트를 로컬로 준비해야 합니다. 다음 단계에 따라 앱을 로컬로 복제하고 실행합니다.
다음 명령을 사용하여 GitHub에서 샘플 프로젝트를 복제합니다.
git clone https://github.com/Azure-Samples/ASA-Samples-Web-Application.git
다음 명령을 실행하여 Maven에서 샘플 프로젝트를 빌드합니다.
cd ASA-Samples-Web-Application
./mvnw clean package
다음 명령을 사용하여 샘플 애플리케이션을 실행합니다.
java -jar web/target/simple-todo-web.jar
사용하는 브라우저에서 http://localhost:8080
으로 이동하여 애플리케이션에 액세스합니다.
다음 단계에 따라 Azure Developer CLI 템플릿에서 웹 애플리케이션을 초기화합니다.
터미널을 열고 빈 폴더를 만든 다음, 디렉터리를 변경합니다.
다음 명령을 사용하여 프로젝트를 초기화합니다.
azd init --template https://github.com/Azure-Samples/ASA-Samples-Web-Application
다음 목록에서는 명령 상호 작용을 설명합니다.
-
새 환경 이름 입력: 환경 이름을 입력합니다. 모든 Azure 리소스를 보관하기 위해 만든 리소스 그룹의 접미사로 사용됩니다. 이 이름은 Azure 구독 내에서 고유해야 합니다.
콘솔에 다음 예제와 비슷한 메시지가 표시됩니다.
Initializing a new project (azd init)
(✓) Done: Initialized git repository
(✓) Done: Downloading template code to: <your-local-path>
Enter a new environment name: <your-env-name>
SUCCESS: New project initialized!
You can view the template code in your directory: <your-local-path>
Learn more about running 3rd party code on our DevHub: https://aka.ms/azd-third-party-code-notice
3. 클라우드 환경 준비
이 샘플을 실행하는 데 필요한 주요 리소스는 Azure Spring Apps 인스턴스와 Azure Database for PostgreSQL 인스턴스입니다. 이 섹션에서는 이러한 리소스를 만드는 단계를 제공합니다.
이 섹션에서는 Azure에 배포 단추를 사용하여 Azure Portal에서 배포 환경을 시작합니다. 이 환경에서는 ARM 템플릿을 사용하여 Azure 리소스를 만듭니다.
3.1. Azure Portal에 로그인
Azure Portal로 이동하고 자격 증명을 입력하여 포털에 로그인합니다. 기본 보기는 서비스 대시보드입니다.
3.2. Azure 리소스 만들기
다음 단계를 따라 앱에 사용하는 모든 Azure 리소스를 만듭니다.
다음 Azure에 배포 단추를 선택하여 Azure Portal에서 배포 환경을 시작합니다.
기본 사항 탭에서 양식을 작성합니다. 양식을 작성하기 위한 지침으로 다음 표를 사용합니다.
설정 |
제안 값 |
설명 |
구독 |
구독 이름입니다. |
서버에 사용할 Azure 구독입니다. 구독이 여러 개인 경우 해당 리소스에 대해 요금이 청구되는 구독을 선택합니다. |
리소스 그룹 |
myresourcegroup |
새 리소스 그룹 이름 또는 구독의 기존 이름입니다. |
지역 |
사용자에게 가장 가까운 지역입니다. |
지역은 리소스 그룹을 만드는 데 사용됩니다. |
PostgreSQL 관리자 암호 |
해당 없음 |
PostgreSQL 서버 관리자의 암호입니다. |
PostgreSQL 사용자 암호 |
해당 없음 |
PostgreSQL 애플리케이션 사용자의 암호로, 애플리케이션에서 사용입니다. |
검토 및 만들기를 선택하여 선택 사항을 검토합니다. 그런 다음 만들기를 선택하여 앱을 Azure Spring Apps에 배포합니다.
배포 프로세스를 모니터링하려면 도구 모음에서 알림 아이콘(벨)을 선택합니다. 배포가 완료된 후 대시보드에 고정을 선택하면 Azure Portal 대시보드에서 이 서비스의 타일을 서비스 개요 페이지에 대한 바로 가기로 만들 수 있습니다.
리소스로 이동을 선택하여 서비스의 개요 페이지를 엽니다.
다음 단계에 따라 Azure Spring Apps 인스턴스 및 Azure Database for PostgreSQL 인스턴스를 만듭니다.
3.1. Azure 포털
Azure Portal로 이동하고 자격 증명을 입력하여 포털에 로그인합니다. 기본 보기는 서비스 대시보드입니다.
3.2. Azure Spring Apps 인스턴스 만들기
아래 단계를 수행하여 서비스 인스턴스를 만듭니다.
포털의 모서리에서 리소스 만들기를 선택합니다.
컴퓨팅>Azure Spring Apps를 선택합니다.
기본 사항 탭에서 양식을 작성합니다. 양식을 작성하기 위한 지침으로 다음 표를 사용합니다.
설정 |
제안 값 |
설명 |
구독 |
구독 이름입니다. |
서버에 사용할 Azure 구독입니다. 구독이 여러 개인 경우 해당 리소스에 대해 요금이 청구되는 구독을 선택합니다. |
리소스 그룹 |
myresourcegroup |
새 리소스 그룹 이름 또는 구독의 기존 이름입니다. |
이름 |
myasa |
Azure Spring Apps 서비스를 식별하는 고유한 이름입니다. 이름은 4-32자 사이여야 하며, 소문자, 숫자 및 하이픈(-) 문자만 포함할 수 있습니다. 서비스 이름의 첫 글자는 문자여야 하며 마지막 문자는 문자 또는 숫자여야 합니다. |
계획 |
표준 사용량 및 전용(미리 보기) |
요금제에 따라 인스턴스와 관련된 리소스 및 비용이 결정됩니다. |
지역 |
사용자에게 가장 가까운 지역입니다. |
사용자에게 가장 가까운 위치입니다. |
Container Apps 환경 |
myacaenv |
환경은 서로 통신하고 가상 네트워크, 로깅 및 Dapr 구성을 공유할 수 있는 컨테이너 앱 하나 이상의 보안 경계입니다. |
(선택 사항) 기본 사항 탭에 다음 정보를 입력하여 Container Apps 환경을 만듭니다.
-
환경 이름: myacaenv
-
플랜: 사용량
-
영역 중복: 사용 안 함
그런 다음, 만들기를 선택하여 Container Apps 환경을 만듭니다.
검토 및 만들기를 선택하여 선택 사항을 검토합니다. 그런 다음, 만들기를 선택하여 Azure Spring Apps 인스턴스를 프로비전합니다.
배포 프로세스를 모니터링하려면 도구 모음에서 알림 아이콘(벨)을 선택합니다. 배포가 완료된 후 대시보드에 고정을 선택하면 Azure Portal 대시보드에서 이 서비스의 타일을 서비스 개요 페이지에 대한 바로 가기로 만들 수 있습니다.
리소스로 이동을 선택하여 서비스의 개요 페이지를 엽니다.
3.3. PostgreSQL 인스턴스 준비
다음 단계에 따라 Azure Database for PostgreSQL 서버를 만듭니다.
Azure Portal에서 리소스 만들기를 선택합니다.
데이터베이스>Azure Database for PostgreSQL 유연한 서버를 선택합니다.
기본 탭에 다음 정보를 입력합니다.
-
서버 이름: my-demo-pgsql
-
지역: 미국 동부
-
PostgreSQL 버전: 14
-
워크로드 유형: 개발
-
고가용성 사용: 선택 안 함
-
인증 방법: PostgreSQL 인증만
-
관리자 사용자 이름: myadmin
-
암호 및 암호 확인: 암호를 입력합니다.
다음 정보를 사용하여 네트워킹 탭을 구성합니다.
-
연결 방법: 퍼블릭 액세스(허용된 IP 주소)
-
Azure 내의 모든 Azure 서비스에서 이 서버로의 공용 액세스 허용: 선택
검토 + 만들기를 선택하여 선택 사항을 검토한 다음, 만들기를 선택하여 서버를 프로비전합니다. 이 작업은 몇 분 정도 걸릴 수 있습니다.
Azure Portal에서 PostgreSQL 서버로 이동합니다.
탐색 메뉴에서 데이터베이스를 선택하여 데이터베이스(예: Todo)를 만듭니다.
3.4 앱 인스턴스를 PostgreSQL 인스턴스에 연결
다음 단계에 따라 서비스 인스턴스를 연결합니다.
Azure Portal에서 Azure Spring Apps 인스턴스로 이동합니다.
탐색 창에서 앱을 연 다음, 앱 만들기를 선택합니다.
앱 만들기 페이지에서 앱 이름으로 simple-todo-web을 입력한 다음, 빠른 시작 샘플 앱 사용을 선택하여 앱을 만듭니다.
만들기를 선택하여 앱 만들기를 완료한 다음, 앱을 선택하여 세부 정보를 확인합니다.
탐색 창에서 구성을 선택한 다음, 환경 변수 탭에서 다음 속성을 구성합니다.
-
SPRING_DATASOURCE_URL: jdbc:postgresql://my-demo-pgsql.postgres.database.azure.com:5432/todo?sslmode=require
-
SPRING_DATASOURCE_USERNAME: myadmin
-
SPRING_DATASOURCE_PASSWORD: 암호를 입력합니다.
저장을 선택하여 연결 속성을 저장합니다.
다음 단계에 따라 Azure Spring Apps 인스턴스 및 Azure Database for PostgreSQL 인스턴스를 만듭니다.
다음 명령을 사용하여 OAuth2로 Azure에 로그인합니다. 이미 로그인했으면 이 단계를 무시합니다.
azd auth login
콘솔에 다음 예제와 비슷한 메시지가 표시됩니다.
Logged in to Azure.
다음 명령을 사용하여 템플릿의 인프라를 Azure에 프로비전합니다.
azd provision
다음 목록에서는 명령 상호 작용을 설명합니다.
-
사용할 Azure 구독 선택: 화살표를 사용하여 이동하고 필터링할 대상을 입력한 다음, Enter 키를 누릅니다.
-
사용할 Azure 위치 선택: 화살표를 사용하여 이동하고 필터링할 대상을 입력한 다음, Enter 키를 누릅니다.
콘솔에 다음 예제와 비슷한 메시지가 표시됩니다.
SUCCESS: Your application was provisioned in Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
참고 항목
이 명령을 완료하는 데 다소 시간이 걸릴 수 있습니다. Azure 리소스를 프로비전하면 진행률 표시기가 표시됩니다.
4. Azure Spring Apps에 앱 배포
이전 섹션에서 Azure에 배포 단추를 누르면 애플리케이션 배포가 포함된 Azure Portal 환경이 시작되므로 다른 작업은 필요하지 않습니다.
다음 단계를 따라 Azure Spring Apps용 Maven 플러그 인을 사용하여 배포합니다.
전체 디렉터리로 이동한 후 다음 명령을 실행하여 Azure Spring Apps에서 앱을 구성합니다.
./mvnw com.microsoft.azure:azure-spring-apps-maven-plugin:1.19.0:config
다음 목록에서는 명령 상호 작용을 설명합니다.
-
자식 모듈을 선택하여구성: 구성할 모듈을 선택한 다음, SimpleTodo Web 모듈의 수를 입력합니다.
-
OAuth2 로그인: OAuth2 프로토콜에 따라 Azure에 대한 로그인 권한을 부여해야 합니다.
-
구독 선택: 만든 Azure Spring Apps 인스턴스의 구독 목록 번호를 선택합니다. 기본값은 목록의 첫 번째 구독입니다. 기본 번호를 사용하는 경우 바로 Enter 키를 누릅니다.
-
Azure에서 기존 Azure Spring Apps 사용: 기존 Azure Spring Apps 인스턴스를 사용하려면 y 키를 누릅니다.
-
배포할 Azure Spring Apps 선택: 만든 Azure Spring Apps 인스턴스의 번호를 선택합니다. 기본 번호를 사용하는 경우 Enter 키를 직접 누릅니다.
-
이 앱에 대한 공용 액세스 노출: y 키를 누릅니다.
-
위 모든 구성 저장 확인: y 키를 누릅니다.
n 키를 누르면 구성이 POM 파일에 저장되지 않습니다.
다음 명령을 사용하여 앱을 배포합니다.
./mvnw azure-spring-apps:deploy
다음 목록에서는 명령 상호 작용을 설명합니다.
-
OAuth2 로그인: OAuth2 프로토콜에 따라 Azure에 대한 로그인 권한을 부여해야 합니다.
명령이 실행되면 다음 로그 메시지에서 배포가 성공했음을 확인할 수 있습니다.
[INFO] Start updating app(simple-todo-web)...
[INFO] App(simple-todo-web) is successfully updated.
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
[INFO] InstanceName:simple-todo-web--default-xxxxxxx-xxxxxxxxx-xxxxx Status:Running Reason:null DiscoverStatus:NONE
[INFO] Getting public url of app(simple-todo-web)...
[INFO] Application url: https://simple-todo-web.<unique-identifier>.<region-name>.azurecontainerapps.io
출력 애플리케이션 url은 todo
애플리케이션에 액세스하는 엔드포인트입니다.
이제 앱을 Azure Spring Apps에 배포할 수 있습니다. 다음 단계를 수행하여 앱을 패키지하고 웹 애플리케이션에 필요한 Azure 리소스를 프로비전한 다음, Azure Spring Apps에 배포합니다.
다음 명령을 사용하여 배포 가능한 애플리케이션 복사본을 패키지합니다.
azd package
콘솔에 다음 예제와 비슷한 메시지가 표시됩니다.
SUCCESS: Your application was packaged for Azure in xx seconds.
다음 명령을 사용하여 애플리케이션 코드를 새롭게 프로비전된 해당 리소스에 배포합니다.
azd deploy
콘솔에 다음 예제와 비슷한 메시지가 표시됩니다.
Deploying services (azd deploy)
(✓) Done: Deploying service simple-todo-web
- Endpoint: https://simple-todo-web.xxx.<your-azure-location>.azurecontainerapps.io
SUCCESS: Your application was deployed to Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
출력 엔드포인트는 todo
애플리케이션에 액세스하는 엔드포인트입니다.
2. Spring 프로젝트 준비
이후 단계에서 Azure Portal을 사용하지만, Bash 명령줄을 사용하여 프로젝트를 로컬로 준비해야 합니다. 다음 단계에 따라 앱을 로컬로 복제하고 실행합니다.
다음 명령을 사용하여 GitHub에서 샘플 프로젝트를 복제합니다.
git clone https://github.com/Azure-Samples/ASA-Samples-Web-Application.git
다음 명령을 실행하여 Maven에서 샘플 프로젝트를 빌드합니다.
cd ASA-Samples-Web-Application
./mvnw clean package
다음 명령을 사용하여 샘플 애플리케이션을 실행합니다.
java -jar web/target/simple-todo-web.jar
사용하는 브라우저에서 http://localhost:8080
으로 이동하여 애플리케이션에 액세스합니다.
다음 단계에 따라 Azure Developer CLI 템플릿에서 웹 애플리케이션을 초기화합니다.
터미널을 열고 빈 폴더를 만든 다음, 디렉터리를 변경합니다.
다음 명령을 사용하여 프로젝트를 초기화합니다.
azd init --template https://github.com/Azure-Samples/ASA-Samples-Web-Application
다음 목록에서는 명령 상호 작용을 설명합니다.
-
새 환경 이름 입력: 환경 이름을 입력합니다. 모든 Azure 리소스를 보관하기 위해 만든 리소스 그룹의 접미사로 사용됩니다. 이 이름은 Azure 구독 내에서 고유해야 합니다.
콘솔에 다음 예제와 비슷한 메시지가 표시됩니다.
Initializing a new project (azd init)
(✓) Done: Initialized git repository
(✓) Done: Downloading template code to: <your-local-path>
Please enter a new environment name: <your-env-name>
SUCCESS: New project initialized!
You can view the template code in your directory: <your-local-path>
Learn more about running 3rd party code on our DevHub: https://aka.ms/azd-third-party-code-notice
3. 클라우드 환경 준비
이 샘플을 실행하는 데 필요한 주요 리소스는 Azure Spring Apps 인스턴스와 Azure Database for PostgreSQL 인스턴스입니다. 이 섹션에서는 이러한 리소스를 만드는 단계를 제공합니다.
이 섹션에서는 Azure에 배포 단추를 사용하여 Azure Portal에서 배포 환경을 시작합니다. 이 환경에서는 ARM 템플릿을 사용하여 Azure 리소스를 만듭니다.
3.1. Azure Portal에 로그인
Azure Portal로 이동하고 자격 증명을 입력하여 포털에 로그인합니다. 기본 보기는 서비스 대시보드입니다.
3.2. Azure 리소스 만들기
다음 단계를 따라 앱에 사용하는 모든 Azure 리소스를 만듭니다.
다음 Azure에 배포 단추를 선택하여 Azure Portal에서 배포 환경을 시작합니다.
기본 사항 탭에서 양식을 작성합니다. 양식을 작성하기 위한 지침으로 다음 표를 사용합니다.
설정 |
제안 값 |
설명 |
구독 |
구독 이름입니다. |
서버에 사용할 Azure 구독입니다. 구독이 여러 개인 경우 해당 리소스에 대해 요금이 청구되는 구독을 선택합니다. |
리소스 그룹 |
myresourcegroup |
새 리소스 그룹 이름 또는 구독의 기존 이름입니다. |
지역 |
사용자에게 가장 가까운 지역입니다. |
지역은 리소스 그룹을 만드는 데 사용됩니다. |
Postgre SQL 관리자 암호 |
해당 없음 |
PostgreSQL 서버 관리자의 암호입니다. |
Postgre SQL 사용자 암호 |
해당 없음 |
PostgreSQL 애플리케이션 사용자의 암호로, 애플리케이션에서 사용입니다. |
검토 및 만들기를 선택하여 선택 사항을 검토합니다. 그런 다음, 만들기를 선택하여 앱을 Azure Spring Apps에 배포합니다.
배포 프로세스를 모니터링하려면 도구 모음에서 알림 아이콘(벨)을 선택합니다. 배포가 완료된 후 대시보드에 고정을 선택하면 Azure Portal 대시보드에서 이 서비스의 타일을 서비스 개요 페이지에 대한 바로 가기로 만들 수 있습니다.
리소스로 이동을 선택하여 서비스의 개요 페이지를 엽니다.
다음 단계에 따라 Azure Spring Apps 인스턴스 및 Azure Database for PostgreSQL 인스턴스를 만듭니다.
3.1. Azure Portal에 로그인
Azure Portal로 이동하고 자격 증명을 입력하여 포털에 로그인합니다. 기본 보기는 서비스 대시보드입니다.
3.2. Azure Spring Apps 인스턴스 만들기
아래 단계를 수행하여 서비스 인스턴스를 만듭니다.
포털의 모서리에서 리소스 만들기를 선택합니다.
컴퓨팅>Azure Spring Apps를 선택합니다.
기본 사항 탭에서 양식을 작성합니다. 양식을 작성하기 위한 지침으로 다음 표를 사용합니다.
설정 |
제안 값 |
설명 |
구독 |
구독 이름입니다. |
서버에 사용할 Azure 구독입니다. 구독이 여러 개인 경우 해당 리소스에 대해 요금이 청구되는 구독을 선택합니다. |
리소스 그룹 |
myresourcegroup |
새 리소스 그룹 이름 또는 구독의 기존 이름입니다. |
이름 |
myasa |
Azure Spring Apps 서비스를 식별하는 고유한 이름입니다. 이름은 4-32자 사이여야 하며, 소문자, 숫자 및 하이픈(-) 문자만 포함할 수 있습니다. 서비스 이름의 첫 글자는 문자여야 하며 마지막 문자는 문자 또는 숫자여야 합니다. |
계획 |
기본 |
요금제에 따라 인스턴스와 관련된 리소스 및 비용이 결정됩니다. |
지역 |
사용자에게 가장 가까운 지역입니다. |
사용자에게 가장 가까운 위치입니다. |
영역 중복 |
선택 취소 |
Azure 가용성 영역에 Azure Spring Apps 서비스를 만들지 여부를 결정합니다. 현재 이 기능은 일부 지역에서만 지원됩니다. |
검토 및 만들기를 선택하여 선택 사항을 검토합니다. 그런 다음, 만들기를 선택하여 Azure Spring Apps 인스턴스를 프로비전합니다.
배포 프로세스를 모니터링하려면 도구 모음에서 알림 아이콘(벨)을 선택합니다. 배포가 완료된 후 대시보드에 고정을 선택하면 Azure Portal 대시보드에서 이 서비스의 타일을 서비스 개요 페이지에 대한 바로 가기로 만들 수 있습니다.
리소스로 이동을 선택하여 서비스의 개요 페이지를 엽니다.
3.3. PostgreSQL 인스턴스 준비
다음 단계에 따라 Azure Database for PostgreSQL 서버를 만듭니다.
Azure Portal에서 리소스 만들기를 선택합니다.
데이터베이스>Azure Database for PostgreSQL 유연한 서버를 선택합니다.
기본 탭에 다음 정보를 입력합니다.
-
서버 이름: my-demo-pgsql
-
지역: 미국 동부
-
PostgreSQL 버전: 14
-
워크로드 유형: 개발
-
고가용성 사용: 선택 안 함
-
인증 방법: PostgreSQL 인증만
-
관리자 사용자 이름: myadmin
-
암호 및 암호 확인: 암호를 입력합니다.
다음 정보를 사용하여 네트워킹 탭을 구성합니다.
-
연결 방법: 퍼블릭 액세스(허용된 IP 주소)
-
Azure 내의 모든 Azure 서비스에서 이 서버로의 공용 액세스 허용: 선택
검토 + 만들기를 선택하여 선택 사항을 검토한 다음, 만들기를 선택하여 서버를 프로비전합니다. 이 작업은 몇 분 정도 걸릴 수 있습니다.
Azure Portal에서 PostgreSQL 서버로 이동합니다.
탐색 메뉴에서 데이터베이스를 선택하여 데이터베이스(예: Todo)를 만듭니다.
3.4 앱 인스턴스를 PostgreSQL 인스턴스에 연결
다음 단계에 따라 서비스 인스턴스를 연결합니다.
Azure Portal에서 Azure Spring Apps 인스턴스로 이동합니다.
탐색 창에서 앱 창을 연 다음, 앱 만들기를 선택합니다.
앱 만들기 페이지에서 앱 이름으로 simple-todo-web을 입력하고, 런타임 플랫폼으로 java 17을 선택합니다.
만들기를 선택하여 앱 만들기를 완료하고, 앱을 선택하여 세부 정보를 확인합니다.
탐색 창에서 Service Connector를 선택한 다음, 만들기를 선택하여 새 서비스 연결을 만듭니다.
기본 탭에 다음 정보를 입력합니다.
-
서비스 유형: DB for PostgreSQL 유연한 서버
-
연결 이름: 자동 생성된 이름으로 채워지며, 사용자가 수정할 수 있습니다.
-
구독: 구독을 선택합니다.
-
PostgreSQL 유연한 서버: my-demo-pgsql
-
PostgreSQL 데이터베이스: 만든 데이터베이스를 선택합니다.
-
클라이언트 유형: SpringBoot
다음 정보를 사용하여 다음: 인증 탭을 구성합니다.
-
컴퓨팅 서비스와 대상 서비스 간에 사용할 인증 유형 선택: 연결 문자열을 선택합니다.
-
계속...: 데이터베이스 자격 증명을 선택합니다.
-
사용자 이름: myadmin
-
암호: 암호를 입력합니다.
다음: 네트워킹을 선택합니다. 기본 옵션인 대상 서비스에 대한 액세스를 사용하도록 방화벽 규칙 구성을 사용합니다.
다음: 검토 및 만들기를 선택하여 선택 사항을 검토한 다음, 만들기를 선택하여 연결을 만듭니다.
다음 단계에 따라 Azure Spring Apps 인스턴스 및 Azure Database for PostgreSQL 인스턴스를 만듭니다.
다음 명령을 사용하여 OAuth2로 Azure에 로그인합니다. 이미 로그인했으면 이 단계를 무시합니다.
azd auth login
콘솔에 다음 예제와 비슷한 메시지가 표시됩니다.
Logged in to Azure.
다음 명령을 사용하여 표준 플랜으로 템플릿을 설정합니다.
azd env set PLAN standard
다음 명령을 사용하여 템플릿의 인프라를 Azure에 프로비전합니다.
azd provision
다음 목록에서는 명령 상호 작용을 설명합니다.
-
사용할 Azure 구독 선택: 화살표를 사용하여 이동하고 필터링할 대상을 입력한 다음, Enter 키를 누릅니다.
-
사용할 Azure 위치 선택: 화살표를 사용하여 이동하고 필터링할 대상을 입력한 다음, Enter 키를 누릅니다.
콘솔에 다음 예제와 비슷한 메시지가 표시됩니다.
SUCCESS: Your application was provisioned in Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
참고 항목
이 명령을 완료하는 데 다소 시간이 걸릴 수 있습니다. Azure 리소스를 프로비전하면 진행률 표시기가 표시됩니다.
4. Azure Spring Apps에 앱 배포
이전 섹션의 Azure에 배포 단추를 누르면 애플리케이션 배포가 포함된 Azure Portal 환경이 시작되므로 다른 작업은 필요하지 않습니다.
이제 앱을 Azure Spring Apps에 배포할 수 있습니다.
다음 단계에 따라 Azure Spring Apps용 Maven 플러그 인을 사용하여 배포합니다.
샘플 프로젝트 디렉터리로 이동한 후 다음 명령을 실행하여 Azure Spring Apps의 앱을 구성합니다.
./mvnw com.microsoft.azure:azure-spring-apps-maven-plugin:1.19.0:config
다음 목록에서는 명령 상호 작용을 설명합니다.
-
자식 모듈을 선택하여구성: 구성할 모듈을 선택한 다음, SimpleTodo Web 모듈의 수를 입력합니다.
-
OAuth2 로그인: OAuth2 프로토콜에 따라 Azure에 대한 로그인 권한을 부여합니다.
-
구독 선택: 만든 Azure Spring Apps 인스턴스의 구독 목록 번호를 선택합니다. 기본값은 목록의 첫 번째 구독입니다. 기본 번호를 사용하는 경우 Enter 키를 직접 누릅니다.
-
Azure Spring Apps 선택: 만든 Azure Spring Apps 인스턴스의 번호를 선택합니다. 기본 번호를 사용하는 경우 Enter 키를 직접 누릅니다.
-
이 앱에 대한 공용 액세스 노출: y 키를 누릅니다.
-
위의 모든 구성 저장 확인(y/n): y를 누릅니다.
n 키를 누르면 구성이 POM 파일에 저장되지 않습니다.
다음 명령을 사용하여 앱을 배포합니다.
./mvnw azure-spring-apps:deploy
다음 목록에서는 명령 상호 작용을 설명합니다.
-
OAuth2 로그인: OAuth2 프로토콜에 따라 Azure에 대한 로그인 권한을 부여해야 합니다.
명령이 실행되면 다음 로그 메시지에서 배포가 성공했음을 확인할 수 있습니다.
[INFO] Deployment(default) is successfully created
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
[INFO] InstanceName:simple-todo-web-default-x-xxxxxxxxxx-xxxxx Status:Running Reason:null DiscoverStatus:UNREGISTERED
[INFO] InstanceName:simple-todo-web-default-x-xxxxxxxxx-xxxxx Status:Terminating Reason:null DiscoverStatus:UNREGISTERED
[INFO] Getting public url of app(simple-todo-web)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-simple-todo-web.azuremicroservices.io
출력 애플리케이션 url은 todo
애플리케이션에 액세스하는 엔드포인트입니다.
이제 앱을 Azure Spring Apps에 배포할 수 있습니다. 다음 단계를 수행하여 앱을 패키지하고 웹 애플리케이션에 필요한 Azure 리소스를 프로비전한 다음, Azure Spring Apps에 배포합니다.
다음 명령을 사용하여 배포 가능한 애플리케이션 복사본을 패키지합니다.
azd package
콘솔에 다음 예제와 비슷한 메시지가 표시됩니다.
SUCCESS: Your application was packaged for Azure in xx seconds.
다음 명령을 사용하여 애플리케이션 코드를 새롭게 프로비전된 해당 리소스에 배포합니다.
azd deploy
콘솔에 다음 예제와 비슷한 메시지가 표시됩니다.
Deploying services (azd deploy)
(✓) Done: Deploying service simple-todo-web
- Endpoint: https://<your-Azure-Spring-Apps-instance-name>-simple-todo-web.azuremicroservices.io/
SUCCESS: Your application was deployed to Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
출력 엔드포인트는 todo
애플리케이션에 액세스하는 엔드포인트입니다.
5. 웹앱 유효성 검사
이제 배포된 앱에 액세스하여 앱이 작동하는지 확인할 수 있습니다.
다음 단계를 수행하여 유효성을 검사합니다.
배포가 완료되면 배포 출력에서 애플리케이션 URL을 찾을 수 있습니다.
출력 애플리케이션 URL을 사용하여 애플리케이션에 액세스합니다. localhost에서 본 대로 페이지가 표시됩니다.
배포 문제를 조사하는 데 유용한 각 리소스 배포의 세부 정보를 확인합니다.
출력 애플리케이션 URL을 사용하여 애플리케이션에 액세스합니다. localhost에서 본 대로 페이지가 표시됩니다.
다음 단계를 수행하여 유효성을 검사합니다.
배포가 완료되면 https://${AZURE_SPRING_APPS_NAME}-${APP_NAME}.azuremicroservices.io/
URL을 사용하여 앱에 액세스할 수 있습니다. localhost에서 본 대로 페이지가 표시됩니다.
앱의 로그를 확인하여 배포 문제를 조사하려면 다음 명령을 사용합니다.
az spring app logs \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME}
다음 단계를 수행하여 유효성을 검사합니다.
배포가 완료되면 배포 출력에서 애플리케이션 URL을 찾을 수 있습니다.
애플리케이션 URL에 액세스합니다. localhost에서 본 대로 페이지가 표시됩니다.
배포 문제를 조사하는 데 유용한 각 리소스 배포의 세부 정보를 확인합니다.
출력 애플리케이션 URL을 사용하여 애플리케이션에 액세스합니다. localhost에서 본 대로 페이지가 표시됩니다.
출력 엔드포인트를 사용하여 애플리케이션에 액세스합니다. localhost에서 본 대로 페이지가 표시됩니다.
다음 단계를 수행하여 유효성을 검사합니다.
배포가 완료되면 배포 출력에서 애플리케이션 URL을 찾습니다.
애플리케이션 URL에 액세스합니다. localhost에서 본 대로 페이지가 표시됩니다.
배포 문제를 조사하는 데 유용한 각 리소스 배포의 세부 정보를 확인합니다.
출력 애플리케이션 URL을 사용하여 애플리케이션에 액세스합니다. localhost에서 본 대로 페이지가 표시됩니다.
출력 엔드포인트를 사용하여 애플리케이션에 액세스합니다. localhost에서 본 대로 페이지가 표시됩니다.
6. 리소스 정리
이 문서에서 만든 리소스가 더 이상 필요하지 않으면 삭제해야 합니다. 리소스 그룹의 모든 리소스를 포함하고 있는 Azure 리소스 그룹을 삭제할 수 있습니다.
다음 단계에 따라 새로 만든 서비스 인스턴스를 포함하여 전체 리소스 그룹을 삭제합니다.
Azure Portal에서 리소스 그룹을 찾습니다. 탐색 메뉴에서 리소스 그룹을 선택한 다음, 리소스 그룹의 이름을 선택합니다.
리소스 그룹 페이지에서 삭제를 선택합니다. 텍스트 상자에 리소스 그룹 이름을 입력하여 삭제를 확인한 다음, 삭제를 선택합니다.
다음 단계에 따라 새로 만든 서비스 인스턴스를 포함하여 전체 리소스 그룹을 삭제합니다.
Azure Portal에서 리소스 그룹을 찾습니다. 탐색 메뉴에서 리소스 그룹을 선택한 다음, 리소스 그룹의 이름을 선택합니다.
리소스 그룹 페이지에서 삭제를 선택합니다. 텍스트 상자에 리소스 그룹 이름을 입력하여 삭제를 확인한 다음, 삭제를 선택합니다.
다음 명령을 사용하여 이 응용 프로그램 예제에 사용된 모든 Azure 리소스를 삭제합니다.
azd down
다음 목록에서는 명령 상호 작용을 설명합니다.
-
삭제할 총 리소스 수: <resources-total>, 계속하시겠습니까?: y를 누릅니다.
콘솔에 다음 예제와 비슷한 메시지가 표시됩니다.
SUCCESS: Your application was removed from Azure in xx minutes xx seconds.
다음 단계를 사용하여 새로 만든 서비스 인스턴스를 포함하여 전체 리소스 그룹을 삭제합니다.
Azure Portal에서 리소스 그룹을 찾습니다. 탐색 메뉴에서 리소스 그룹을 선택한 다음, 리소스 그룹의 이름을 선택합니다.
리소스 그룹 페이지에서 삭제를 선택합니다. 텍스트 상자에 리소스 그룹 이름을 입력하여 삭제를 확인한 다음, 삭제를 선택합니다.
다음 단계에 따라 새로 만든 서비스 인스턴스를 포함하여 전체 리소스 그룹을 삭제합니다.
Azure Portal에서 리소스 그룹을 찾습니다. 탐색 메뉴에서 리소스 그룹을 선택한 다음, 리소스 그룹의 이름을 선택합니다.
리소스 그룹 페이지에서 삭제를 선택합니다. 텍스트 상자에 리소스 그룹 이름을 입력하여 삭제를 확인한 다음, 삭제를 선택합니다.
다음 명령을 사용하여 새로 만든 서비스를 포함하여 전체 리소스 그룹을 삭제합니다.
az group delete --name ${RESOURCE_GROUP}
7. 다음 단계
자세한 내용은 다음 문서를 참조하세요.