폴더에서 애플리케이션 관리

이 문서에서는Google Cloud에서 App Hub 애플리케이션을 빌드, 운영, 관리하기 위해 앱 지원 폴더를 설정하는 방법을 설명합니다. 이 문서는 App Hub 애플리케이션을 설정하고 관리하는 사용자를 대상으로 합니다.

개요

Google Cloud 는 리소스를 배포하고 관리하기 위한 애플리케이션 중심 접근 방식을 제공합니다. 개별 인프라 구성요소에 집중하는 대신 애플리케이션을 전체적으로 관리할 수 있습니다. 이 애플리케이션 중심 모델과 리소스 구성에 대한 자세한 내용은 애플리케이션 중심 Google Cloud를 참고하세요.

애플리케이션 중심 환경의 핵심은 App Hub 애플리케이션입니다. 애플리케이션은 특정 비즈니스 기능을 제공하기 위해 함께 작동하는 리소스의 논리적 그룹입니다. 이러한 리소스에는 다음이 포함됩니다.

  • 서비스: 부하 분산기의 전달 규칙과 같이 클라이언트에 기능을 노출하는 네트워크 또는 API 인터페이스입니다.
  • 워크로드: 관리형 인스턴스 그룹 (MIG) 또는 Google Kubernetes Engine (GKE) 배포와 같이 명확한 비즈니스 기능을 실행하는 바이너리 배포를 실행하는 컴퓨팅 리소스입니다.

앱 지원 폴더란 무엇인가요?

앱 지원 폴더는 애플리케이션 관리를 위해 특별히 구성된 Google Cloud 리소스 계층 구조 내의 폴더입니다. 이 폴더는 애플리케이션의 애플리케이션 관리 경계 역할을 하며 애플리케이션의 메타데이터와 구성을 저장하는 관리 프로젝트가 포함되어 있습니다. 폴더 내 하나 이상의 프로젝트에서 App Hub 애플리케이션을 설계, 구성, 테스트, 검증, 배포할 수 있습니다.

앱 지원 폴더는 다음과 같은 방식으로 애플리케이션 관리를 간소화합니다.

  • 구성요소 정리: App Hub 내에 정의된 관련 서비스와 워크로드를 단일 애플리케이션으로 그룹화합니다.
  • 중앙 집중식 모니터링 및 관리 제공: 다양한 프로젝트 또는 제품에서 개별 구성요소를 추적하는 대신 폴더 수준에서 애플리케이션의 전반적인 상태와 성능을 모니터링하고 관리할 수 있습니다.
  • 관리 간소화: 폴더를 앱 지원으로 지정하면 조직 내에서 애플리케이션을 만들고 관리하는 작업을 간소화하는 폴더 수준 경계가 만들어집니다.
  • 애플리케이션 중심 뷰 제공: 개별 리소스에서 애플리케이션 자체로 초점을 이동하여 성능에 대한 전체적인 뷰를 제공합니다.

폴더 수준 경계 및 애플리케이션 관리 경계의 프로젝트와 폴더 비교에 관한 자세한 내용은 애플리케이션 설정 모델 선택을 참고하세요.

관리 프로젝트 개요

관리 프로젝트는 앱 지원 폴더의Google Cloud 프로젝트로, 모든 애플리케이션 중심 메타데이터의 중앙 저장소 역할을 합니다. 각 폴더에는 관리 프로젝트가 하나만 포함됩니다. 관리 프로젝트는 결제, 할당량, 액세스 제어를 포함한 애플리케이션 라이브러리 및 API의 인프라를 제공합니다. 이러한 API에 관한 자세한 내용은 관리 프로젝트에서 API 사용 설정을 참고하세요.

관리 프로젝트에는 다음을 포함하는 전체 애플리케이션 모델이 포함됩니다.

  • App Hub 데이터: 서비스 및 워크로드와의 관계, 소유자 및 중요도와 같은 메타데이터를 포함한 애플리케이션의 논리적 모델입니다.
  • 애플리케이션 설계 센터 데이터: 새 애플리케이션을 설계하고 배포하는 데 사용되는 템플릿, 카탈로그, 스페이스와 같은 리소스입니다.

