기존 리소스를 애플리케이션에 등록

기존 서비스와 워크로드를 애플리케이션에 등록하면 비즈니스 목적에 따라 리소스를 구성하여 관리를 간소화할 수 있습니다. 이 접근 방식은 통합된 가시성, 모니터링, 거버넌스, 운영 제어를 제공합니다.

이 가이드에서는 아직 애플리케이션으로 공식적으로 정의되지 않은Google Cloud 에서 실행되는 기존 서비스와 워크로드를 그룹화하는 방법을 보여줍니다.

시작하기 전에

애플리케이션으로 리소스를 정리하기 전에 애플리케이션 관리의 초기 설정을 완료해야 합니다. 이 프로세스에는 일반적으로 다음과 같은 역할과 단계가 포함됩니다.

  • 관리자:

    1. 애플리케이션 관리 설정 앱 지원 폴더 또는 호스트 프로젝트가 애플리케이션의 관리 경계 역할을 하도록 구성합니다.
    2. 필요한 API를 사용 설정하세요. 사용하려는 모든 리소스에 대해 API를 사용 설정합니다.
    3. 사용자에게 액세스 권한 부여 애플리케이션 수명 주기에서 사용자의 책임에 따라 적절한 IAM 역할을 할당합니다.
  • 개발자 및 운영자:

    1. 관리자에게 초기 설정이 완료되었는지 확인합니다.
    2. 수행하려는 작업에 필요한 IAM 역할이 있는지 확인합니다.
    3. 설정 모델에 따라 앱 지원 폴더 또는 호스트 프로젝트를 엽니다.

애플리케이션 만들기

App Hub에서 기존 서비스 및 워크로드의 논리적 컨테이너 역할을 하는 애플리케이션을 만듭니다.

콘솔

  1. Google Cloud 콘솔에서 프로젝트 선택기를 사용하여 설정 모델에 따라 호스트 프로젝트 또는 앱 지원 폴더의 관리 프로젝트를 선택합니다.
  2. App Hub에서 애플리케이션 페이지로 이동합니다.

    애플리케이션으로 이동

  3. 애플리케이션 만들기를 클릭합니다.

  4. 애플리케이션 리전 및 이름 선택 창에서 지리적 분포 요구사항에 따라 애플리케이션에 가장 적합한 위치를 선택합니다.

    • 리전을 선택하여 리전 애플리케이션을 만듭니다. 그런 다음 App Hub 지원 리전에 따라 애플리케이션의 특정 리전을 선택합니다.
    • 전역을 선택하여 전역 애플리케이션을 만듭니다.

    애플리케이션에 가장 적합한 위치에 대한 자세한 내용은 전역 및 리전 애플리케이션을 참고하세요.

  5. 애플리케이션 이름을 입력하고 계속을 클릭합니다.

  6. 선택사항: 검색 가능성과 거버넌스를 지원하도록 애플리케이션의 최상위 속성을 정의합니다.

    • 속성 추가 섹션에 표시 이름을 입력합니다.
    • 중요도 목록에서 애플리케이션의 중요도를 나타내는 값을 선택합니다.
    • 환경 목록에서 소프트웨어 수명 주기 단계를 나타내는 값을 선택합니다.
    • 소유자의 표시 이름과 이메일 주소를 포함한 연락처 정보를 추가합니다. 이메일 주소는 username@yourdomain 형식이어야 합니다(예: jane-doe@gmail.com).
  7. 만들기를 클릭합니다.

