Compute Engine에서 자동 확장 스크립트 또는 런타임 서비스를 사용하면 지속적 통합 및 지속적 배포 (CI/CD) 파이프라인을 자동화할 수 있습니다. 하지만 이러한 리소스는 전역 API 엔드포인트를 쿼리할 때 전역 리소스 정의에 크게 의존하므로 이 접근 방식은 멀티 리전 아키텍처 전반에 단일 장애점을 도입할 수 있습니다.
이 위험을 완화하려면 전역 리소스의 리전 뷰에 액세스하도록 서비스를 구성하면 됩니다. 컴퓨팅 워크로드가 실행되는 정확한 리전 내에서 리전화된 읽기 전용 엔드포인트에 GET 및 LIST 요청을 전송하면 서비스는 전역 컨트롤 플레인 또는 다른 리전의 잠재적 서비스 중단으로부터 API 소비를 격리합니다. 리전화된 읽기 전용 엔드포인트 및 복원력 권장사항에 대한 자세한 내용은 복원 가능한 제어 영역 읽기에 리전 뷰 사용을 참조하세요.
시작하기 전에
-
아직 인증을 설정하지 않았다면 설정합니다.
인증은 서비스 및 API에 Cloud de Confiance by S3NS 액세스하기 위해 ID를 확인합니다. 로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음 옵션 중 하나를 선택하여 Compute Engine에 인증하면 됩니다.
이 페이지의 샘플 사용 방법에 대한 탭을 선택하세요.
콘솔
콘솔 Cloud de Confiance 을 사용하여 Cloud de Confiance by S3NS 서비스 및 API에 액세스하는 경우 인증을 설정할 필요가 없습니다.
gcloud
-
Google Cloud CLI를 설치한 후 제휴 ID로 gcloud CLI에 로그인합니다. 로그인한 후 Google Cloud CLI를 초기 설정하려면 다음 명령어를 실행합니다.
gcloud init
-
- 기본 리전 및 영역을 설정합니다.
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.
자세한 내용은 인증 문서의 REST 사용을 위한 인증 을 참조하세요. Cloud de Confiance
필요한 역할
전역 리소스에 리전별로 액세스하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트 또는 OS 이미지에 대한
Compute 인스턴스 관리자 (v1) (roles/compute.instanceAdmin.v1) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
이 사전 정의된 역할에는 전역 리소스에 리전별로 액세스하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
전역 리소스에 리전별로 액세스하려면 다음 권한이 필요합니다.
-
프로젝트의 리전 뷰를 가져오려면 프로젝트에 대한
compute.projects.get -
OS 이미지의 리전 뷰를 가져오려면 프로젝트 또는 OS 이미지에 대한
compute.images.get및compute.images.list
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한 을 부여받을 수도 있습니다.
프로젝트 리소스
projectViews 읽기 전용 엔드포인트를 사용하여 전역 프로젝트 리소스의 리전 뷰를 가져올 수 있습니다.
projectViews 엔드포인트를 쿼리하면 Compute Engine
은 표준 전역 compute.Project
리소스 객체를 반환합니다. 리소스 자체는 전역으로 유지됩니다.
프로젝트 리소스의 리전 뷰 가져오기
Google Cloud CLI 또는 REST API를 사용하여 전역 프로젝트의 리전 뷰를 가져올 수 있습니다.
gcloud
특정 리전의 컨트롤 플레인을 통해 전역 프로젝트를 설명하려면 gcloud compute project-views describe 명령어를 실행합니다.
gcloud compute project-views describe \
--region=REGION \
--project=PROJECT_ID
다음을 바꿉니다.
REGION: API 요청의 Cloud de Confiance by S3NS 리전(예:us-central1)PROJECT_ID: 프로젝트 ID
REST
특정
리전의 컨트롤 플레인을 통해 전역 프로젝트를 설명하려면
projectViews 메서드에 GET 요청을 전송합니다.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/projectViews"
다음을 바꿉니다.
PROJECT_ID: 프로젝트 IDREGION: API 요청의 Cloud de Confiance 리전(예:us-central1)
API는 표준 compute.Project 리소스 표현을 직접 반환합니다.
{
"kind": "compute#project",
"id": "1234567890123456789",
"creationTimestamp": "2024-01-15T10:00:00.000-08:00",
"name": "my-project12345",
"commonInstanceMetadata": {
"items": [
{
"key": "example-key",
"value": "example-value"
}
]
},
"selfLink": "https://www.googleapis.com/compute/v1/projects/my-project12345",
"defaultServiceAccount": "SERVICE_ACCOUNT_EMAIL"
}
OS 이미지 리소스
imageViews 읽기 전용 엔드포인트를 사용하여 전역 OS 이미지 리소스의 리전 뷰를 가져올 수 있습니다.
imageViews 엔드포인트를 쿼리하면 Compute Engine
은 표준 전역 compute.Image
리소스 객체를 반환합니다. 리소스 자체는 전역으로 유지됩니다.
OS 이미지 리소스의 리전 목록 가져오기
gcloud CLI 또는 REST API를 사용하여 특정 리전 엔드포인트를 통해 프로젝트에서 사용할 수 있는 모든 전역 OS 이미지를 나열할 수 있습니다.
gcloud
리전 엔드포인트를 사용하여 전역 OS 이미지를 나열하려면
gcloud compute image-views list 명령어를 실행합니다.
gcloud compute image-views list \
--region=REGION \
--project=PROJECT_ID
다음을 바꿉니다.
REGION: API 요청의 Cloud de Confiance 리전(예:us-central1)PROJECT_ID: 프로젝트 ID
REST
리전 엔드포인트를 사용하여 전역 OS 이미지를 나열하려면 GET 요청을 imageViews 메서드에 전송합니다.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/imageViews"
다음을 바꿉니다.
PROJECT_ID: 프로젝트 IDREGION: API 요청의 Cloud de Confiance 리전(예:us-central1)
OS 이미지 리소스의 리전 뷰 가져오기
gcloud CLI 또는 REST API를 사용하여 리전 엔드포인트를 통해 특정 전역 OS 이미지의 정보를 검색할 수 있습니다.
gcloud
리전 엔드포인트를 사용하여 전역 OS 이미지의 세부정보를 검색하려면
gcloud compute image-views describe 명령어를 실행합니다.
gcloud compute image-views describe IMAGE_NAME \
--region=REGION \
--project=PROJECT_ID
다음을 바꿉니다.
IMAGE_NAME: 전역 OS 이미지 리소스의 이름REGION: API 요청의 Cloud de Confiance 리전(예:us-central1)PROJECT_ID: 프로젝트 ID
REST
리전 엔드포인트를 사용하여 전역 OS 이미지의 세부정보를 검색하려면 특정
imageViews 메서드에 GET 요청을 전송합니다.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/imageViews/IMAGE_NAME"
다음을 바꿉니다.
PROJECT_ID: 프로젝트 IDREGION: API 요청의 Cloud de Confiance 리전(예:us-central1)IMAGE_NAME: 전역 OS 이미지 리소스의 이름
API는 표준 compute.Image 리소스 표현을 직접 반환합니다.
{
"kind": "compute#image",
"id": "1234567890123456789",
"creationTimestamp": "2024-01-15T10:00:00.000-08:00",
"name": "my-image12345",
"sourceDisk": "https://www.googleapis.com/compute/v1/projects/my-project12345/zones/us-central1-a/disks/my-disk12345",
"sourceDiskId": "1234567890123456789",
"sourceType": "RAW",
"status": "READY",
"selfLink": "https://www.googleapis.com/compute/v1/projects/my-project12345/global/images/my-image12345"
}