관리 프로젝트는 앱 지원 폴더의 리소스 계층 구조 내에서 리소스를 탐색할 수도 있습니다. 관리 프로젝트가 삭제되면 이 애플리케이션 모델 데이터가 모두 영구적으로 손실됩니다. GKE 클러스터나 부하 분산기와 같은 기본 인프라는 그대로 유지되지만 App Hub 내의 논리적 그룹화는 영구적으로 삭제됩니다.

애플리케이션 관리를 위한 폴더 구성

신규 폴더와 기존 폴더 모두에서 애플리케이션 관리를 사용 설정할 수 있습니다. 새로 만든 전용 폴더 내에서 애플리케이션 관리를 테스트하는 것이 좋습니다. 이렇게 하면 중요한 기존 폴더에 적용하기 전에 안전하게 실험할 수 있습니다.

앱 지원 폴더 내에서 승인된 사용자는 해당 폴더 내에서 직접 애플리케이션의 모든 프로젝트의 워크로드와 서비스를 합산할 수 있습니다.

다음 구조의 리소스 계층 구조를 고려해 보세요.

폴더 F1에는 다음 세 항목이 포함되어 있습니다.

  • 프로젝트 P10 및 P11
  • 폴더 F2

폴더 F2에는 다음 두 항목이 포함되어 있습니다.

  • 프로젝트 P20 및 P21

폴더 F1에서 애플리케이션 관리를 사용 설정하여 여러 폴더 수준의 리소스를 포함하는 애플리케이션을 만듭니다. 예를 들어 애플리케이션에는 프로젝트 P10 및 P20의 리소스가 포함될 수 있습니다.

폴더 수준에 걸쳐 있는 프로젝트 P10 및 P20이 있는 애플리케이션

폴더 F2에서만 애플리케이션 관리를 사용 설정하면 프로젝트 P10에서 애플리케이션을 만들 수 없습니다. 프로젝트 P10에서 애플리케이션을 만들려면 프로젝트 P10을 폴더 F2 아래로 이동합니다.

프로젝트 P10과 P20이 있는 애플리케이션. P10은 폴더 F2 아래로 이동했습니다.

애플리케이션 관리 전략을 계획할 때 조직 구조, 팀 책임, 리소스를 고려하세요. 팀과 리소스가 구조화되는 방식은 앱 지원 폴더를 사용하는 방식에 직접적인 영향을 미칩니다.

필요한 역할

애플리케이션 수명 주기 중에 확인된 책임을 기반으로 애플리케이션 관리 프로세스의 다양한 측면을 구성하려면 개발자와 사용자에게 다양한 역할이 필요합니다.

앱 지원 폴더를 구성하는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.

  • 애플리케이션 관리 사용 설정: 폴더의 상위 리소스에 대한 폴더 관리자 (roles/resourcemanager.folderAdmin)
  • 관리 프로젝트에 결제 계정을 연결합니다.
  • 권장 API 사용 설정: 추가 서비스를 사용 설정하려는 경우에만 관리 프로젝트에서 서비스 사용량 관리자 (roles/serviceusage.serviceUsageAdmin)
  • 사용자에게 애플리케이션 중심 역할을 부여합니다. 관리 프로젝트의 프로젝트 IAM 관리자 (roles/resourcemanager.projectIamAdmin)
  • 관측 가능성 범위를 구성합니다.
  • Cloud Hub에서 애플리케이션 수준 및 프로젝트 수준 데이터를 확인합니다. 앱 지원 폴더에 대한 Cloud Hub 운영자 (roles/cloudhub.operator)

역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

애플리케이션 관리 사용 설정

애플리케이션 관리를 사용하면 개별 인프라 구성요소에서 전체 애플리케이션으로 초점을 전환할 수 있습니다.

폴더에서 애플리케이션 관리를 사용 설정하면 폴더가 앱 지원 폴더가 되고 다음이 발생합니다.

  • 프로젝트는 폴더에서 관리 프로젝트로 정의됩니다.
  • 시스템에서 관리 프로젝트에 필요한 API를 사용 설정합니다.
  • 관리 프로젝트는 사용 설정된 API, 결제, 할당량, 액세스 제어를 비롯한 애플리케이션 데이터를 저장합니다.

폴더에서 애플리케이션 관리를 사용 설정하려면 다음 단계를 따르세요.

