Azure Spring Apps의 Java
참고: Azure Spring Apps는 Azure Spring Cloud 서비스의 새 이름입니다.
이 자습서에서는 Visual Studio Code를 사용하여 Java 웹 애플리케이션을 만드는 방법을 알아봅니다. Java 웹 앱을 로컬에서 실행, 디버그 및 편집한 다음, Java 워크로드용으로 구축된 완전 관리형 마이크로서비스 플랫폼인 Azure Spring Apps에 배포하는 방법을 알아봅니다.
시나리오
간단한 Spring Boot Getting Started 웹 앱을 Azure Spring Apps에 배포할 것입니다.
Azure Spring Apps를 사용하면 코드 변경 없이 Spring Boot 마이크로서비스 애플리케이션을 Azure에 쉽게 배포할 수 있습니다. 이 서비스는 Spring Apps 애플리케이션의 인프라를 관리하므로 개발자는 코드에 집중할 수 있습니다. 기타 이점은 다음과 같습니다.
- 기존 Spring 앱을 효율적으로 마이그레이션하고 클라우드 확장 및 비용을 관리합니다.
- 민첩성 및 배포 속도를 향상시키기 위해 Spring Apps 패턴으로 앱을 현대화합니다.
- 복잡한 인프라 없이 클라우드 규모에서 Java를 실행하고 더 높은 사용률을 달성합니다.
- 컨테이너화 종속성 없이 신속하게 개발 및 배포합니다.
- 프로덕션 워크로드를 효율적이고 손쉽게 모니터링합니다.

시작하기 전에
이 샘플을 실행하고 배포하기 전에 로컬 개발 환경에 JDK(Java SE Development Kit) 버전 11 이상 및 Apache Maven 빌드 도구가 설치되어 있어야 합니다. 아직 설치하지 않았다면 먼저 이 도구를 설치하십시오.
Java용 확장 팩을 다운로드하여 설치하십시오.
참고: 이 자습서를 완료하려면
JAVA_HOME환경 변수를 JDK 설치 위치로 설정해야 합니다.
Apache Maven 버전 3 이상 다운로드
로컬 개발 환경에 Apache Maven 설치
Spring Boot 앱 다운로드 및 테스트
Spring Boot Getting Started 샘플 프로젝트를 로컬 컴퓨터에 복제합니다. 명령 팔레트(⇧⌘P (Windows, Linux Ctrl+Shift+P))에서 Git: Clone 명령을 사용하여 Git 리포지토리를 복제할 수 있습니다. 원격 리포지토리 URL로 https://github.com/spring-guides/gs-spring-boot.git를 붙여넣은 다음, 로컬 리포지토리를 둘 상위 디렉터리를 결정합니다. 그런 다음, 리포지토리를 복제한 후 complete 폴더를 VS Code에서 열기 위해 해당 폴더로 이동하여 code .를 입력합니다.
참고: Visual Studio Code는 https://vscode.gisul.kr에서, Git은 https://git-scm.com에서 설치할 수 있습니다.

VS Code 내에서 complete 폴더 내의 Java 파일(예: src\main\java\hello\Application.java)을 엽니다. VS Code에 Java 언어 확장이 설치되어 있지 않으면 Microsoft Java용 확장 팩을 설치하라는 메시지가 표시됩니다. 지침에 따라 설치 후 VS Code를 다시 로드합니다.

Java용 확장 팩을 설치하면 프로젝트가 자동으로 빌드됩니다(빌드에 몇 분이 걸릴 수 있습니다). F5를 누르고 **Java** 환경을 선택하여 VS Code 내에서 애플리케이션을 실행할 수 있습니다. Java 디버그 확장은 프로젝트의 .vscode 폴더 아래에 디버깅 구성 파일 launch.json을 생성합니다. VS Code 상태 표시줄에서 빌드 진행 상황을 볼 수 있으며, 모든 작업이 완료되면 최종 활성 디버그 구성이 표시됩니다.

VS Code에서 애플리케이션을 시작하는 방법에 대한 자세한 내용은 디버깅 Launch Configurations에서 확인할 수 있습니다. 디버거를 시작하려면 F5를 다시 누르십시오.

웹 브라우저에서 https://:8080으로 이동하여 웹 앱을 테스트합니다. "Greetings from Spring Boot!"라는 메시지가 표시되어야 합니다.

변경 내용 만들기
이제 HelloController.java를 편집하여 "Greetings from Spring Boot!"를 "Hello World"와 같은 다른 문구로 변경합니다. VS Code는 훌륭한 Java 편집 환경을 제공합니다. VS Code의 편집 및 코드 탐색 기능에 대해 알아보려면 코드 편집 및 탐색을 확인하십시오.
편집기 상단의 **다시 시작** 버튼을 선택하여 앱을 다시 시작하고 브라우저를 새로 고쳐 결과를 확인합니다.

애플리케이션 디버그
애플리케이션 소스 코드에 중단점(F9)을 설정하고 브라우저를 새로 고쳐 중단점을 히트합니다.

