베하! 엄팀입니다.
즐거운 주말 준비 잘 하고 계신가요? 유난히 덥고 습한 요즘, 기력 보충이 시급하니 오늘의 포스팅 시작하겠습니다.
오늘 포스팅의 주제는 GCP의 같은 조직 내에서 타 프로젝트의 이미지 공유입니다.
같은 조직에서 분리된 프로젝트가 소유한 이미지를 사용할 때, 필요한 권한과 이미지를 공유하는 법에 대해 알아보겠습니다.
우선 프로젝트를 공유받는 사용자에게 필요한 최소 권한은 'Compute 이미지 사용자(roles/compute.imageUser)'입니다.
gcloud compute images add-iam-policy-binding IMAGE_NAME \
--member='MEMBER' \
--role=roles/compute.imageUser
위 명령어에서 'MEMBER'에는 user, group, serviceAccount 등의 계정을 기입해주면 됩니다.
다음은 테스트에 필요한 이미지를 생성해야겠죠?
이미지를 생성하기 전, 제가 미리 생성해둔 'test-instance'에 접속하여 증빙(?) 파일을 생성해줍니다.
해당 VM으로 뜬 이미지로 다른 VM을 생성한다면, 그 VM에도 'test_file'이 존재할 것입니다.
gcloud compute images create IMAGE_NAME \
--source-disk=SOURCE_DISK \
--source-disk-zone=ZONE
'커스텀 이미지'를 생성하는 명령어입니다.
1번 프로젝트에서 실제로 이미지를 생성해보겠습니다.
'test-instance' VM의 Disk를 기반으로 이미지를 생성하였습니다.
콘솔에서도 다음과 같이 확인이 가능합니다.
여기서 주의할 점은 VM이 가동중일 땐 VM이 사용중인 Disk의 이미지를 생성할 수 없다는 것!
가동중인 VM의 Disk로 이미지를 생성하려 할 경우, 다음과 같은 에러가 발생한다는 점 기억해주세요.
gcloud compute instances create VM_NAME \
--image=IMAGE \
--image-project=IMAGE_PROJECT
이미지를 이용하여 VM을 생성하는 명령어입니다.
실제로 이미지를 이용한 VM 생성 명령어를 사용해보겠습니다.
이젠 2번 프로젝트로 gcloud config를 set 해주겠습니다.
그 후, 1번 프로젝트에서 생성한 이미지를 이용하여 VM을 생성해보겠습니다.
VM 생성 명령어를 실행한 상태입니다.
콘솔에서도 확인해보겠습니다.
'test-instance-2'라는 VM이 생성되었습니다.
접속하여 'test-instance'에서 만든 'test-file'이 존재하는지 확인해볼까요?
짜잔. 해당 파일이 존재하는 것을 확인할 수 있었습니다.
오늘의 포스팅, 어떠셨나요.
조금 러프하게 느껴질 수도 있는 실습이었지만, 다른 프로젝트에서 생성한 이미지를 사용하는 법. 알아두면 도움이 될 것 같아 오늘의 주제를 이렇게 정해보았습니다.
다들 즐거운 금요일과 주말 보내시길 바라며, 오늘의 포스팅은 여기서 마치겠습니다. 그럼 베바!
'CSP (Cloud Service Provider) > GCP' 카테고리의 다른 글
[GCP] Cloud Run & Cloud Function (0) | 2023.07.08 |
---|---|
Bigquery ARRAY, STRUCT 구조 (0) | 2023.07.07 |
Google Analytics란? (0) | 2023.07.02 |
Asset Inventory Snapshot (Cloud Function + Cloud Scheduler) - 1 (0) | 2023.06.23 |
[GCP] Service Account Key Disable/Enable (0) | 2023.06.23 |
댓글