콘솔

  1. 앱 지원 폴더로 구성할 Google Cloud 폴더를 선택하거나 만듭니다. 새 폴더를 만들려면 폴더 만들기를 참고하세요.

  2. Google Cloud 콘솔에서 리소스 관리 페이지를 엽니다.

    리소스 관리로 이동

  3. 프로젝트 및 폴더 목록에서 구성할 폴더를 찾습니다.

    폴더에 앱 지원 폴더 아이콘이 있으면 애플리케이션 관리가 이미 사용 설정된 것입니다.

  4. 폴더 행에서 작업 메뉴를 열고 설정을 클릭합니다.

    폴더에 애플리케이션 관리가 사용 설정되지 않은 경우 애플리케이션 관리 설정에 사용 설정되지 않음이 표시됩니다.

  5. 애플리케이션 관리 사용 설정 영역에서 프로젝트 만들기를 클릭합니다.

    관리 프로젝트 생성 및 필수 API 사용 설정 패널이 열립니다.

  6. 필수 API 목록을 검토합니다. 이러한 API는 애플리케이션 수명 주기를 관리합니다. 관련 비용이 있는 API의 경우 API 이름을 클릭하여 가격 책정에 대해 자세히 알아보세요.

  7. 애플리케이션 관리를 사용 설정하려면 프로젝트 생성 및 API 사용 설정을 클릭합니다.

    시스템에서 폴더에 관리 프로젝트를 만듭니다.

  8. 관리 프로젝트의 프로젝트 이름과 ID를 기록해 둡니다. 이러한 값을 사용하여 액세스 권한을 부여합니다.

    또는 다음 Google Cloud CLI 명령어를 사용하여 관리 프로젝트 ID를 가져올 수 있습니다.

    gcloud resource-manager folders describe FOLDER_ID
        --format="value(managementProject.split('/').slice(-1))"
    

    FOLDER_ID를 앱 지원 폴더의 ID로 바꿉니다.

    자세한 내용은 프로젝트 이름, 번호, ID 찾기를 참고하세요.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. 최신 버전의 Google Cloud CLI가 설치되어 있는지 확인합니다.

    gcloud components update
    
  3. 특정 폴더에서 애플리케이션 관리를 사용 설정하려면 --enable 플래그와 함께 gcloud resource-manager capabilities update 명령어를 사용합니다.

    gcloud resource-manager capabilities update folders/FOLDER_ID/capabilities/app-management \
       --enable
    

    FOLDER_ID를 폴더의 ID로 바꿉니다.

    이 명령어는 지정된 폴더에서 애플리케이션 관리 기능을 사용 설정하고 해당 폴더 내에 관리 프로젝트 역할을 하는 새 Google Cloud 프로젝트를 자동으로 프로비저닝합니다.

  4. 원하는 경우 관리 프로젝트에서 권장 API를 사용 설정하려면 프로젝트에서 Google Cloud 서비스를 사용 설정하는 안내를 따르세요.

  5. Terraform

    Terraform을 사용하여 폴더에서 애플리케이션 관리를 사용 설정하려면 google_resource_manager_capability 리소스를 사용합니다. 예를 들면 다음과 같습니다.

    resource "google_folder" "folder" {
      display_name     = "my-folder"
      parent           = "organizations/123456789"
      deletion_protection = false
    }
    resource "time_sleep" "wait_60s" {
      depends_on = [google_folder.folder]
      create_duration = "60s"
    }
    resource "google_resource_manager_capability" "capability" {
      value            = true
      parent           = "${google_folder.folder.name}"
      capability_name  = "app-management"
      depends_on = [time_sleep.wait_60s]
    }
    

    이 명령어는 지정된 폴더에서 애플리케이션 관리 기능을 사용 설정하고 해당 폴더 내에 관리 프로젝트 역할을 하는 새 Google Cloud 프로젝트를 자동으로 프로비저닝합니다. 관리 프로젝트에서 추천 API 목록을 사용 설정하려면 Google Cloud 프로젝트에서 API 서비스 사용 설정 안내를 따르세요.

관리 프로젝트를 만들고 필수 API를 사용 설정한 후 App Hub를 사용하여 애플리케이션에서 기존 서비스와 워크로드를 그룹화할 수 있습니다. 하지만 다른 애플리케이션 중심 Google Cloud 제품의 고급 기능을 사용하려면 결제 계정을 관리 프로젝트에 연결하고 사용자에게 애플리케이션 중심 역할을 부여하는 것이 좋습니다. 이러한 작업을 통해 사용자는 애플리케이션 배포 프로세스 및 작업의 다양한 측면을 관리할 수 있으며, 서로 다른 역할이 필요할 수 있습니다.

