기존 서비스와 워크로드를 애플리케이션에 등록하면 비즈니스 목적에 따라 리소스를 구성하여 관리를 간소화할 수 있습니다. 이 접근 방식은 통합된 가시성, 모니터링, 거버넌스, 운영 제어를 제공합니다.
이 가이드에서는 아직 애플리케이션으로 공식적으로 정의되지 않은Google Cloud 에서 실행되는 기존 서비스와 워크로드를 그룹화하는 방법을 보여줍니다.
시작하기 전에
애플리케이션으로 리소스를 정리하기 전에 애플리케이션 관리의 초기 설정을 완료해야 합니다. 이 프로세스에는 일반적으로 다음과 같은 역할과 단계가 포함됩니다.
관리자:
- 애플리케이션 관리 설정 앱 지원 폴더 또는 호스트 프로젝트가 애플리케이션의 관리 경계 역할을 하도록 구성합니다.
- 필요한 API를 사용 설정하세요. 사용하려는 모든 리소스에 대해 API를 사용 설정합니다.
- 사용자에게 액세스 권한 부여 애플리케이션 수명 주기에서 사용자의 책임에 따라 적절한 IAM 역할을 할당합니다.
개발자 및 운영자:
- 관리자에게 초기 설정이 완료되었는지 확인합니다.
- 수행하려는 작업에 필요한 IAM 역할이 있는지 확인합니다.
- 설정 모델에 따라 앱 지원 폴더 또는 호스트 프로젝트를 엽니다.
애플리케이션 만들기
App Hub에서 기존 서비스 및 워크로드의 논리적 컨테이너 역할을 하는 애플리케이션을 만듭니다.
콘솔
- Google Cloud 콘솔에서 프로젝트 선택기를 사용하여 설정 모델에 따라 호스트 프로젝트 또는 앱 지원 폴더의 관리 프로젝트를 선택합니다.
App Hub에서 애플리케이션 페이지로 이동합니다.
애플리케이션 만들기를 클릭합니다.
애플리케이션 리전 및 이름 선택 창에서 지리적 분포 요구사항에 따라 애플리케이션에 가장 적합한 위치를 선택합니다.
- 리전을 선택하여 리전 애플리케이션을 만듭니다. 그런 다음 App Hub 지원 리전에 따라 애플리케이션의 특정 리전을 선택합니다.
- 전역을 선택하여 전역 애플리케이션을 만듭니다.
애플리케이션에 가장 적합한 위치에 대한 자세한 내용은 전역 및 리전 애플리케이션을 참고하세요.
애플리케이션 이름을 입력하고 계속을 클릭합니다.
선택사항: 검색 가능성과 거버넌스를 지원하도록 애플리케이션의 최상위 속성을 정의합니다.
- 속성 추가 섹션에 표시 이름을 입력합니다.
- 중요도 목록에서 애플리케이션의 중요도를 나타내는 값을 선택합니다.
- 환경 목록에서 소프트웨어 수명 주기 단계를 나타내는 값을 선택합니다.
- 소유자의 표시 이름과 이메일 주소를 포함한 연락처 정보를 추가합니다. 이메일 주소는
username@yourdomain
형식이어야 합니다(예:jane-doe@gmail.com
).
만들기를 클릭합니다.
gcloud
터미널 또는 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_NAME
및DEV_EMAIL
: 개발자 소유자의 표시 이름과 이메일 주소입니다.선택사항:
OPERATOR_NAME
및OPERATOR_EMAIL
: 작업자 소유자의 표시 이름과 이메일 주소입니다.선택사항:
BUSINESS_NAME
및BUSINESS_EMAIL
: 비즈니스 소유자의 표시 이름과 이메일 주소입니다.
- 필수:
프로젝트의 애플리케이션을 나열합니다.
gcloud apphub applications list \ --project=PROJECT_ID \ --location=REGION
다음과 비슷한 출력이 표시되어야 합니다.
ID DISPLAY_NAME CREATE_TIME APPLICATION_NAME DISPLAY_NAME 2023-10-31T18:33:48
서비스 및 워크로드 등록
애플리케이션을 만든 후 기존 서비스와 워크로드를 등록합니다.
콘솔
- Google Cloud 콘솔에서 프로젝트 선택기를 사용하여 설정 모델에 따라 호스트 프로젝트 또는 앱 지원 폴더의 관리 프로젝트를 선택합니다.
App Hub에서 애플리케이션 페이지로 이동합니다.
기존 서비스 및 워크로드를 등록할 애플리케이션의 이름을 클릭합니다.
애플리케이션의 세부정보 페이지에서 서비스 및 워크로드 탭을 선택합니다. 이 탭에는 애플리케이션에 등록할 수 있는 기존 리소스 목록이 표시됩니다. App Hub를 사용하면 리소스 계층 구조 내에 있는 지원되는 리소스를 서비스 및 워크로드로 선택할 수 있습니다.
등록하려는 각 서비스 또는 워크로드에 대해 다음을 수행합니다.
- 서비스 및 워크로드 탭에서 서비스/워크로드 등록을 클릭합니다.
- 리소스 선택 창으로 이동하여 찾아보기를 클릭하여 등록하려는 서비스 또는 워크로드를 찾습니다.
- 서비스 또는 워크로드를 선택하고 선택을 클릭합니다.
- 리소스 선택 창에서 서비스 또는 워크로드의 이름을 입력하고 계속을 클릭합니다.
선택사항: 속성 추가 창에서 검색 가능성 및 거버넌스를 지원하도록 리소스의 최상위 속성을 정의합니다.
계속을 클릭합니다.
선택사항: 소유자 추가 섹션에서 서비스 또는 워크로드 소유자에 대한 세부정보를 추가합니다.
등록을 클릭합니다.
서비스 및 워크로드 탭에 등록된 서비스 또는 워크로드가 표시됩니다.
gcloud
App Hub를 사용하면 리소스 계층 구조 내에 있는 지원되는 리소스를 서비스 및 워크로드로 선택할 수 있습니다. Google Cloud CLI를 사용하여 터미널 또는 Cloud Shell에서 애플리케이션에 등록할 수 있는 서비스 또는 워크로드를 나열합니다. 서비스와 워크로드의 명령어는 약간 다릅니다.
서비스 등록
애플리케이션에 등록할 수 있는 사용 가능한 서비스를 나열합니다.
gcloud apphub discovered-services list \ --project=PROJECT_ID \ --location=REGION \ --filter=FILTER_EXPRESSION
필수 플래그와 선택적 플래그의 경우 다음을 바꿉니다.
- 필수:
PROJECT_ID
: 설정 모델에 따라 호스트 프로젝트 또는 관리 프로젝트의 ID입니다. 필수:
REGION
: 지리적 분포에 따른 서비스의 특정 지역입니다. 다음 값 중 하나를 사용하세요.- 서비스가 리전인 경우 App Hub 지원 리전 이름을 지정합니다.
- 서비스가 전역인 경우
global
을 사용합니다.
선택사항:
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'}
- 필수:
출력에서 서비스 ID
SERVICE_ID
를 복사합니다.애플리케이션에 서비스를 등록합니다.
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
: 지리적 분포에 따른 서비스의 특정 지역입니다. 다음 값 중 하나를 사용하세요.- 서비스가 리전인 경우 App Hub 지원 리전 이름을 지정합니다.
- 서비스가 전역인 경우
global
을 사용합니다.
필수:
APPLICATION_NAME
: 서비스를 등록할 애플리케이션의 이름입니다.필수:
SERVICE_ID
: 이전 출력에서 복사한 서비스 ID입니다.선택사항:
SERVICE_DISPLAY_NAME
: 서비스의 표시 이름입니다.선택사항:
CRITICALITY
: 작업에 대한 서비스의 중요도 수준입니다. 다음 값 중 하나를 사용합니다.MISSION_CRITICAL
HIGH
MEDIUM
LOW
선택사항:
ENVIRONMENT
: 소프트웨어 수명 주기의 단계입니다. 다음 중 한 가지 값을 사용합니다.PRODUCTION
STAGING
DEVELOPMENT
TEST
선택사항:
DEV_NAME
및DEV_EMAIL
: 개발자 소유자의 표시 이름과 이메일 주소입니다.선택사항:
OPERATOR_NAME
및OPERATOR_EMAIL
: 운영자 소유자의 표시 이름과 이메일 주소입니다.선택사항:
BUSINESS_NAME
및BUSINESS_EMAIL
: 비즈니스 소유자의 표시 이름과 이메일 주소입니다.
- 필수:
애플리케이션에 등록된 서비스를 나열합니다.
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
워크로드 등록
애플리케이션에 등록할 수 있는 사용 가능한 워크로드를 나열합니다.
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'}
- 필수:
출력에서 워크로드 ID(
WORKLOAD_ID
)를 복사합니다.애플리케이션에 워크로드를 등록합니다.
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_NAME
및DEV_EMAIL
: 개발자 소유자의 표시 이름과 이메일 주소입니다.선택사항:
OPERATOR_NAME
및OPERATOR_EMAIL
: 운영자 소유자의 표시 이름과 이메일 주소입니다.선택사항:
BUSINESS_NAME
및BUSINESS_EMAIL
: 비즈니스 소유자의 표시 이름과 이메일 주소입니다.
- 필수:
애플리케이션에 등록된 워크로드를 나열합니다.
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에 리소스를 등록한 후에는 책임에 따라 사용자 액세스 권한을 부여하고 이 논리적 그룹을 단일 단위로 관리합니다.
- 액세스 요구사항에 따라 애플리케이션에 권한을 부여할 수 있습니다. 권장 역할 목록은 사용자에게 애플리케이션 중심 역할 부여를 참고하세요.
- Cloud Hub로 이동하여 상태, 성능, 비용 데이터를 비롯해 정의된 애플리케이션의 통합 운영 대시보드를 확인합니다.