Azure Spring Apps 엔터프라이즈 플랜에서 VMware Tanzu 애플리케이션 가속기 사용

참고 항목

Azure Spring Apps는 Azure Spring Cloud 서비스의 새 이름입니다. 서비스에 새 이름이 지정되었지만, 자산을 업데이트하는 동안 스크린샷, 비디오, 다이어그램과 같은 일부 위치에서는 당분간 이전 이름이 표시됩니다.

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

이 문서에서는 Azure Spring Apps 엔터프라이즈 플랜에서 Application Accelerator for VMware Tanzu(앱 가속기)를 사용하여 검색 가능하고 반복 가능한 방식으로 애플리케이션 개발을 부트스트랩하는 방법을 보여줍니다.

앱 가속기를 사용하면 검색 가능하고 반복 가능한 방식으로 애플리케이션 개발을 부트스트랩하고 배포할 수 있습니다. 앱 가속기를 사용하여 게시된 가속기 프로젝트를 기반으로 새 프로젝트를 만들 수 있습니다. 자세한 내용은 VMware 설명서의 Application Accelerator for VMware Tanzu를 참조하세요.

필수 구성 요소

  • Azure 구독 Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.

  • Azure Marketplace에서 엔터프라이즈 플랜요구 사항 섹션에 나열된 요구 사항을 숙지하고 이행합니다.

  • Azure Spring Apps 확장을 사용하는 Azure CLI. 다음 명령을 사용하여 이전 버전을 제거하고 최신 확장을 설치합니다. 이전에 spring-cloud 확장을 설치한 경우 구성 및 버전 불일치를 방지하기 위해 이 확장을 제거합니다.

    az extension remove --name spring
    az extension add --name spring
    az extension remove --name spring-cloud
    
  • VS Code에서 앱 가속기를 사용하려면 다음 필수 구성 요소도 충족해야 합니다.

앱 가속기 사용

Azure Spring Apps 엔터프라이즈 플랜 인스턴스를 프로비전할 때 앱 가속기를 사용하도록 설정할 수 있습니다. Azure Spring Apps 엔터프라이즈 플랜 리소스가 이미 있는 경우 기존 엔터프라이즈 플랜 인스턴스의 앱 가속기 관리 섹션을 참조하여 해당 리소스를 사용하도록 설정합니다.

Azure Portal 또는 Azure CLI를 사용하여 앱 가속기를 사용하도록 설정할 수 있습니다.

다음 단계에 따라 Azure Portal에서 앱 가속기를 사용하도록 설정합니다.

  1. Azure Portal을 엽니다.

  2. 기본 탭의 가격 책정 섹션에서 Enterprise 계층을 선택하고 필요한 정보를 지정합니다. 그리고 다음: VMware Tanzu 설정을 선택합니다.

  3. VMware Tanzu 설정 탭에서 앱 가속기 사용을 선택합니다.

    앱 가속기 사용 검사 상자가 강조 표시된 VMware Tanzu 설정 탭을 보여 주는 Azure Portal의 스크린샷

  4. 다른 설정을 지정하고 검토 및 만들기를 선택합니다.

  5. 검토 및 만들기 탭에서 앱 가속기 사용개발자 도구 포털 사용로 설정합니다. 만들기를 선택하여 엔터프라이즈 플랜 인스턴스를 만듭니다.

앱 가속기 모니터링

애플리케이션 가속기를 사용하면 Git 리포지토리의 파일에서 새 프로젝트를 생성할 수 있습니다. 다음 표에는 애플리케이션 가속기의 구성 요소가 설명되어 있습니다.

구성 요소 이름 인스턴트 수 인스턴스당 vCPU 인스턴스당 메모리 설명
accelerator-server 2 0.4코어 0.5Gi 개발자 도구 포털에서 사용 가능한 가속기와 옵션을 나열하는 데 사용하는 API를 제공합니다.
accelerator-engine 1 1 코어 3Gi 입력 값 및 파일(Git 리포지토리의 스냅샷에서 끌어온)을 처리하고 동적 변환을 적용하여 프로젝트를 생성합니다.
accelerator-controller 1 0.2코어 0.25Gi 애플리케이션 가속기 리소스를 조정합니다.
source-controller 1 0.2코어 0.25Gi 애플리케이션 가속기에서 사용하는 ImageRepositoriesMavenArtifacts 리소스를 조정하기 위한 컨트롤러를 등록합니다.
flux-source-controller 1 0.2코어 0.25Gi 애플리케이션 가속기에서 사용하는 GithubRepository 리소스를 조정하기 위한 컨트롤러를 등록합니다. 애플리케이션 가속기의 Git 리포지토리 원본 관리를 지원합니다.