선택사항: 관리 프로젝트에 결제 계정 연결

고급 애플리케이션 중심 Google Cloud 기능을 사용하려면 활성 결제 계정을 관리 프로젝트에 연결해야 합니다. 예를 들어 연결된 결제 계정을 사용하면 다음 작업을 할 수 있습니다.

  • App Hub 리소스 할당량을 초과하는 워크로드를 관리합니다.
  • App Design Center를 사용하여 템플릿을 만들고 애플리케이션을 배포합니다.

애플리케이션 관리 및 사용 설정된 API와 관련된 예상 비용에 대한 개요는 비용 이해하기를 참고하세요.

활성 결제 계정을 관리 프로젝트에 연결하려면 다음 단계를 따르세요.

콘솔

  1. 애플리케이션 관리에 사용할 결제 계정이 있는지 확인합니다. 결제 계정을 만들려면 새 셀프 서비스 Cloud Billing 계정 만들기를 참고하세요.

  2. Google Cloud 콘솔에서 결제 페이지를 엽니다.

    결제로 이동

  3. 내 프로젝트 탭에서 관리 프로젝트를 찾습니다.

  4. 프로젝트 행에서 작업 메뉴를 열고 결제 변경을 선택한 후 Cloud Billing 계정을 선택합니다.

프로젝트의 결제 사용 설정에 대한 자세한 내용은 프로젝트의 결제 사용 설정을 참고하세요.

gcloud

gcloud billing projects link PROJECT_ID \
    --billing-account ACCOUNT_ID

다음을 바꿉니다.

  • PROJECT_ID: 관리 프로젝트의 ID입니다.
  • ACCOUNT_ID: 결제 계정의 ID입니다. 결제 계정 ID는 0X0X0X-0X0X0X-0X0X0X 형식입니다.

관리 프로젝트에서 자동으로 사용 설정되는 API 외에도 애플리케이션 생성을 지원하기 위해 추천 API를 사용 설정할 수 있습니다. 권장 API를 검토하여 이점과 관련 비용을 파악합니다.

사용자에게 애플리케이션 중심 역할 부여

애플리케이션 수명 주기 동안의 책임에 따라 사용자에게 액세스 권한을 부여할 수 있습니다. 다양한 수준의 애플리케이션 액세스 권한을 부여하는 방법을 알아보려면 애플리케이션에 권한 부여를 참고하세요.

다음 표에는 프로젝트 또는 폴더 수준에서 다양한 애플리케이션 중심 사용자 책임을 부여하기 위한 일반 가이드라인과 권장 IAM 역할이 나와 있습니다. 이 표에는 App Hub 및 App Design Center로 애플리케이션을 관리하고 Cloud Hub에서 데이터를 볼 수 있는 역할이 포함되어 있습니다.

이러한 역할 및 기타 제품별 역할에 대한 자세한 내용은 해당 문서를 참고하세요.

사용자의 책임 IAM 역할 역할을 부여할 위치
플랫폼 관리자

관리 프로젝트의 관리자 작업을 수행합니다.

프로젝트 IAM 관리자(roles/resourcemanager.projectIamAdmin) 관리 프로젝트
플랫폼 엔지니어

App Hub 및 App Design Center의 관리자 작업을 실행합니다.

  • App Hub 관리자 (roles/apphub.admin)
  • App Design Center 관리자 (roles/designcenter.admin)
관리 프로젝트
애플리케이션 개발자

애플리케이션을 개발합니다.

  • App Hub 편집자 (roles/apphub.editor)
  • App Design Center 사용자 (roles/designcenter.user)
관리 프로젝트
SRE, 운영자, Cloud Hub 사용자

Cloud Hub에서 애플리케이션 수준 및 프로젝트 수준 데이터를 확인합니다.

Cloud Hub 운영자 (roles/cloudhub.operator) 앱 지원 폴더

모니터링 가능성 범위 구성