VS Code를 사용한 Java 디버깅에 대해 더 자세히 알고 싶으면 Java 디버깅을 읽어볼 수 있습니다.
축하합니다. 첫 번째 Spring Boot 웹 앱을 로컬에서 실행했습니다! 계속해서 클라우드에서 호스팅하는 방법을 알아보세요.
Azure Spring Apps에 배포
Java 웹 애플리케이션을 빌드하여 로컬에서 실행했습니다. 이제 Visual Studio Code에서 배포하고 Azure Spring Apps에서 실행하는 방법을 알아보겠습니다.
Azure Spring Apps 확장 설치
Azure Spring Apps 확장은 다음과 같은 주요 기능을 사용하여 Azure Spring Apps를 만들고, 관리하고, 배포하는 데 사용됩니다.
- Azure Spring Apps에서 앱 만들기/보기/삭제
- 앱에 Jar 배포
- 공용/개인 엔드포인트를 사용하여 앱 액세스
- 앱 시작, 중지 및 다시 시작
- 앱을 확장/축소, 위/아래로 조정
- 환경 변수 및 JVM 옵션과 같은 애플리케이션 설정 구성
- 앱에서 로그 스트림
Azure Spring Apps 확장을 설치하려면 확장 보기(⇧⌘X (Windows, Linux Ctrl+Shift+X))를 열고 azure spring apps를 검색하여 결과를 필터링합니다. Microsoft Azure Spring Apps 확장을 선택합니다. 명령줄 환경의 경우 Azure CLI를 사용한 Azure Spring Apps 빠른 시작도 확인할 수 있습니다.
Azure 구독에 로그인
배포 프로세스는 Azure 계정 확장(Spring Cloud 확장과 함께 종속성으로 설치됨)을 사용하며 Azure 구독으로 로그인해야 합니다.
아직 Azure 구독이 없다면 무료 Azure 계정에 가입할 수 있습니다.
Azure에 로그인하려면 **명령 팔레트(⇧⌘P (Windows, Linux Ctrl+Shift+P))에서 Azure: Sign In을 실행합니다. 또는 **SPRING APPS** 탐색기에서 **Sign in to Azure...**를 클릭하여 Azure 계정에 로그인할 수 있습니다.

Azure Spring Apps에 앱 만들기
Azure 계정에 로그인하고 Visual Studio Code에서 앱을 열면 활동 표시줄의 Azure 아이콘을 선택하여 Azure 탐색기를 연 다음 Azure Spring Apps 패널을 볼 수 있습니다.
-
구독을 마우스 오른쪽 버튼으로 클릭하고 **포털에서 서비스 만들기**를 선택합니다. Azure Portal에서 다음 단계를 완료하여 Azure Spring Apps 서비스 인스턴스를 만듭니다.

-
서비스 인스턴스가 생성된 후 Azure 탐색기를 새로 고쳐 새 서비스 인스턴스를 표시합니다. 서비스 인스턴스를 마우스 오른쪽 버튼으로 클릭하고 **앱 만들기**를 선택합니다. 앱 이름을 입력하고 Java 버전을 선택한 다음 Enter를 눌러 만들기를 시작합니다. 앱은 몇 분 후에 준비됩니다.

앱 빌드 및 배포
명령 프롬프트 또는 터미널 창을 열고 Maven 명령을 사용하여 프로젝트를 빌드할 수 있습니다. 빌드는 target 디렉터리에 새 war 또는 jar 아티팩트를 생성합니다.
mvn clean package
-
Azure 탐색기에서 앱을 마우스 오른쪽 버튼으로 클릭하고 **배포**를 선택한 다음, 메시지가 표시되면 빌드된 Jar 파일을 선택합니다.

-
배포 상태는 오른쪽 하단에서 확인할 수 있습니다. 완료되면 **공용 엔드포인트 액세스**를 선택하여 Azure에서 실행 중인 앱을 테스트하고, 공용 엔드포인트 할당 여부를 묻는 메시지가 표시되면 **예**를 선택합니다. Spring Boot fat Jar만 지원되므로, Azure Spring Apps의 앱에 대한 자세한 내용을 알아보십시오.

앱 확장
-
**확장 설정** 아래의 **인스턴스 수**를 마우스 오른쪽 버튼으로 클릭하고 **편집**을 선택하여 앱을 쉽게 확장할 수 있습니다. "2"를 입력하고 Enter를 눌러 앱을 확장합니다.

애플리케이션 로그 스트림
-
**앱 인스턴스** 노드를 확장하고 로그를 보려는 인스턴스를 마우스 오른쪽 버튼으로 클릭한 다음 **로그 스트리밍 시작**을 선택합니다.

-
Visual Studio Code 출력 창이 로그 스트림에 연결되어 열립니다.

다음 단계
- **마이크로서비스를 위한 Azure Spring Apps**의 더 강력한 기능을 탐색해 보세요. Azure Spring Apps with Microservices.
- Java 디버깅 기능에 대해 자세히 알아보려면 Java 디버깅 자습서를 읽어보십시오.