Azure Portal 및 Azure CLI를 사용하여 모든 구성 요소의 실행 중인 인스턴스와 리소스 사용량을 확인할 수 있습니다.

다음 스크린샷과 같이 개발자 도구 페이지에서 Azure Portal의 애플리케이션 가속기 상태를 볼 수 있습니다.

개발자 도구 페이지를 보여 주는 Azure Portal의 스크린샷.

애플리케이션 가속기에 액세스하도록 개발자 도구 구성

애플리케이션 가속기에 액세스하려면 Tanzu Dev Tools를 구성해야 합니다. 자세한 내용은 Azure Spring Apps 엔터프라이즈 플랜에서 Tanzu Dev Tools 구성을 참조하세요.

애플리케이션 가속기를 사용하여 새 프로젝트 부트스트랩

애플리케이션 가속기를 사용하여 새 프로젝트를 부트스트랩하려면 가속기 관리 권한을 얻어야 합니다. 그러면 미리 정의된 가속기 또는 자체 가속기를 관리할 수 있습니다.

가속기 관리 권한 획득

가속기를 관리하려면 다음 권한이 필요합니다.

  • 읽기: Azure Spring Apps 미리 정의된 가속기 가져오기
  • 기타: Azure Spring Apps 미리 정의된 가속기를 사용하지 않도록 설정
  • 기타: Azure Spring Apps 미리 정의된 가속기를 사용하도록 설정
  • 쓰기: Microsoft Azure Spring Apps 사용자 지정 가속기 만들기 또는 업데이트
  • 읽기: Azure Spring Apps 사용자 지정 가속기 가져오기

자세한 내용은 Azure Spring Apps에서 권한을 사용하는 방법을 참조하세요.

미리 정의된 가속기 관리

미리 정의된 여러 가속기로 시작하여 새 프로젝트를 부트스트랩할 수 있습니다. 기호에 따라 기본 제공 가속기를 사용하지 않도록 설정하거나 사용하도록 설정할 수 있습니다.

Azure Portal 또는 Azure CLI를 사용하여 미리 정의된 가속기를 관리할 수 있습니다.

다음 스크린샷과 같이 Azure Portal의 가속기 탭에서 기본 제공 가속기를 볼 수 있습니다.

가속기 사용 안 함 단추가 강조 표시된 기본 제공 액셀러레이터가 있는 가속기 탭을 보여 주는 Azure Portal의 스크린샷

사용자 고유의 가속기 관리

미리 정의된 가속기뿐 아니라 사용자 고유의 가속기를 만들 수 있습니다. GitHub, GitLab 또는 BitBucket에서 Git 리포지토리를 사용할 수 있습니다.

다음 단계를 따라 사용자 고유의 가속기를 만들고 유지 관리합니다.

먼저 Git 리포지토리의 루트 디렉터리에 accelerator.yaml이라는 파일을 만듭니다.

accelerator.yaml 파일을 사용하여 사용자가 UI의 양식을 사용하여 채우는 입력 옵션을 선언할 수 있습니다. 이러한 옵션 값은 템플릿 엔진의 처리를 제어한 후 압축된 출력 파일을 반환합니다. accelerator.yaml 파일을 포함시키지 않으면 리포지토리는 계속해서 가속기로 작동하지만, 파일은 수정되지 않은 상태로 사용자에게 전달됩니다. 자세한 내용은 accelerator.yaml 파일 만들기를 참조하세요.

다음으로 새 가속기를 게시합니다.

accelerator.yaml 파일을 만든 후에는 가속기를 만들 수 있습니다. 그런 다음, Azure Portal 또는 개발자 도구 포털의 애플리케이션 가속기 페이지에서 가속기를 볼 수 있습니다. Azure Portal 또는 Azure CLI를 사용하여 새 가속기를 게시할 수 있습니다.