관측 가능성 범위는 Google Cloud 콘솔에서 표시할 원격 분석 데이터를 검색하는 위치를 결정합니다. 각 Google Cloud 프로젝트에는 기본 로그 및 추적 범위를 식별하는 단일 모니터링 가능성 범위가 있습니다. 측정항목 데이터의 경우 프로젝트의 측정항목 범위에 따라Google Cloud 콘솔에서 데이터를 검색하는 위치가 결정됩니다.

애플리케이션의 모든 원격 분석 데이터를 보거나 분석하려면 관리 프로젝트의 모니터링 가능성 범위와 측정항목 범위를 구성하세요. 이러한 범위를 구성하면 데이터가 여러 프로젝트에 저장되어 있더라도 Cloud Hub 및 기타 서비스에서 애플리케이션의 로그, 측정항목, 추적 데이터를 찾아 표시할 수 있습니다.

이 섹션에서는 필수 구성을 요약합니다. 자세한 안내는 애플리케이션 모니터링 설정을 참고하세요. 다음 표에는 필요한 구성 범위가 나와 있습니다.

범위 구성요소 구성 시나리오 주요 작업 및 고려사항
로그 범위 집계 싱크를 사용하여 조직의 모든 로그를 중앙 로그 버킷으로 라우팅합니다.
  1. 버킷에 저장된 애플리케이션 로그만 포함하는 로그 뷰를 만듭니다.
  2. 로그 뷰가 포함되도록 관리 프로젝트에서 기본 로그 범위를 구성합니다.
조직 수준 집계 싱크가 없고 앱 지원 폴더에 중첩된 폴더가 없습니다.
  1. 애플리케이션 로그를 관리 프로젝트의 _Default 로그 버킷으로 라우팅하도록 집계 싱크를 구성합니다.
  2. _Default라는 로그 범위가 기본 로그 범위인지 확인합니다.
집계 싱크를 사용하지 않으려는 경우 관리 프로젝트에서 기본 로그 범위를 구성하여 애플리케이션의 로그 데이터 스토리지 위치를 나열합니다.
측정항목 범위 확인하려는 측정항목 데이터를 저장하는 모든 프로젝트가 포함된 앱 지원 폴더를 구성했습니다. Google Cloud Observability는 앱 지원 폴더의 프로젝트 목록을 측정항목 범위의 프로젝트 목록과 동기화하려고 시도합니다.

앱 지원 폴더의 프로젝트 수가 측정항목 범위 할당량을 초과하지 않는 한, 앱 지원 폴더에서 프로젝트를 추가하거나 삭제할 때 Google Cloud Observability에서 측정항목 범위의 프로젝트 목록을 업데이트할 수 있습니다.
추적 범위 여러 프로젝트에서 애플리케이션 추적 데이터를 모니터링하려고 합니다.
  1. 애플리케이션의 trace 데이터를 저장하는 프로젝트를 나열하는 관리 프로젝트에 맞춤 trace 범위를 만듭니다.
  2. 커스텀 trace 범위를 기본 trace 범위로 설정합니다.

애플리케이션 관리 중지

Google Cloud 폴더를 더 이상 앱 지원 폴더로 사용하지 않으려면 다음 단계에 따라 애플리케이션 관리를 사용 중지하세요.

  1. 선취권이 앱 지원 폴더의 관리 프로젝트를 프로젝트 삭제로부터 보호하는 경우 선취권을 삭제해야 합니다. 자세한 내용은 선취권으로 프로젝트 보호를 참고하세요.

  2. 애플리케이션 관리를 사용 중지할 Google Cloud 폴더를 선택합니다.

  3. Google Cloud 콘솔에서 리소스 관리 페이지를 엽니다.

    리소스 관리로 이동

  4. 프로젝트 및 폴더 목록에서 앱 지원 폴더를 찾습니다.

  5. 폴더 행에서 작업 메뉴를 열고 설정을 클릭합니다.

    앱 지원 폴더 아이콘이 있는 폴더는 애플리케이션 관리를 위해 구성됩니다.

  6. 사용 중지를 클릭하여 폴더에서 애플리케이션 관리를 사용 중지합니다.

  7. 확인 대화상자의 사용 중지 필드에 Disable을 입력합니다.

  8. 애플리케이션 관리를 사용 중지할 준비가 되었으면 사용 중지를 클릭합니다.

시스템에서 폴더의 관리 프로젝트를 삭제합니다. API 및 액세스 제어를 포함한 전체 애플리케이션 모델도 삭제됩니다.

다음 단계