gcloud

  1. 터미널 또는 Cloud Shell에서 Google Cloud CLI를 사용하여 애플리케이션을 만듭니다.

    gcloud apphub applications create APPLICATION_NAME \
      --project=PROJECT_ID \
      --scope-type=LOCATION \
      --location=REGION \
      --display-name=DISPLAY_NAME \
      --criticality-type=CRITICALITY \
      --environment-type=ENVIRONMENT \
      --developer-owners=display-name=DEV_NAME,email=DEV_EMAIL \
      --operator-owners=display-name=OPERATOR_NAME,email=OPERATOR_EMAIL \
      --business-owners=display-name=BUSINESS_NAME,email=BUSINESS_EMAIL
    

    APPLICATION_NAME을 애플리케이션 이름으로 바꿉니다. 이름은 공백이 없는 소문자 영숫자 문자만 포함해야 합니다.

    --criticality-type와 같은 선택적 플래그를 사용하여 애플리케이션의 최상위 속성을 정의하고 검색 가능성과 거버넌스를 지원합니다.

    필수 플래그와 선택적 플래그의 경우 다음을 바꿉니다.

    • 필수: PROJECT_ID: 설정 모델에 따라 호스트 프로젝트 또는 관리 프로젝트의 ID입니다.
    • 필수: LOCATION: 지리적 분포 요구사항에 따른 애플리케이션의 위치입니다. 다음 중 한 가지 값을 사용합니다.

      • 리전 애플리케이션의 경우 REGIONAL
      • 전역 애플리케이션의 경우 GLOBAL

      애플리케이션에 가장 적합한 위치에 대한 자세한 내용은 전역 및 리전 애플리케이션을 참고하세요.

    • 필수: REGION: 애플리케이션의 특정 지역입니다. 다음 중 한 가지 값을 사용합니다.

      • 애플리케이션의 --scope-type 위치가 REGIONAL로 설정된 경우 App Hub 지원 리전 이름을 지정합니다.
      • 애플리케이션의 --scope-type 위치가 GLOBAL로 설정된 경우 global를 사용합니다.
    • 선택사항: DISPLAY_NAME: 애플리케이션의 표시 이름입니다.

    • 선택사항: CRITICALITY: 작업에 대한 애플리케이션의 중요도 수준입니다. 다음 값 중 하나를 사용하세요.

      • MISSION_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • 선택사항: ENVIRONMENT: 소프트웨어 수명 주기의 단계입니다. 다음 중 한 가지 값을 사용합니다.

      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • 선택사항: DEV_NAMEDEV_EMAIL: 개발자 소유자의 표시 이름과 이메일 주소입니다.

    • 선택사항: OPERATOR_NAMEOPERATOR_EMAIL: 작업자 소유자의 표시 이름과 이메일 주소입니다.

    • 선택사항: BUSINESS_NAMEBUSINESS_EMAIL: 비즈니스 소유자의 표시 이름과 이메일 주소입니다.

  2. 프로젝트의 애플리케이션을 나열합니다.

    gcloud apphub applications list \
      --project=PROJECT_ID \
      --location=REGION
    

    다음과 비슷한 출력이 표시되어야 합니다.

    ID                 DISPLAY_NAME   CREATE_TIME
    APPLICATION_NAME   DISPLAY_NAME   2023-10-31T18:33:48
    

서비스 및 워크로드 등록

애플리케이션을 만든 후 기존 서비스와 워크로드를 등록합니다.

콘솔

  1. Google Cloud 콘솔에서 프로젝트 선택기를 사용하여 설정 모델에 따라 호스트 프로젝트 또는 앱 지원 폴더의 관리 프로젝트를 선택합니다.
  2. App Hub에서 애플리케이션 페이지로 이동합니다.

    애플리케이션으로 이동

  3. 기존 서비스 및 워크로드를 등록할 애플리케이션의 이름을 클릭합니다.

  4. 애플리케이션의 세부정보 페이지에서 서비스 및 워크로드 탭을 선택합니다. 이 탭에는 애플리케이션에 등록할 수 있는 기존 리소스 목록이 표시됩니다. App Hub를 사용하면 리소스 계층 구조 내에 있는 지원되는 리소스를 서비스 및 워크로드로 선택할 수 있습니다.

  5. 등록하려는 각 서비스 또는 워크로드에 대해 다음을 수행합니다.

    1. 서비스 및 워크로드 탭에서 서비스/워크로드 등록을 클릭합니다.
    2. 리소스 선택 창으로 이동하여 찾아보기를 클릭하여 등록하려는 서비스 또는 워크로드를 찾습니다.
    3. 서비스 또는 워크로드를 선택하고 선택을 클릭합니다.
    4. 리소스 선택 창에서 서비스 또는 워크로드의 이름을 입력하고 계속을 클릭합니다.
    5. 선택사항: 속성 추가 창에서 검색 가능성 및 거버넌스를 지원하도록 리소스의 최상위 속성을 정의합니다.

    6. 계속을 클릭합니다.

    7. 선택사항: 소유자 추가 섹션에서 서비스 또는 워크로드 소유자에 대한 세부정보를 추가합니다.

    8. 등록을 클릭합니다.

서비스 및 워크로드 탭에 등록된 서비스 또는 워크로드가 표시됩니다.

gcloud

App Hub를 사용하면 리소스 계층 구조 내에 있는 지원되는 리소스를 서비스 및 워크로드로 선택할 수 있습니다. Google Cloud CLI를 사용하여 터미널 또는 Cloud Shell에서 애플리케이션에 등록할 수 있는 서비스 또는 워크로드를 나열합니다. 서비스와 워크로드의 명령어는 약간 다릅니다.