사용자 고유의 가속기를 만들려면 가속기 섹션을 열고 [사용자 지정 가속기] 섹션에서 가속기 추가를 선택합니다.

가속기 추가 단추가 강조 표시된 개발자 도구 페이지 가속기 탭을 보여 주는 Azure Portal의 스크린샷

다음 표에는 사용자 지정 가능한 가속기 필드가 설명되어 있습니다.

포털 CLI 설명 필수/선택
이름 name 가속기의 고유한 이름입니다. 가속기를 만든 후에는 이름을 변경할 수 없습니다. Required
설명 display-name 가속기의 긴 설명입니다. 선택 사항
Icon url icon-url UI에서 가속기를 나타내는 이미지의 URL입니다. 선택 사항
태그 accelerator-tags UI에서 검색에 사용할 수 있는 가속기의 특성을 정의하는 문자열 배열입니다. 선택 사항
Git url git-url 가속기 원본 Git 리포지토리의 리포지토리 URL입니다. URL은 HTTP/S 또는 SSH 주소입니다. scp-like syntax는 SSH 주소(예: user@example.com:repository.git)를 지원하지 않습니다. 유효한 URL 형식은 ssh://user@example.com:22/repository.git입니다. Required
Git interval git-interval-in-seconds 리포지토리 업데이트를 확인하는 간격입니다. 지정하지 않으면 기본 간격인 10분으로 지정됩니다. 가속기가 UI에 표시될 때까지 새로 고치는 간격(현재 10초)도 있습니다. 변경 내용이 UI에 반영될 때까지 10초가 지연될 수 있습니다. 선택 사항
Git branch git-branch 변경 내용을 체크 아웃하고 모니터링하는 Git 분기입니다. Git 분기, Git 커밋 또는 Git 태그만 지정해야 합니다. 선택 사항
Git commit git-commit 체크 아웃할 Git 커밋 SHA입니다. Git 분기, Git 커밋 또는 Git 태그만 지정해야 합니다. 선택 사항
Git tag git-tag 체크 아웃할 Git 커밋 태그입니다. Git 분기, Git 커밋 또는 Git 태그만 지정해야 합니다. 선택 사항
Git 하위 경로 git-sub-path 가속기 또는 조각의 루트로 고려할 Git 리포지토리 내의 폴더 경로입니다. 선택 사항
인증 유형 N/A 가속기 원본 리포지토리의 인증 유형입니다. 형식은 Public, Basic auth 또는 SSH일 수 있습니다. Required
사용자 이름 username 인증 유형이 Basic auth인 가속기 원본 리포지토리에 액세스하기 위한 사용자 이름입니다. 인증 유형이 Basic auth인 경우에 필요합니다.
암호/개인용 액세스 토큰 password 인증 유형이 Basic auth인 가속기 원본 리포지토리에 액세스하기 위한 암호입니다. 인증 유형이 Basic auth인 경우에 필요합니다.
프라이빗 키 private-key 인증 유형이 SSH인 가속기 원본 리포지토리에 액세스하기 위한 프라이빗 키입니다. OpenSSH 프라이빗 키만 지원됩니다. 인증 유형이 SSH인 경우에 필요합니다.
호스트 키 host-key 인증 유형이 SSH인 가속기 원본 리포지토리에 액세스하기 위한 호스트 키입니다. 인증 유형이 SSH인 경우에 필요합니다.
호스트 키 알고리즘 host-key-algorithm 인증 유형이 SSH인 가속기 원본 리포지토리에 액세스하기 위한 호스트 키 알고리즘입니다. ecdsa-sha2-nistp256 또는 ssh-rsa일 수 있습니다. 인증 유형이 SSH인 경우에 필요합니다.
CA 인증서 이름 ca-cert-name 인증 유형이 Public 또는 Basic auth이고 자체 서명된 인증서를 사용하여 가속기 원본 리포지토리에 액세스할 CA 인증서 이름입니다. Git 리포지토리 URL에 자체 서명된 인증서를 사용하는 경우에 필요합니다.
Type type 사용자 지정된 가속기의 형식입니다. 형식은 Accelerator 또는 Fragment일 수 있습니다. 기본값은 Accelerator입니다. 선택 사항

