이 문서에서는 잘 알려진 PetClinic 샘플 앱을 사용하여 마이크로 서비스 애플리케이션을 Azure Spring Apps에 배포하는 방법을 설명합니다.
Pet Clinic 샘플은 마이크로 서비스 아키텍처 패턴을 보여줍니다. 다음 다이어그램에서는 Azure Spring Apps 엔터프라이즈 플랜의 PetClinic 애플리케이션 아키텍처를 보여줍니다.
이 다이어그램에서 보여주는 Pet Clinic 샘플의 아키텍처 흐름과 관계는 다음과 같습니다.
- Azure Spring Apps를 사용하여 프런트 엔드 앱과 백 엔드 앱을 관리합니다. 백 엔드 앱은 Spring Boot를 사용하여 빌드되며, 각 앱에서 HSQLDB를 영구 저장소로 사용합니다. 재정비된 프런트 엔드 앱은 독립 실행형 프런트 엔드 웹 애플리케이션으로 사용되는 Node.js가 포함된 Pet Clinic API Gateway 앱을 기반으로 하여 빌드됩니다.
- Service Registry, Application Configuration Service, Spring Cloud Gateway, 애플리케이션 라이브 뷰를 포함하여 Azure Spring Apps에서 관리형 구성 요소를 사용합니다. Application Configuration Service는 Git 리포지토리 구성을 읽습니다.
- Spring Cloud Gateway URL을 공개하여 요청을 백 엔드 서비스 앱으로 라우팅하고, 애플리케이션 라이브 뷰 URL을 공개하여 백 엔드 앱을 모니터링합니다.
- Log Analytics 작업 영역을 사용하여 로그를 분석합니다.
- Application Insights를 사용하여 성능을 모니터링합니다.
Pet Clinic 샘플은 마이크로 서비스 아키텍처 패턴을 보여줍니다. 다음 다이어그램에서는 Azure Spring Apps 표준 플랜의 PetClinic 애플리케이션 아키텍처를 보여줍니다.
이 다이어그램에서 보여주는 Pet Clinic 샘플의 아키텍처 흐름과 관계는 다음과 같습니다.
- Azure Spring Apps를 사용하여 Spring Boot 앱을 관리합니다. 각 앱에서 HSQLDB를 영구 저장소로 사용합니다.
- Azure Spring Apps에서 관리형 Spring Cloud Config Server 및 Eureka Service Registry 구성 요소를 사용합니다. Config Server는 Git 리포지토리 구성을 읽습니다.
- API Gateway URL을 공개하여 서비스 앱에 대한 요청 부하를 분산하고, Admin Server URL을 공개하여 애플리케이션을 관리합니다.
- Log Analytics 작업 영역을 사용하여 로그를 분석합니다.
- Application Insights를 사용하여 성능을 모니터링합니다.
참고
이 문서에서는 Azure Spring Apps에 빠르게 배포하기 위해 프로덕션 준비 상태가 아닌 메모리 내 데이터베이스를 사용하는 간소화된 PetClinic 버전을 사용합니다.
배포된 admin-server 앱은 위험 지점인 공용 액세스를 공개합니다. 프로덕션 환경에서는 Spring Boot Admin 애플리케이션을 보호해야 합니다.
이 문서에서는 다음과 같은 Azure Spring Apps에 배포할 수 있는 옵션을 제공합니다.
-
Azure Portal 옵션은 가장 쉽고 빠른 방법이며 클릭 한 번으로 리소스를 만들고 애플리케이션을 배포할 수 있습니다. 이 옵션은 애플리케이션을 Azure 클라우드 서비스에 빠르게 배포하려는 Spring 개발자에게 적합합니다.
-
Azure Portal + Maven 플러그 인 옵션은 보다 일반적인 방법이며 리소스를 만들고 애플리케이션을 단계별로 배포할 수 있습니다. 이 옵션은 Azure 클라우드 서비스를 처음 사용하는 Spring 개발자에게 적합합니다.
-
Azure CLI 옵션은 강력한 명령줄 도구를 사용하여 Azure 리소스를 관리합니다. 이 옵션은 Azure 클라우드 서비스에 익숙한 Spring 개발자에게 적합합니다.
-
Azure Portal + Maven 플러그 인 옵션은 보다 일반적인 방법이며 리소스를 만들고 애플리케이션을 단계별로 배포할 수 있습니다. 이 옵션은 Azure 클라우드 서비스를 처음 사용하는 Spring 개발자에게 적합합니다.
-
Azure Developer CLI 옵션은 보다 효율적인 방법이며 간단한 명령을 통해 자동으로 리소스를 만들고 애플리케이션을 배포할 수 있습니다. Azure Developer CLI는 템플릿을 사용하여 필요한 Azure 리소스를 프로비전하고 애플리케이션 코드를 배포합니다. 이 옵션은 Azure 클라우드 서비스에 익숙한 Spring 개발자에게 적합합니다.
1. 사전 요구 사항
2. Spring 프로젝트 준비
다음 단계를 따라 샘플을 로컬로 준비합니다.
다음 명령을 사용하여 샘플 프로젝트를 복제합니다.
git clone https://github.com/Azure-Samples/spring-petclinic-microservices.git
프로젝트 루트 디렉터리로 이동한 후, 다음 명령을 사용하여 샘플 프로젝트를 로컬로 실행합니다.
bash ./scripts/run_all_without_infra.sh
스크립트가 성공적으로 완료되면 브라우저에서 http://localhost:8080 주소로 이동하여 PetClinic 애플리케이션에 액세스합니다.
다음 단계를 따라 Azure 개발자 CLI 템플릿을 사용하여 Pet Clinic 애플리케이션을 초기화합니다.
Bash 창에서 비어 있는 새 폴더를 만든 다음, 해당 폴더로 이동합니다.
다음 명령을 사용하여 프로젝트를 초기화합니다.
azd init --template Azure-Samples/spring-petclinic-microservices
다음 목록에서는 명령 상호 작용을 설명합니다.
-
새 환경 이름 입력: 모든 Azure 리소스를 보관하기 위해 만든 리소스 그룹에 대한 접미사로 사용되는 환경 이름을 제공합니다. 이 이름은 Azure 구독 내에서 고유해야 합니다.
콘솔에 다음 예제와 비슷한 메시지가 표시됩니다.
Initializing a new project (azd init)
Downloading template code to: <your-local-path>
(✓) Done: Initialized git repository
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 클라우드 환경을 준비하는 방법을 설명합니다.
3.1. Azure Portal에 로그인
Azure Portal로 이동하고 자격 증명을 입력하여 포털에 로그인합니다. 기본 보기는 서비스 대시보드입니다.
3.2. Azure Spring Apps 인스턴스 만들기
다음 단계를 따라 서비스 인스턴스를 만듭니다.
Azure Portal의 모서리에서 리소스 만들기를 선택합니다.
Azure 서비스 탭에서 컴퓨팅>Azure Spring Apps를 선택합니다.
Azure Spring Apps 만들기 페이지의 기본 사항 탭에서 양식을 작성합니다.
다음 표를 참조하여 양식을 작성합니다. 권장되는 플랜은 표준입니다.
| 설정 |
제안 값 |
설명 |
|
구독 |
구독 이름입니다. |
서버에 사용할 Azure 구독입니다. 구독이 여러 개인 경우 해당 리소스에 대해 요금을 청구하려는 구독을 선택합니다. |
|
리소스 그룹 |
myresourcegroup |
새 리소스 그룹 이름 또는 구독의 기존 이름입니다. |
|
이름 |
myasa |
Azure Spring Apps 인스턴스를 식별하는 고유한 이름입니다. 이름은 4-32자 사이여야 하며, 소문자, 숫자 및 하이픈(-) 문자만 포함할 수 있습니다. 서비스 이름의 첫 글자는 문자여야 하며 마지막 문자는 문자 또는 숫자여야 합니다. |
|
계획 |
표준 |
요금제에 따라 인스턴스와 관련된 리소스 및 비용이 결정됩니다. |
|
지역 |
사용자에게 가장 가까운 지역입니다. |
사용자에게 가장 가까운 위치입니다. |
|
영역 중복 |
선택되지 않음 |
Azure 가용성 영역에 Azure Spring Apps 서비스를 만듭니다. 현재 일부 지역에서는 지원되지 않습니다. |
Azure Spring Apps 만들기 페이지의 진단 설정 탭으로 이동한 다음, 새로 만들기를 선택하여 새 Log Analytics 작업 영역 인스턴스를 만듭니다.
새 Log Analytics 작업 영역 만들기 페이지에서 필요에 따라 Log Analytics 작업 영역 이름을 업데이트한 다음, 확인을 선택하여 만들기를 확인합니다.
Azure Spring Apps 만들기 페이지의 Application Insights 탭으로 이동한 다음, 새로 만들기를 선택하여 새 Application Insights 인스턴스를 만듭니다.
새 Application Insights 리소스 만들기 페이지에서 필요에 따라 Application Insights 이름을 업데이트하고 리소스 모드로 작업 영역 기반을 선택한 다음, 확인을 선택하여 만들기를 확인합니다.
검토 및 만들기를 선택하여 선택 사항을 검토합니다. 그런 다음, 만들기를 선택하여 Azure Spring Apps 인스턴스를 프로비전합니다.
알림 아이콘(종 모양)을 선택하여 배포 프로세스를 모니터링합니다. 배포가 완료되면 대시보드에 고정을 선택하여 서비스 개요 페이지의 바로 가기를 Azure Portal 대시보드에 만들 수 있습니다.
리소스로 이동을 선택하여 Azure Spring Apps 개요 페이지로 이동합니다.
탐색 창에서 Config Server를 선택합니다.
Config Server 페이지에서 URI에 대해 https://github.com/Azure-Samples/spring-petclinic-microservices-config.git을 입력한 다음, 유효성 검사를 선택합니다.
유효성 검사 후 적용을 선택하여 Config Server 구성을 완료합니다.
다음 단계를 수행하여 필요한 리소스를 만듭니다.
다음 명령을 사용하여 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 Spring Apps에 앱을 배포할 수 있습니다.
다음 단계를 따라 Azure Spring Apps용 Maven 플러그 인을 사용하여 마이크로 서비스 애플리케이션을 배포합니다.
샘플 프로젝트 디렉터리로 이동하고 다음 명령을 사용하여 Azure Spring Apps에 대한 앱을 구성합니다.
./mvnw -P spring-apps com.microsoft.azure:azure-spring-apps-maven-plugin:1.17.0:config
다음 목록에서는 명령 상호 작용을 설명합니다.
-
구성할 자식 모듈 선택([1-2,4,6] 형식과 같이 쉼표로 구분하여 번호 입력, 모두 선택하려면 ENTER 키): 모두 선택하려면 Enter 키를 누릅니다.
-
OAuth2 로그인: OAuth2 프로토콜에 따라 Azure에 대한 로그인 권한을 부여합니다.
-
구독 선택: 만든 Azure Spring Apps 인스턴스의 구독 목록 번호를 선택합니다. 기본값은 목록의 첫 번째 구독입니다. 기본 번호를 사용하는 경우 바로 Enter 키를 누릅니다.
-
배포할 Azure Spring Apps 선택: 만든 Azure Spring Apps 인스턴스의 목록 번호를 선택합니다. 기본 번호를 사용하는 경우 바로 Enter 키를 누릅니다.
-
공용 액세스를 공개할 앱 선택([1-2,4,6] 형식과 같이 쉼표로 구분하여 번호 입력, 아무것도 선택하지 않으려면 ENTER 키): 및
admin-server에 대해 api-gateway를 입력합니다.
-
위의 모든 구성 저장 확인(y/n): y 키를 누릅니다.
n 키를 누르면 구성이 POM 파일에 저장되지 않습니다.
다음 명령을 사용하여 각 애플리케이션을 빌드하고 배포합니다.
./mvnw azure-spring-apps:deploy
OAuth2 로그인 프롬프트의 경우 OAuth2 프로토콜에 따라 Azure에 로그인하는 권한을 부여합니다.
참고
Azure Spring Apps에 배포하는 데 걸리는 시간은 최대 25분입니다.
명령이 실행되면 다음 예제와 비슷한 형식으로 모두 성공적으로 배포했음을 나타내는 출력이 로그에 표시됩니다.
[INFO] Deployment(default) is successfully updated.
[INFO] Deployment Status: Running
[INFO] InstanceName:admin-server-default-xx-xx-xxx Status:Running Reason:null DiscoverStatus:UP
[INFO] Getting public url of app(admin-server)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-admin-server.azuremicroservices.io
...
[INFO] Getting public url of app(api-gateway)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io
다음 단계를 수행하여 앱을 패키지하고 웹 애플리케이션에 필요한 Azure 리소스를 프로비전한 다음, Azure Spring Apps에 배포합니다.
다음 명령을 사용하여 배포 가능한 애플리케이션 복사본을 패키지합니다.
azd package
콘솔에 다음 예제와 비슷한 메시지가 표시됩니다.
SUCCESS: Your application was packaged for Azure in xx minutes xx seconds.
다음 명령을 사용하여 애플리케이션 코드를 새롭게 프로비전된 해당 리소스에 배포합니다.
azd deploy
콘솔에 다음 예제와 비슷한 메시지가 표시됩니다.
Deploying services (azd deploy)
(✓) Done: Deploying service admin-server
- Endpoint: https://<your-Azure-Spring-Apps-instance-name>-admin-server.azuremicroservices.io
(✓) Done: Deploying service api-gateway
- Endpoint: https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io
(✓) Done: Deploying service customers-service
- No endpoints were found
(✓) Done: Deploying service vets-service
- No endpoints were found
(✓) Done: Deploying service visits-service
- No endpoints were found
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
2. Spring 프로젝트 준비
다음 섹션의 Azure에 배포 단추를 누르면 Spring PetClinic 리포지토리에서 소스 코드를 배포하는 Azure Portal 환경이 시작됩니다. 로컬 준비 단계는 필요하지 않습니다.
클라우드에 배포하기 전에 애플리케이션을 확인하려는 경우 로컬 컴퓨터에서 다음 단계를 사용합니다.
다음 명령을 사용하여 GitHub에서 Pet Clinic 애플리케이션을 복제합니다.
git clone https://github.com/Azure-Samples/spring-petclinic-microservices.git
프로젝트 루트 디렉터리로 이동하고 다음 명령을 사용하여 프로젝트를 빌드합니다.
./mvnw clean package -DskipTests
애플리케이션을 로컬로 실행하려면 다음을 수행합니다. 로컬로 실행하지 않으려면 이 단계를 건너뛰세요.
새 Bash 창을 열고 다음 명령을 사용하여 Config Server를 시작합니다.
./mvnw spring-boot:run -pl spring-petclinic-config-server
새 Bash 창을 열고 다음 명령을 사용하여 Discovery Server를 시작합니다.
./mvnw spring-boot:run -pl spring-petclinic-discovery-server
Customers, Vets, Visits, Spring Cloud Gateway 서비스의 경우 새 Bash 창을 열고 다음 명령을 사용하여 서비스를 시작합니다.
./mvnw spring-boot:run -pl spring-petclinic-customers-service
./mvnw spring-boot:run -pl spring-petclinic-vets-service
./mvnw spring-boot:run -pl spring-petclinic-visits-service
./mvnw spring-boot:run -Dspring-boot.run.profiles=default,development \
-pl spring-petclinic-api-gateway
새 Bash 창을 열고 프로젝트 spring-petclinic-frontend 디렉터리로 이동합니다. 다음 명령을 사용하여 종속성을 설치하고 프런트 엔드 애플리케이션을 실행합니다.
npm install
npm run start
스크립트가 성공적으로 완료되면 브라우저에서 http://localhost:8080 주소로 이동하여 PetClinic 애플리케이션에 액세스합니다.
클라우드에 배포하기 전에 애플리케이션을 확인하려는 경우 로컬 컴퓨터에서 다음 단계를 사용합니다.
다음 명령을 사용하여 GitHub에서 Pet Clinic 애플리케이션을 복제합니다.
git clone https://github.com/Azure-Samples/spring-petclinic-microservices.git
프로젝트 루트 디렉터리로 이동하고 다음 명령을 사용하여 프로젝트를 빌드합니다.
./mvnw clean package -DskipTests
애플리케이션을 로컬로 실행하려면 다음을 수행합니다. 로컬로 실행하지 않으려면 이 단계를 건너뛰세요.
새 Bash 창을 열고 다음 명령을 사용하여 Config Server를 시작합니다.
./mvnw spring-boot:run -pl spring-petclinic-config-server
새 Bash 창을 열고 다음 명령을 사용하여 Discovery Server를 시작합니다.
./mvnw spring-boot:run -pl spring-petclinic-discovery-server
Customers, Vets, Visits, Spring Cloud Gateway 서비스의 경우 새 Bash 창을 열고 다음 명령을 사용하여 서비스를 시작합니다.
./mvnw spring-boot:run -pl spring-petclinic-customers-service
./mvnw spring-boot:run -pl spring-petclinic-vets-service
./mvnw spring-boot:run -pl spring-petclinic-visits-service
./mvnw spring-boot:run -Dspring-boot.run.profiles=default,development \
-pl spring-petclinic-api-gateway
새 Bash 창을 열고 프로젝트 spring-petclinic-frontend 디렉터리로 이동합니다. 다음 명령을 사용하여 종속성을 설치하고 프런트 엔드 애플리케이션을 실행합니다.
npm install
npm run start
스크립트가 성공적으로 완료되면 브라우저에서 http://localhost:8080 주소로 이동하여 PetClinic 애플리케이션에 액세스합니다.
3. 클라우드 환경 준비
이 샘플을 실행하는 데 필요한 기본 리소스는 Azure Spring Apps 인스턴스입니다. 이 섹션에서는 이 리소스를 만드는 방법을 설명합니다.
이 섹션에서는 Azure에 배포 단추를 사용하여 Azure Portal에서 배포 환경을 시작합니다. 이 환경에서는 ARM 템플릿을 사용하여 Azure 리소스를 만듭니다.
3.1. Azure Portal에 로그인
Azure Portal로 이동하고 자격 증명을 입력하여 포털에 로그인합니다. 기본 보기는 서비스 대시보드입니다.
3.2. Azure 리소스 만들기
다음 단계를 따라 앱에 사용하는 모든 Azure 리소스를 만듭니다.
다음 Azure에 배포 단추를 선택하여 Azure Portal에서 배포 환경을 시작합니다.
기본 사항 탭에서 양식을 작성합니다. 양식을 작성하기 위한 지침으로 다음 표를 사용합니다.
| 설정 |
제안 값 |
설명 |
|
구독 |
구독 이름입니다. |
서버에 사용할 Azure 구독입니다. 구독이 여러 개인 경우 해당 리소스에 대해 요금이 청구되는 구독을 선택합니다. |
|
리소스 그룹 |
myresourcegroup |
새 리소스 그룹 이름 또는 구독의 기존 이름입니다. |
|
지역 |
사용자에게 가장 가까운 지역입니다. |
지역은 리소스 그룹을 만드는 데 사용됩니다. |
검토 및 만들기를 선택하여 선택 사항을 검토합니다. 그런 다음 만들기를 선택하여 앱을 Azure Spring Apps에 배포합니다.
배포 프로세스를 모니터링하려면 도구 모음에서 알림 아이콘(벨)을 선택합니다. 배포가 완료된 후 대시보드에 고정을 선택하면 Azure Portal 대시보드에서 이 서비스의 타일을 서비스 개요 페이지에 대한 바로 가기로 만들 수 있습니다.
리소스로 이동을 선택하여 서비스의 개요 페이지를 엽니다.
3.1. Azure Portal에 로그인
Azure Portal로 이동하고 자격 증명을 입력하여 포털에 로그인합니다. 기본 보기는 서비스 대시보드입니다.
3.2. Azure Spring Apps 인스턴스 만들기
다음 단계를 따라 서비스 인스턴스를 만듭니다.
Azure Portal의 모서리에서 리소스 만들기를 선택합니다.
컴퓨팅>Azure Spring Apps를 선택합니다.
기본 사항 탭에서 양식을 작성합니다. 양식을 작성하기 위한 지침으로 다음 표를 사용합니다.
| 설정 |
제안 값 |
설명 |
|
구독 |
구독 이름입니다. |
서버에 사용할 Azure 구독입니다. 구독이 여러 개인 경우 해당 리소스에 대해 요금이 청구되는 구독을 선택합니다. |
|
리소스 그룹 |
myresourcegroup |
새 리소스 그룹 이름 또는 구독의 기존 이름입니다. |
|
이름 |
myasa |
Azure Spring Apps 서비스를 식별하는 고유한 이름입니다. 이름은 4-32자 사이여야 하며, 소문자, 숫자 및 하이픈(-) 문자만 포함할 수 있습니다. 서비스 이름의 첫 글자는 문자여야 하며 마지막 문자는 문자 또는 숫자여야 합니다. |
|
지역 |
사용자에게 가장 가까운 지역입니다. |
사용자에게 가장 가까운 위치입니다. |
|
호스팅 옵션 및 계획 |
Enterprise |
요금제에 따라 인스턴스와 관련된 리소스 및 비용이 결정됩니다. |
|
영역 중복 |
선택되지 않음 |
Azure Spring Apps 서비스를 Azure 가용성 영역에 만드는 옵션입니다. 이 기능은 현재 모든 지역에서 지원되지 않습니다. |
|
소프트웨어 IP 플랜 |
종량제 |
Azure Spring Apps를 통해 사용한 만큼 지불할 수 있는 요금제입니다. |
|
샘플 프로젝트 배포 |
선택되지 않음 |
기본 제공 애플리케이션 예제를 사용하는 옵션입니다. |
Azure Spring Apps 만들기 페이지의 진단 설정 탭으로 이동한 다음, 새로 만들기를 선택하여 새 Log Analytics 작업 영역 인스턴스를 만듭니다.
새 Log Analytics 작업 영역 만들기 페이지에서 필요에 따라 Log Analytics 작업 영역의 이름을 업데이트한 다음, 확인을 선택하여 만들기를 확인합니다.
Azure Spring Apps 만들기 페이지의 Application Insights 탭으로 이동한 다음, 새로 만들기를 선택하여 새 Application Insights 인스턴스를 만듭니다.
새 Application Insights 리소스 만들기 페이지에서 필요에 따라 Application Insights 이름을 업데이트하고 리소스 모드로 작업 영역 기반을 선택한 다음, 확인을 선택하여 만들기를 확인합니다.
검토 및 만들기를 선택하여 선택 사항을 검토합니다. 그런 다음, 만들기를 선택하여 Azure Spring Apps 인스턴스를 프로비전합니다.
알림 아이콘(종 모양)을 선택하여 배포 프로세스를 모니터링합니다. 배포가 완료되면 대시보드에 고정을 선택하여 서비스 개요 페이지의 바로 가기를 Azure Portal 대시보드에 만들 수 있습니다.
리소스로 이동을 선택하여 Azure Spring Apps 개요 페이지로 이동합니다.
다음 섹션에서는 서비스 인스턴스를 구성하는 방법을 보여 줍니다.
앱 만들기
다음 단계를 따라 앱을 만듭니다.
탐색 창에서 앱을 선택한 다음 앱 만들기를 선택합니다.
앱 만들기 페이지에서 앱 이름에 frontend를 사용하고 다른 모든 필드는 기본값으로 둡니다.
다음의 각 애플리케이션 이름을 사용하여 이전 단계를 반복합니다.
customers-service
vets-service
visits-service
만들기를 선택하여 앱 만들기를 완료합니다.
다음 단계를 따라 Service Registry를 구성합니다.
탐색 창에서 Service Registry를 선택합니다.
앱 바인딩, 앱 바인딩을 선택하고 목록에서 customers-service를 선택한 다음, 적용을 선택합니다.
이전 단계를 반복하여 다음 애플리케이션을 바인딩합니다.
vets-service
visits-service
다음 단계를 따라 Application Configuration Service를 구성합니다.
탐색 창에서 Application Configuration Service를 선택한 다음 설정을 선택합니다.
다음 정보를 사용하여 리포지토리를 작성한 다음, 유효성 검사를 선택합니다.
유효성 검사를 마친 후 적용을 선택하여 Application Configuration Service 구성을 완료합니다.
앱 바인딩, 앱 바인딩을 선택하고 목록에서 customers-service를 선택한 다음, 적용을 선택합니다.
이전 단계를 반복하여 다음 애플리케이션을 바인딩합니다.
vets-service
visits-service
앱의 구성 파일 패턴 설정
다음 단계를 따라 구성 파일 패턴을 설정합니다.
탐색 창에서 앱을 선택한 다음 customers-service 앱을 선택합니다.
앱 개요 페이지에서 구성을 선택하고, 일반 설정 탭에서 구성 파일 패턴을 선택한 다음, application 및 customers-service를 선택합니다.
저장을 선택하여 구성 파일 패턴을 설정합니다.
이전 단계를 반복하여 다음 애플리케이션의 구성 파일 패턴을 저장합니다.
-
vets-service: application 및 vets-service를 선택합니다.
-
visits-service: application 및 visits-service를 선택합니다.
이 섹션에서는 Spring Cloud Gateway를 구성하는 방법을 보여줍니다.
먼저 다음 단계를 따라 게이트웨이 액세스에 대한 엔드포인트를 할당합니다.
탐색 창에서 Spring Cloud Gateway를 선택합니다.
개요 탭에서 예를 선택하여 엔드포인트를 할당합니다. 나중에 사용할 수 있도록 엔드포인트 URL을 저장합니다.
다음으로, Spring Cloud Gateway에 대한 라우팅을 구성합니다. Azure Portal에서는 현재 Spring Cloud Gateway에 대한 경로 구성을 지원하지 않으므로 Bash 창을 열고 다음 Azure CLI 단계를 사용하여 라우팅을 구성합니다.
다음 명령을 실행하여 Azure CLI에 로그인합니다.
az login
다음 명령을 사용하여 Azure CLI용 Azure Spring Apps 확장을 설치하고 Microsoft.SaaS 네임스페이스를 등록합니다.
az extension add --name spring --upgrade
az provider register --namespace Microsoft.SaaS
다음 명령을 사용하여 약관 및 개인정보처리방침에 동의합니다.
참고
이 단계는 구독을 사용하여 Azure Spring Apps의 엔터프라이즈 계획 인스턴스를 만든 적이 없는 경우에만 필요합니다.
az term accept \
--publisher vmware-inc \
--product azure-spring-cloud-vmware-tanzu-2 \
--plan asa-ent-hr-mtr
다음 명령을 사용하여 리소스 이름을 저장할 변수를 만듭니다. 자리 표시자를 사용자의 값으로 바꿔야 합니다.
export SUBSCRIPTION_ID=<subscription-ID>
export RESOURCE_GROUP=<resource-group-name>
export SPRING_APPS_NAME=<Azure-Spring-Apps-instance-name>
export APP_CUSTOMERS_SERVICE=customers-service
export APP_VETS_SERVICE=vets-service
export APP_VISITS_SERVICE=visits-service
export APP_FRONTEND=frontend
다음 명령을 사용하여 기본 구독을 설정합니다.
az account set --subscription ${SUBSCRIPTION_ID}
다음 명령을 사용하여 customers-service 앱에 대한 라우팅을 설정합니다.
az spring gateway route-config create \
--resource-group ${RESOURCE_GROUP} \
--service ${SPRING_APPS_NAME} \
--name ${APP_CUSTOMERS_SERVICE} \
--app-name ${APP_CUSTOMERS_SERVICE} \
--routes-json \
'[
{
"predicates": [
"Path=/api/customer/**"
],
"filters": [
"StripPrefix=2"
]
}
]'
다음 명령을 사용하여 vets-service 앱에 대한 라우팅을 설정합니다.
az spring gateway route-config create \
--resource-group ${RESOURCE_GROUP} \
--service ${SPRING_APPS_NAME} \
--name ${APP_VETS_SERVICE} \
--app-name ${APP_VETS_SERVICE} \
--routes-json \
'[
{
"predicates": [
"Path=/api/vet/**"
],
"filters": [
"StripPrefix=2"
]
}
]'
다음 명령을 사용하여 visits-service 앱에 대한 라우팅을 설정합니다.
az spring gateway route-config create \
--resource-group ${RESOURCE_GROUP} \
--service ${SPRING_APPS_NAME} \
--name ${APP_VISITS_SERVICE} \
--app-name ${APP_VISITS_SERVICE} \
--routes-json \
'[
{
"predicates": [
"Path=/api/visit/**"
],
"filters": [
"StripPrefix=2"
]
}
]'
다음 명령을 사용하여 프런트 엔드 앱에 대한 라우팅을 설정합니다.
az spring gateway route-config create \
--resource-group ${RESOURCE_GROUP} \
--service ${SPRING_APPS_NAME} \
--name ${APP_FRONTEND} \
--app-name ${APP_FRONTEND} \
--routes-json \
'[
{
"predicates": [
"Path=/**"
],
"filters": [
"StripPrefix=0"
],
"order": 1000
}
]'
다음 단계를 따라 개발자 도구를 구성합니다.
탐색 창에서 개발자 도구를 선택합니다.
엔드포인트 할당을 선택하여 개발자 도구에 대한 엔드포인트를 할당합니다.
나중에 사용할 수 있도록 앱 라이브 뷰의 엔드포인트를 저장합니다.
3.1. 각 리소스에 대한 이름 제공
다음 명령을 사용하여 리소스 이름을 저장할 변수를 만듭니다. 자리 표시자를 사용자의 값으로 바꿔야 합니다.
export LOCATION=<location>
export RESOURCE_GROUP=myresourcegroup
export SPRING_APPS=myasa
export APP_FRONTEND=frontend
export APP_CUSTOMERS_SERVICE=customers-service
export APP_VETS_SERVICE=vets-service
export APP_VISITS_SERVICE=visits-service
export GIT_CONFIG_REPO=default
3.2. Azure CLI에 로그인
다음 단계를 사용하여 로그인합니다.
다음 명령을 실행하여 Azure CLI에 로그인합니다.
az login
사용할 구독 ID를 결정하기 위해 다음 명령을 사용하여 사용 가능한 모든 구독을 나열합니다.
az account list --output table
다음 명령을 사용하여 기본 구독을 설정합니다.
az account set --subscription <subscription-ID>
3.3. 새 리소스 그룹 만들기
다음 단계를 따라 새 리소스 그룹을 만듭니다.
다음 명령을 사용하여 기본 위치를 설정합니다.
az configure --defaults location=${LOCATION}
다음 명령을 사용하여 리소스 그룹을 만듭니다.
az group create --resource-group ${RESOURCE_GROUP}
다음 명령을 사용하여 새로 만든 리소스 그룹을 기본 리소스 그룹으로 설정합니다.
az configure --defaults group=${RESOURCE_GROUP}
3.4. 확장 설치 및 네임스페이스 등록
다음 명령을 사용하여 Azure CLI용 Azure Spring Apps 확장을 설치하고 Microsoft.SaaS 네임스페이스를 등록합니다.
az extension add --name spring --upgrade
az provider register --namespace Microsoft.SaaS
3.5. Azure Spring Apps 인스턴스 만들기
다음 단계를 따라 서비스 인스턴스를 만듭니다.
다음 명령을 사용하여 엔터프라이즈 플랜에 대한 법적 사용 약관과 개인정보처리방침에 동의합니다.
참고
이 단계는 구독을 사용하여 Azure Spring Apps의 엔터프라이즈 계획 인스턴스를 만든 적이 없는 경우에만 필요합니다.
az term accept \
--publisher vmware-inc \
--product azure-spring-cloud-vmware-tanzu-2 \
--plan asa-ent-hr-mtr
다음 명령을 사용하여 필요한 Tanzu 구성 요소가 포함된 Azure Spring Apps 서비스 인스턴스를 만듭니다.
az spring create \
--name ${SPRING_APPS} \
--sku Enterprise \
--enable-application-configuration-service \
--enable-service-registry \
--enable-gateway \
--enable-application-live-view
다음 단계를 사용하여 서비스 인스턴스를 구성합니다.
다음 명령을 사용하여 Azure Spring Apps 인스턴스에 대한 진단 설정을 구성합니다.
export SPRING_APPS_RESOURCE_ID=$(az spring show \
--name ${SPRING_APPS} \
--query id \
--output tsv)
az monitor diagnostic-settings create \
--resource ${SPRING_APPS_RESOURCE_ID} \
--name logs-and-metrics \
--workspace ${SPRING_APPS} \
--logs '[
{
"category": "ApplicationConsole",
"enabled": true,
"retentionPolicy": {
"enabled": false,
"days": 0
}
},
{
"category": "SystemLogs",
"enabled": true,
"retentionPolicy": {
"enabled": false,
"days": 0
}
},
{
"category": "IngressLogs",
"enabled": true,
"retentionPolicy": {
"enabled": false,
"days": 0
}
}
]' \
--metrics '[
{
"category": "AllMetrics",
"enabled": true,
"retentionPolicy": {
"enabled": false,
"days": 0
}
}
]'
다음 명령을 사용하여 Azure Spring Apps 인스턴스에 대한 애플리케이션을 만듭니다.
az spring app create --service ${SPRING_APPS} --name ${APP_FRONTEND}
az spring app create --service ${SPRING_APPS} --name ${APP_CUSTOMERS_SERVICE}
az spring app create --service ${SPRING_APPS} --name ${APP_VETS_SERVICE}
az spring app create --service ${SPRING_APPS} --name ${APP_VISITS_SERVICE}
다음 명령을 사용하여 Service Registry에 대한 애플리케이션을 바인딩합니다.
az spring service-registry bind --service ${SPRING_APPS} --app ${APP_CUSTOMERS_SERVICE}
az spring service-registry bind --service ${SPRING_APPS} --app ${APP_VETS_SERVICE}
az spring service-registry bind --service ${SPRING_APPS} --app ${APP_VISITS_SERVICE}
다음 명령을 사용하여 Application Configuration Service에 대한 구성 리포지토리를 만듭니다.
az spring application-configuration-service git repo add \
--service ${SPRING_APPS} \
--name ${GIT_CONFIG_REPO} \
--patterns application,api-gateway,customers-service,vets-service,visits-service \
--uri https://github.com/Azure-Samples/spring-petclinic-microservices-config.git \
--label master
다음 명령을 사용하여 애플리케이션을 Application Configuration Service에 바인딩합니다.
az spring application-configuration-service bind \
--service ${SPRING_APPS} \
--app ${APP_CUSTOMERS_SERVICE}
az spring application-configuration-service bind \
--service ${SPRING_APPS} \
--app ${APP_VETS_SERVICE}
az spring application-configuration-service bind \
--service ${SPRING_APPS} \
--app ${APP_VISITS_SERVICE}
다음 명령을 사용하여 엔드포인트를 Spring Cloud Gateway에 할당합니다.
az spring gateway update --service ${SPRING_APPS} --assign-endpoint
다음 명령을 사용하여 customers-service 애플리케이션에 대한 라우팅을 설정합니다.
az spring gateway route-config create \
--service ${SPRING_APPS} \
--name ${APP_CUSTOMERS_SERVICE} \
--app-name ${APP_CUSTOMERS_SERVICE} \
--routes-json '[
{
"predicates": [
"Path=/api/customer/**"
],
"filters": [
"StripPrefix=2"
]
}
]'
다음 명령을 사용하여 vets-service 애플리케이션에 대한 라우팅을 설정합니다.
az spring gateway route-config create \
--service ${SPRING_APPS} \
--name ${APP_VETS_SERVICE} \
--app-name ${APP_VETS_SERVICE} \
--routes-json '[
{
"predicates": [
"Path=/api/vet/**"
],
"filters": [
"StripPrefix=2"
]
}
]'
다음 명령을 사용하여 visits-service 애플리케이션에 대한 라우팅을 설정합니다.
az spring gateway route-config create \
--service ${SPRING_APPS} \
--name ${APP_VISITS_SERVICE} \
--app-name ${APP_VISITS_SERVICE} \
--routes-json '[
{
"predicates": [
"Path=/api/visit/**"
],
"filters": [
"StripPrefix=2"
]
}
]'
다음 명령을 사용하여 frontend 애플리케이션에 대한 라우팅을 설정합니다.
az spring gateway route-config create \
--service ${SPRING_APPS} \
--name ${APP_FRONTEND} \
--app-name ${APP_FRONTEND} \
--routes-json '[
{
"predicates": [
"Path=/**"
],
"filters": [
"StripPrefix=0"
],
"order": 1000
}
]'
다음 명령을 사용하여 엔드포인트를 Application Live View에 할당합니다.
az spring dev-tool update --service ${SPRING_APPS} --assign-endpoint
4. Azure Spring Apps에 앱 배포
이전 섹션에서 Azure에 배포 단추를 누르면 애플리케이션 배포가 포함된 Azure Portal 환경이 시작되므로 다른 작업은 필요하지 않습니다.
다음 단계를 수행하여 Azure Spring Apps용 Maven 플러그 인을 사용해 배포합니다.
프로젝트 루트 디렉터리로 이동하고 다음 명령을 실행하여 Azure Spring Apps에서 앱을 구성합니다.
./mvnw -P spring-apps-enterprise com.microsoft.azure:azure-spring-apps-maven-plugin:1.19.0:config
다음 목록에서는 명령 상호 작용을 설명합니다.
-
구성할 자식 모듈 선택: 모두 선택하려면 Enter 키를 누릅니다.
-
구독 선택: 만든 Azure Spring Apps 인스턴스의 구독 목록 번호를 선택합니다. 기본값은 목록의 첫 번째 구독입니다. 기본 번호를 사용하는 경우 바로 Enter 키를 누릅니다.
-
Azure에서 기존 Azure Spring Apps 사용: 기존 Azure Spring Apps 인스턴스를 사용하려면 y 키를 누릅니다.
-
공용 액세스를 공개할 앱 선택: 아무것도 선택하지 않으려면 Enter 키를 누릅니다.
-
위 모든 구성 저장 확인: y 키를 누릅니다.
n 키를 누르면 구성이 POM 파일에 저장되지 않습니다.
다음 명령을 사용하여 백 엔드 애플리케이션을 배포합니다.
./mvnw azure-spring-apps:deploy
명령이 실행되면 다음 로그 메시지에서 배포가 성공했음을 확인할 수 있습니다.
[INFO] Start deploying artifact(customers-service-3.0.1.jar) to deployment(default) of app(customers-service)...
[INFO] Artifact(customers-service-3.0.1.jar) is successfully deployed to deployment(default) of app(customers-service).
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
...
[INFO] Start deploying artifact(vets-service-3.0.1.jar) to deployment(default) of app(vets-service)...
[INFO] Artifact(vets-service-3.0.1.jar) is successfully deployed to deployment(default) of app(vets-service).
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
...
[INFO] Start deploying artifact(visits-service-3.0.1.jar) to deployment(default) of app(visits-service)...
[INFO] Artifact(visits-service-3.0.1.jar) is successfully deployed to deployment(default) of app(visits-service).
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
Azure Portal은 프런트 엔드 애플리케이션 배포를 지원하지 않으므로 다음 Azure CLI 명령을 사용하여 프런트 엔드 애플리케이션을 배포합니다.
az spring app deploy \
--resource-group ${RESOURCE_GROUP} \
--service ${SPRING_APPS_NAME} \
--name ${APP_FRONTEND} \
--source-path spring-petclinic-frontend \
--build-env BP_WEB_SERVER=nginx
명령이 실행되면 다음 로그 메시지에서 배포가 성공했음을 확인할 수 있습니다.
[5/5] Updating deployment in app "frontend" (this operation can take a while to complete)
Azure Spring Apps will use rolling upgrade to update your deployment, you have 1 instance, Azure Spring Apps will update the deployment in 1 round.
The deployment is in round 1, 1 old instance is deleted/deleting and 1 new instance is started/starting
Your application is successfully deployed.
다음 단계를 사용하여 앱을 배포합니다.
프로젝트 루트 디렉터리를 입력하고, 다음 명령을 사용하여 프런트 엔드 애플리케이션을 빌드하고 배포합니다.
az spring app deploy \
--service ${SPRING_APPS} \
--name ${APP_FRONTEND} \
--build-env BP_WEB_SERVER=nginx \
--source-path ./spring-petclinic-frontend
다음 명령을 사용하여 customers-service 애플리케이션을 빌드하고 배포합니다.
az spring app deploy \
--service ${SPRING_APPS} \
--name ${APP_CUSTOMERS_SERVICE} \
--source-path \
--config-file-pattern application,customers-service \
--build-env \
BP_MAVEN_BUILT_MODULE=spring-petclinic-customers-service \
BP_JVM_VERSION=17
다음 명령을 사용하여 vets-service 애플리케이션을 빌드하고 배포합니다.
az spring app deploy \
--service ${SPRING_APPS} \
--name ${APP_VETS_SERVICE} \
--source-path \
--config-file-pattern application,vets-service \
--build-env \
BP_MAVEN_BUILT_MODULE=spring-petclinic-vets-service \
BP_JVM_VERSION=17
다음 명령을 사용하여 visits-service 애플리케이션을 빌드하고 배포합니다.
az spring app deploy \
--service ${SPRING_APPS} \
--name ${APP_VISITS_SERVICE} \
--source-path \
--config-file-pattern application,visits-service \
--build-env \
BP_MAVEN_BUILT_MODULE=spring-petclinic-visits-service \
BP_JVM_VERSION=17
5. 앱 유효성 검사
다음 섹션에서는 배포의 유효성을 검사하는 방법을 설명합니다.
5.1. 애플리케이션에 액세스
배포가 완료되면 다음 스크린샷과 같이 배포 출력에서 Spring Cloud Gateway URL을 확인할 수 있습니다.
게이트웨이 URL을 엽니다. 애플리케이션은 다음 스크린샷과 비슷하게 표시됩니다.
5.2. 애플리케이션 로그 쿼리
Pet Clinic의 각 기능을 둘러보면 Log Analytics 작업 영역에서 각 애플리케이션의 로그를 수집합니다. 다음 스크린샷과 같이 사용자 지정 쿼리를 사용하여 로그를 확인할 수 있습니다.
5.3. 애플리케이션 모니터링
Application Insights는 다음 애플리케이션 추적 맵에 표시된 대로 애플리케이션 종속성을 모니터링합니다.
배포 출력에서 Application Live View URL을 확인할 수 있습니다. 다음 스크린샷과 같이 Application Live View URL을 열어 애플리케이션 런타임을 모니터링합니다.
5.1. 애플리케이션에 액세스
Spring Cloud Gateway에서 할당된 엔드포인트를 사용합니다(예: https://<your-Azure-Spring-Apps-instance-name>-gateway-xxxxx.svc.azuremicroservices.io). 애플리케이션은 다음 스크린샷과 비슷하게 표시됩니다.
5.2. 애플리케이션 로그 쿼리
Pet Clinic의 각 기능을 둘러보면 Log Analytics 작업 영역에서 각 애플리케이션의 로그를 수집합니다. 다음 스크린샷과 같이 사용자 지정 쿼리를 사용하여 로그를 확인할 수 있습니다.
5.3. 애플리케이션 모니터링
Application Insights는 다음 애플리케이션 추적 맵에 표시된 대로 애플리케이션 종속성을 모니터링합니다.
다음 스크린샷과 같이 개발자 도구에서 공개하는 애플리케이션 라이브 뷰 URL을 열어 애플리케이션 런타임을 모니터링합니다.
5.1. 애플리케이션에 액세스
다음 명령을 사용하여 Spring Cloud Gateway에 대한 URL을 검색합니다.
export GATEWAY_URL=$(az spring gateway show \
--service ${SPRING_APPS} \
--query properties.url \
--output tsv)
echo "https://${GATEWAY_URL}"
애플리케이션은 다음 스크린샷과 비슷하게 표시됩니다.
5.2. 애플리케이션 로그 쿼리
Pet Clinic의 각 기능을 둘러보면 Log Analytics 작업 영역에서 각 애플리케이션의 로그를 수집합니다. 다음 스크린샷과 같이 사용자 지정 쿼리를 사용하여 로그를 확인할 수 있습니다.
5.3. 애플리케이션 모니터링
Application Insights는 다음 애플리케이션 추적 맵에 표시된 대로 애플리케이션 종속성을 모니터링합니다.
다음 명령을 사용하여 Application Live View URL을 검색합니다.
export DEV_TOOL_URL=$(az spring dev-tool show \
--service ${SPRING_APPS} \
--query properties.url \
--output tsv)
echo "https://${DEV_TOOL_URL}/app-live-view"
다음 스크린샷과 같이 Application Live View URL을 열어 애플리케이션 런타임을 모니터링합니다.
5.1. 애플리케이션에 액세스
배포 로그 출력의 URL 정보를 사용하여 이름이 지정된 api-gateway 앱에서 공개하는 URL(예: https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io)을 엽니다. 애플리케이션은 다음 스크린샷과 비슷하게 표시됩니다.
5.2. 애플리케이션 로그 쿼리
Pet Clinic의 각 기능을 둘러보면 Log Analytics 작업 영역에서 각 애플리케이션의 로그를 수집합니다. 다음 스크린샷과 같이 사용자 지정 쿼리를 사용하여 로그를 확인할 수 있습니다.
5.3. 애플리케이션 모니터링
Application Insights는 다음 애플리케이션 추적 맵에 표시된 대로 애플리케이션 종속성을 모니터링합니다.
다음 스크린샷과 같이 admin-server 앱에서 공개하는 URL을 열어 Spring Boot Admin Server를 통해 애플리케이션을 관리합니다.
6. 리소스 정리
후속 빠른 시작 및 자습서를 계속 사용하려는 경우 이러한 리소스를 그대로 유지할 수 있습니다. 리소스가 더 이상 필요하지 않은 경우 Azure 요금이 청구되지 않도록 필요하지 않은 리소스를 정리할 수 있습니다.
다음 단계에 따라 새로 만든 서비스 인스턴스를 포함하여 전체 리소스 그룹을 삭제합니다.
Azure Portal에서 리소스 그룹을 찾습니다. 탐색 메뉴에서 리소스 그룹을 선택한 다음, 리소스 그룹의 이름을 선택합니다.
리소스 그룹 페이지에서 삭제를 선택합니다. 텍스트 상자에 리소스 그룹 이름을 입력하여 삭제를 확인한 다음, 삭제를 선택합니다.
다음 명령을 사용하여 이 응용 프로그램 예제에 사용된 모든 Azure 리소스를 삭제합니다.
azd down
다음 목록에서는 명령 상호 작용을 설명합니다.
-
삭제할 총 리소스 수: <resources-total>, 계속하시겠습니까?: y를 누릅니다.
콘솔에 다음 예제와 비슷한 메시지가 표시됩니다.
SUCCESS: Your application was removed from Azure in xx minutes xx seconds.
이 문서에서 만든 리소스가 더 이상 필요하지 않으면 삭제해야 합니다. 리소스 그룹의 모든 리소스를 포함하고 있는 Azure 리소스 그룹을 삭제할 수 있습니다.
다음 단계를 사용하여 전체 리소스 그룹을 삭제합니다.
Azure Portal에서 리소스 그룹을 찾습니다. 탐색 메뉴에서 리소스 그룹을 선택한 다음, 리소스 그룹의 이름을 선택합니다.
리소스 그룹 페이지에서 삭제를 선택합니다. 텍스트 상자에 리소스 그룹 이름을 입력하여 삭제를 확인한 다음, 삭제를 선택합니다.
다음 단계를 사용하여 전체 리소스 그룹을 삭제합니다.
Azure Portal에서 리소스 그룹을 찾습니다. 탐색 메뉴에서 리소스 그룹을 선택한 다음, 리소스 그룹의 이름을 선택합니다.
리소스 그룹 페이지에서 삭제를 선택합니다. 텍스트 상자에 리소스 그룹 이름을 입력하여 삭제를 확인한 다음, 삭제를 선택합니다.
다음 명령을 사용하여 리소스 그룹을 삭제합니다.
az group delete --name ${RESOURCE_GROUP}
7. 다음 단계
자세한 내용은 다음 문서를 참조하세요.