서비스 등록

  1. 애플리케이션에 등록할 수 있는 사용 가능한 서비스를 나열합니다.

    gcloud apphub discovered-services list \
      --project=PROJECT_ID \
      --location=REGION \
      --filter=FILTER_EXPRESSION
    

    필수 플래그와 선택적 플래그의 경우 다음을 바꿉니다.

    • 필수: PROJECT_ID: 설정 모델에 따라 호스트 프로젝트 또는 관리 프로젝트의 ID입니다.
    • 필수: REGION: 지리적 분포에 따른 서비스의 특정 지역입니다. 다음 값 중 하나를 사용하세요.

    • 선택사항: FILTER_EXPRESSION: --filter 플래그의 필터 표현식으로, 지정된 프로젝트의 서비스 또는 특정 속성이 있는 서비스만 표시합니다. 예를 들면 다음과 같습니다.

      • service_properties.gcp_project=projects/PROJECT_ID
      • service_properties.gcp_project=projects/PROJECT_ID AND service_reference.uri~"forwardingRules"

    출력은 다음 예시와 비슷합니다.

    ID            SERVICE_REFERENCE                                                                                             SERVICE_PROPERTIES
    SERVICE_ID    {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/forwardingRules/forwarding-rule'}    {'gcpProject': 'projects/PROJECT_ID', 'location': 'REGION'}
    
  2. 출력에서 서비스 ID SERVICE_ID를 복사합니다.

  3. 애플리케이션에 서비스를 등록합니다.

    gcloud apphub applications services create SERVICE_NAME \
      --project=PROJECT_ID \
      --location=REGION \
      --application=APPLICATION_NAME \
      --discovered-service=projects/PROJECT_ID/locations/REGION/discoveredServices/SERVICE_ID \
      --display-name=SERVICE_DISPLAY_NAME \
      --criticality-type=CRITICALITY \
      --environment-type=ENVIRONMENT \
      --developer-owners=display-name=DEV_NAME,email=DEV_EMAIL \
      --operator-owners=display-name=OPERATOR_NAME,email=OPERATOR_EMAIL \
      --business-owners=display-name=BUSINESS_NAME,email=BUSINESS_EMAIL
    

    SERVICE_NAME을 애플리케이션에 서비스를 등록하는 데 사용할 이름으로 바꿉니다.

    --criticality-type와 같은 선택적 플래그를 사용하여 서비스의 최상위 속성을 정의하고 검색 가능성 및 거버넌스를 지원합니다.

    필수 플래그와 선택적 플래그의 경우 다음을 바꿉니다.

    • 필수: PROJECT_ID: 설정 모델에 따라 호스트 프로젝트 또는 관리 프로젝트의 ID입니다.
    • 필수: REGION: 지리적 분포에 따른 서비스의 특정 지역입니다. 다음 값 중 하나를 사용하세요.

    • 필수: APPLICATION_NAME: 서비스를 등록할 애플리케이션의 이름입니다.

    • 필수: SERVICE_ID: 이전 출력에서 복사한 서비스 ID입니다.

    • 선택사항: SERVICE_DISPLAY_NAME: 서비스의 표시 이름입니다.

    • 선택사항: CRITICALITY: 작업에 대한 서비스의 중요도 수준입니다. 다음 값 중 하나를 사용합니다.

      • MISSION_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • 선택사항: ENVIRONMENT: 소프트웨어 수명 주기의 단계입니다. 다음 중 한 가지 값을 사용합니다.

      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • 선택사항: DEV_NAMEDEV_EMAIL: 개발자 소유자의 표시 이름과 이메일 주소입니다.

    • 선택사항: OPERATOR_NAMEOPERATOR_EMAIL: 운영자 소유자의 표시 이름과 이메일 주소입니다.

    • 선택사항: BUSINESS_NAMEBUSINESS_EMAIL: 비즈니스 소유자의 표시 이름과 이메일 주소입니다.

  4. 애플리케이션에 등록된 서비스를 나열합니다.

    gcloud apphub applications services list \
      --application=APPLICATION_NAME
      --project=PROJECT_ID \
      --location=REGION
    

    등록된 각 서비스에 대해 다음과 비슷한 출력을 얻어야 합니다.

    ID              DISPLAY_NAME            SERVICE_REFERENCE                                                                                             CREATE_TIME
    SERVICE_NAME    SERVICE_DISPLAY_NAME    {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/forwardingRules/forwarding-rule'}    2023-11-01T21:38:08
    

워크로드 등록

  1. 애플리케이션에 등록할 수 있는 사용 가능한 워크로드를 나열합니다.

    gcloud apphub discovered-workloads list \
      --project=PROJECT_ID \
      --location=REGION \
      --filter=FILTER_EXPRESSION
    

    필수 플래그와 선택적 플래그의 경우 다음을 바꿉니다.

    • 필수: PROJECT_ID: 설정 모델에 따라 호스트 프로젝트 또는 관리 프로젝트의 ID입니다.
    • 필수: REGION: 지리적 분포에 따른 워크로드의 특정 리전입니다. 다음 값 중 하나를 사용하세요.

      • 워크로드가 리전인 경우 App Hub 지원 리전 이름을 지정합니다.
      • 워크로드가 전역인 경우 global을 사용합니다.
    • 선택사항: FILTER_EXPRESSION: --filter 플래그의 필터 표현식으로, 지정된 프로젝트의 워크로드 또는 특정 속성이 있는 워크로드만 표시합니다(예: workload_properties.gcp_project=projects/PROJECT_ID).

    출력은 다음 예시와 비슷합니다.

    ID             WORKLOAD_REFERENCE                                                                                    WORKLOAD_PROPERTIES
    WORKLOAD_ID    {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/instanceGroups/mig-name'}    {'gcpProject': 'projects/PROJECT_ID', 'location': 'REGION'}
    
  2. 출력에서 워크로드 ID(WORKLOAD_ID)를 복사합니다.

  3. 애플리케이션에 워크로드를 등록합니다.

    gcloud apphub applications workloads create WORKLOAD_NAME \
      --project=PROJECT_ID \
      --location=REGION \
      --application=APPLICATION_NAME \
      --discovered-workload=projects/PROJECT_ID/locations/REGION/discoveredWorkloads/WORKLOAD_ID \
      --display-name=WORKLOAD_DISPLAY_NAME \
      --criticality-type=CRITICALITY \
      --environment-type=ENVIRONMENT \
      --developer-owners=display-name=DEV_NAME,email=DEV_EMAIL \
      --operator-owners=display-name=OPERATOR_NAME,email=OPERATOR_EMAIL \
      --business-owners=display-name=BUSINESS_NAME,email=BUSINESS_EMAIL
    

    WORKLOAD_NAME을 워크로드를 애플리케이션에 등록하는 데 사용할 이름으로 바꿉니다.

    --criticality-type와 같은 선택적 플래그를 사용하여 워크로드의 최상위 속성을 정의하고 검색 가능성과 거버넌스를 지원합니다.

    필수 플래그와 선택적 플래그의 경우 다음을 바꿉니다.

    • 필수: PROJECT_ID: 설정 모델에 따라 호스트 프로젝트 또는 관리 프로젝트의 ID입니다.
    • 필수: REGION: 지리적 분포에 따른 워크로드의 특정 리전입니다. 다음 값 중 하나를 사용하세요.

      • 워크로드가 리전인 경우 App Hub 지원 리전 이름을 지정합니다.
      • 워크로드가 전역인 경우 global을 사용합니다.
    • 필수: APPLICATION_NAME: 워크로드를 등록할 애플리케이션의 이름입니다.

    • 필수: WORKLOAD_ID: 이전 출력에서 복사한 워크로드 ID입니다.

    • 선택사항: WORKLOAD_DISPLAY_NAME: 워크로드의 표시 이름입니다.

    • 선택사항: CRITICALITY: 운영에 대한 워크로드의 중요도 수준입니다. 다음 값 중 하나를 사용합니다.

      • MISSION_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • 선택사항: ENVIRONMENT: 소프트웨어 수명 주기의 단계입니다. 다음 중 한 가지 값을 사용합니다.

      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • 선택사항: DEV_NAMEDEV_EMAIL: 개발자 소유자의 표시 이름과 이메일 주소입니다.

    • 선택사항: OPERATOR_NAMEOPERATOR_EMAIL: 운영자 소유자의 표시 이름과 이메일 주소입니다.

    • 선택사항: BUSINESS_NAMEBUSINESS_EMAIL: 비즈니스 소유자의 표시 이름과 이메일 주소입니다.

  4. 애플리케이션에 등록된 워크로드를 나열합니다.

    gcloud apphub applications workloads list \
      --application=APPLICATION_NAME
      --project=PROJECT_ID \
      --location=REGION
    

    등록된 각 워크로드에 대해 다음과 유사한 출력을 얻어야 합니다.

    ID               DISPLAY_NAME             WORKLOAD_REFERENCE                                                                                    CREATE_TIME
    WORKLOAD_NAME    WORKLOAD_DISPLAY_NAME    {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/instanceGroups/mig-name'}    2023-11-01T21:38:08
    

권한 부여 및 작업 시작

애플리케이션을 만들고 App Hub에 리소스를 등록한 후에는 책임에 따라 사용자 액세스 권한을 부여하고 이 논리적 그룹을 단일 단위로 관리합니다.

  1. 액세스 요구사항에 따라 애플리케이션에 권한을 부여할 수 있습니다. 권장 역할 목록은 사용자에게 애플리케이션 중심 역할 부여를 참고하세요.
  2. Cloud Hub로 이동하여 상태, 성능, 비용 데이터를 비롯해 정의된 애플리케이션의 통합 운영 대시보드를 확인합니다.