게시된 모든 가속기를 보려면 개발자 도구 페이지의 앱 가속기 섹션을 참조하세요. 앱 가속기 URL을 선택하여 개발자 도구 포털에서 게시된 가속기를 봅니다.

App Accelerator URL이 강조 표시된 개발자 도구 페이지를 보여주는 Azure Portal의 스크린샷.

새로 게시된 가속기를 보려면 개발자 도구 포털을 새로 고칩니다.

Azure Spring Apps 애플리케이션 가속기용 VMware Tanzu 개발 도구 페이지의 스크린샷.

참고 항목

개발자 도구 포털의 카탈로그를 새로 고치고 새 가속기 항목을 추가하는 데 몇 초 정도 걸릴 수 있습니다. 새로 고침 간격은 가속기를 만들 때 git-interval로 구성됩니다. 가속기를 변경한 후에도 개발자 도구 포털에 반영되려면 다소 시간이 소요됩니다. 가장 좋은 방법은 git-interval을 변경하여 Git 리포지토리에 변경 내용을 적용한 후 확인 속도를 높이는 것입니다.

사용자 고유의 가속기에서 조각 참조

새 가속기가 추가되면 가속기 작성 및 유지 관리가 반복적이고 자세해질 수 있습니다. 기존 프로젝트를 복사하고 수정하여 새 프로젝트를 만드는 경우도 있지만 이와 같은 프로세스는 번거롭고 오류가 발생하기 쉽습니다. 가속기를 더 쉽게 만들고 유지 관리하기 위해 애플리케이션 가속기는 조각이라고 하는 가속기 부분을 재사용하도록 허용하는 컴퍼지션이라는 기능을 지원합니다.

다음 단계를 따라 가속기에서 조각을 참조합니다.

  1. Azure Portal 또는 Azure CLI를 사용하여 Fragment 형식의 새 가속기를 게시합니다.

    조각 가속기를 만들려면 가속기 섹션을 열고 사용자 지정 가속기 섹션에서 가속기 추가를 선택한 다음 조각을 선택합니다.

    '조각' 형식의 사용자 지정된 가속기를 보여 주는 Azure Portal의 스크린샷.

  2. 가속기 프로젝트에서 accelerator.yaml 파일을 변경합니다. accelerator 섹션의 imports 지침과 engine 섹션의 InvokeFragment지침을 통해 다음 예제와 같이 가속기에서 조각을 참조합니다.

    accelerator:
        ...
      # options for the UI
      options:
        ...
      imports:
      - name: <fragment-accelerator-name>
      ...
    
    engine:
      chain:
        ...
      - merge:
        - include: [ "**" ]
        - type: InvokeFragment
          reference: <fragment-accelerator-name>
    
  3. 변경 사항을 개발자 도구 포털과 동기화합니다.

    개발자 도구 포털의 변경 내용을 더 신속하게 반영하려면 사용자 지정된 가속기의 Git 간격 필드에 값을 입력하면 됩니다. Git 간격 값은 시스템이 Git 리포지토리에서 업데이트를 확인하는 빈도를 나타냅니다.

  4. Azure Portal 또는 Azure CLI를 사용하여 Azure Portal에서 사용자 지정된 가속기와 변경 내용을 동기화합니다.

    다음 목록에는 변경 내용을 동기화할 수 있는 두 가지 방법이 있습니다.

    • 사용자 지정된 가속기를 만들거나 업데이트합니다.
    • 가속기 섹션을 열고 인증서 동기화를 선택합니다.

자세한 내용은 VMware 설명서의 앱 가속기에서 조각 사용을 참조하세요.

가속기를 사용하여 새 프로젝트 부트스트랩

