Zum Inhalt

04 - GCS-Bucket, Service Account, VM (CLI)

In dieser Aufgabe üben Sie den Umgang mit der gcloud-CLI für Google Compute Engine, IAM und Google Cloud Storage.

Erstellen eines GCS-Buckets

Erstellen Sie einen neuen Google Cloud Storage Bucket. Der Name des Buckets muss weltweit eindeutig sein.

export BUCKET_NAME="mybucket-gfu-$RANDOM"
gsutil mb gs://$BUCKET_NAME

Erstellen eines Service Accounts

Erstellen Sie einen neuen Service Account mit einem aussagekräftigen Namen. Damit Sie in den folgenden Schritten immer den richtigen Projektnamen nutzen, sollten Sie ihn in einer Variable speichern. Bitte denken Sie daran, den richtigen Projektnamen einzutragen!

export PROJECT_ID="IHRE_PROJEKT_ID"

Danach können Sie den Account anlegen

gcloud iam service-accounts create gce-gcs-service-account \
   --description="Service account for accessing GCS" \
   --display-name="My Service Account"

Zuweisen der Vollrechte auf GCS zum Service Account

Weisen Sie dem neu erstellten Service Account die Rolle roles/storage.admin zu, um ihm Vollzugriff auf Google Cloud Storage im aktuellen Projekt zu geben. Sollten Sie im vorherigen Schritt einen anderen Namen für den Service Account als gce-gcs-service-account gewählt haben, müssen Sie den Befehl entsprechend anpassen:

SERVICE_ACCOUNT="gce-gcs-service-account@${PROJECT_ID}.iam.gserviceaccount.com"
gcloud projects add-iam-policy-binding $PROJECT_ID \
   --member="serviceAccount:${SERVICE_ACCOUNT}" \
   --role="roles/storage.admin"

Erstellen einer Compute Engine VM

Erstellen Sie eine neue Compute Engine VM, die den Service Account verwendet. Denken Sie daran, die Projekt-ID richtig zu setzen.

gcloud compute instances create my-vm \
   --zone=europe-west1-b \
   --machine-type=f1-micro \
   --service-account \
   gce-gcs-service-account@${PROJECT_ID}.iam.gserviceaccount.com \
   --scopes=https://www.googleapis.com/auth/cloud-platform

Verbinden per SSH

Um nun einen Test durchführen zu können, verbinden wir uns per SSH mit der VM:

gcloud compute ssh my-vm --zone=europe-west1-b

Mit GCS verbinden

Zuletzt listen wir alle Buckets auf um zu testen, dass die Instanz Vollberechtigung auf Google Cloud Storage hat.

gsutil ls

Aufräumen

Verlassen Sie die SSH-Sitzung in my-vm mit exit. Führen Sie folgende Befehle aus, um die Umgebung aufzuräumen.

gcloud compute instances delete my-vm --zone=europe-west1-b \
  --quiet
gsutil rm -r gs://$BUCKET_NAME
gcloud iam service-accounts delete \
  gce-gcs-service-account@${PROJECT_ID}.iam.gserviceaccount.com \
  --quiet