가속기를 사용하여 새 프로젝트를 부트스트랩하려면 다음 단계를 따릅니다.

  1. 개발자 도구 페이지에서 앱 가속기 URL을 선택하여 개발자 도구 포털을 엽니다.

    App Accelerator URL이 강조 표시된 개발자 도구 페이지를 보여주는 Azure Portal의 스크린샷.

  2. 개발자 도구 포털에서 가속기를 선택합니다.

  3. 가속기 생성 페이지의 가속기 구성 섹션에서 입력 옵션을 지정합니다.

    가속기 구성 섹션을 보여 주는 Azure Spring Apps용 VMware Tanzu 개발 도구 가속기 생성 페이지의 스크린샷.

  4. 파일 탐색을 선택하여 프로젝트 구조와 소스 코드를 봅니다.

    Azure Spring Apps용 VMware Tanzu Dev Tools 프로젝트 탐색 창의 스크린샷.

  5. 검토 및 생성을 선택하여 지정된 매개 변수를 검토한 다음, 가속기 생성을 선택합니다.

    검토 및 생성 섹션을 보여 주는 Azure Spring Apps용 VMware Tanzu 개발 도구 생성 가속기 페이지의 스크린샷.

  6. 그 후 프로젝트를 보거나 zip 파일로 다운로드할 수 있습니다.

    작업 작업 창을 보여 주는 Azure Spring Apps용 VMware Tanzu 개발 도구 스크린샷

자체 서명된 인증서를 사용하여 가속기 구성

비공개 Git 리포지토리를 설정하고 자체 서명된 인증서로 HTTPS를 사용하도록 설정하는 경우, 가속기에서 Git 리포지토리로 클라이언트 인증서 확인을 위해 가속기에 CA 인증서 이름을 구성해야 합니다.

다음 단계를 따라 자체 서명된 인증서로 가속기를 구성합니다.

  1. 인증서를 Azure Spring Apps로 가져옵니다. 자세한 내용은 Azure Spring Apps의 애플리케이션에서 TLS/SSL 인증서 사용인증서 가져오기 섹션을 참조하세요.
  2. Azure Portal 또는 Azure CLI를 사용하여 가속기 인증서를 구성합니다.

가속기 인증서를 구성하려면 가속기 섹션을 열어 사용자 지정 가속기 섹션의 가속기 추가를 선택합니다. 그런 다음 드롭다운 목록에서 인증서를 선택합니다.

가속기 추가 창을 보여 주는 Azure Portal의 스크린샷.

인증서 회전

인증서가 만료되면 다음 단계를 따라 Spring Cloud Apps에서 인증서를 교체해야 합니다.

  1. 신뢰할 수 있는 CA에서 새 인증서를 생성합니다.
  2. 인증서를 Azure Spring Apps로 가져옵니다. 자세한 내용은 Azure Spring Apps의 애플리케이션에서 TLS/SSL 인증서 사용인증서 가져오기 섹션을 참조하세요.
  3. Azure Portal 또는 Azure CLI를 사용하여 인증서를 동기화합니다.

가속기는 자동으로 최신 인증서를 사용하지 않습니다. Azure Portal 또는 Azure CLI를 사용하여 하나 또는 모든 인증서를 동기화해야 합니다.

모든 가속기의 인증서를 동기화하려면 다음 스크린샷과 같이 가속기 섹션을 열어 인증서 동기화를 선택합니다.

인증서 동기화 단추가 강조 표시된 사용자 지정 가속기 창을 보여 주는 Azure Portal의 스크린샷

단일 가속기의 인증서를 동기화하려면 다음 스크린샷과 같이 가속기 섹션을 열고 가속기의 바로 가기 메뉴에서 인증서 동기화를 선택합니다.

인증서 동기화 상황에 맞는 메뉴 옵션이 강조 표시된 사용자 지정 가속기 창을 보여 주는 Azure Portal 또는 스크린샷

기존 엔터프라이즈 플랜 인스턴스의 앱 가속기 관리

Azure Portal 또는 Azure CLI를 사용하여 기존 Azure Spring Apps 엔터프라이즈 플랜 인스턴스의 앱 가속기를 사용하도록 설정할 수 있습니다.

개발자 도구 공용 엔드포인트가 이미 노출된 경우 앱 가속기를 사용하도록 설정한 다음, Ctrl+F5 키를 눌러 브라우저 캐시를 비활성화하면 개발자 도구 포털에서 볼 수 있습니다.

다음 단계를 따라 Azure Portal을 사용하여 기존 Azure Spring Apps 엔터프라이즈 플랜 인스턴스의 앱 가속기를 사용하도록 설정합니다.

  1. 서비스 리소스로 이동한 다음 개발자 도구를 선택합니다.

  2. 도구 관리를 선택합니다.

  3. 앱 가속기 사용을 선택한 다음, 적용을 선택합니다.

    앱 가속기 사용 옵션이 강조 표시된 도구 관리 창을 보여 주는 Azure Portal의 스크린샷.

개발자 도구 페이지에서 앱 가속기가 사용하도록 설정되었는지 아니면 사용하지 않도록 설정되었는지 확인할 수 있습니다.

VS Code에서 앱 가속기 사용

VS Code의 Azure Spring Apps 엔터프라이즈 플랜 서비스 인스턴스에서 앱 가속기의 모든 가속기에서 프로젝트를 부트스트랩할 수 있습니다.

앱 가속기 목록 보기

다음 단계를 따라 Azure Spring Apps 엔터프라이즈 플랜 서비스 인스턴스에서 앱 가속기 목록을 봅니다.

  1. Visual Studio Code에서 Azure Spring Apps 확장을 열고 Azure 계정에 로그인합니다.

  2. 원하는 서비스 인스턴스를 확장하고 마우스 오른쪽 단추를 클릭하여 서비스 인스턴스를 선택합니다.

  3. 메뉴에서 애플리케이션 가속기 열기를 선택하여 앱 가속기 목록을 엽니다. Tanzu 앱 가속기 Visual Studio Code 확장이 설치되어 있지 않은 경우 시스템에 해당 확장을 설치하라는 메시지가 표시됩니다.

    서비스 인스턴스에 대한 애플리케이션 가속기 열기 옵션을 보여 주는 VS Code 확장의 스크린샷

  4. 프로젝트를 부트스트랩할 가속기를 선택합니다.

    App Accelerator 확장 목록을 보여 주는 VS Code의 스크린샷

참고 항목

확장을 사용할 때 수정할 수 없는 문제가 발생하는 경우 확장에서 계정을 로그아웃합니다.

앱 가속기 문제 해결

앱 가속기를 사용하도록 설정하지 않았거나 공용 엔드포인트를 노출하지 않은 서비스 인스턴스에서 앱 가속기를 열려고 하면 Application Accelerator of Spring Apps <instance-name> is not enabled or publically accessible과 같은 오류 메시지가 표시됩니다.

다음 단계를 따라 앱 가속기를 사용하도록 설정하고 공용 엔드포인트를 노출합니다. 자세한 내용은 기존 엔터프라이즈 플랜 인스턴스에서 앱 가속기 관리 섹션을 참조하세요.

  1. 개발자 도구 포털에서 Single Sign-On을 사용하도록 설정한 경우, 확장에 액세스할 때 The extension 'Tanzu App Accelerator' wants to sign in using VMware Tanzu.와 같은 메시지가 표시됩니다. 자세한 내용은 Azure Spring Apps 엔터프라이즈 플랜의 Tanzu Dev Tools 구성에서 개발자 도구 포털 구성 섹션을 참조하세요.

  2. 허용을 선택하고 열기를 선택한 다음, 열기를 한 번 더 선택하여 VS Code 확장 목록을 엽니다.

    App Accelerator 확장 목록을 보여 주는 VS Code의 스크린샷

경우에 따라 AADSTS50011: The redirect URI 'vscode://VMware.tanzu-app-accelerator' specified in the request does not match the redirect URIs configured for the application 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'. Make sure the redirect URI sent in the request matches one added to your application in the Azure portal. Navigate to https://aka.ms/redirectUriMismatchError to learn more about how to fix this. 형식과 유사한 오류 메시지가 표시될 수 있습니다.

이 문제를 해결하려면 리디렉션 URI vscode://VMware.tanzu-app-accelerator를 관련 IdP(ID 공급자)에 추가합니다. Microsoft Entra ID에서 인증 메뉴로 이동하여 플랫폼 구성의 모바일 및 데스크톱 애플리케이션에 리디렉션 URI를 추가합니다.

다음 단계