Friday, December 1, 2023

Richten Sie mit gcloud cli eine freigegebene GCP-VPC mit benutzerdefiniertem Subnetz ein – Elastifile-Hilfe [gg-elastifile-support-en]

Richten Sie mit gcloud cli eine freigegebene GCP-VPC mit benutzerdefiniertem Subnetz ein

Das Host-Projekt enthält ein Netzwerk, das von der Elastifile-Bereitstellung verwendet wird

Das Dienstprojekt enthält die Elastifile-Rechenressourcen

Host-Projekt

Support-Team-a

Serviceprojekt

Support-Team-b


Konfigurieren Sie das Serviceprojekt („support-team-b")

Melden Sie sich beim Dienstkonto für das Dienstprojekt an

  gcloud auth login chutch@support-team-b.iam.gserviceaccount.com

Legen Sie die Konfiguration auf das Dienstprojekt fest

  gcloud config set project support-team-b

Fügen Sie Rollen hinzu, die für die Bereitstellung im Serviceprojekt erforderlich sind

  gcloud projects add-iam-policy-binding support-team-b --member "serviceAccount:chutch@support-team-b.iam.gserviceaccount.com" --role "roles/compute.instanceAdmin.v1" gcloud projects add-iam-policy-binding support-team-b --member "serviceAccount:chutch@support-team-b.iam.gserviceaccount.com" --role "roles/iam.serviceAccountUser" gcloud projects add-iam-policy-binding support-team-b --member "serviceAccount:chutch@support-team-b.iam.gserviceaccount.com" --role "roles/compute.networkAdmin" gcloud projects add-iam-policy-binding support-team-b --member "serviceAccount:chutch@support-team-b.iam.gserviceaccount.com" --role "roles/compute.networkUser" gcloud projects add-iam-policy-binding support-team-b --member "serviceAccount:chutch@support-team-b.iam.gserviceaccount.com" --role "roles/storage.admin" gcloud projects add-iam-policy-binding support-team-b --member "serviceAccount:chutch@support-team-b.iam.gserviceaccount.com" --role "roles/compute.imageUser" gcloud projects add-iam-policy-binding support-team-b --member "serviceAccount:chutch@support-team-b.iam.gserviceaccount.com" --role "roles/editor"


Konfigurieren Sie das Host-Projekt („support-team-a")

Melden Sie sich beim Dienstkonto für das Hostprojekt an

  gcloud auth login chutch@support-team-a.iam.gserviceaccount.com

Legen Sie die Konfiguration auf das Hostprojekt fest

  gcloud config set project support-team-a

Überprüfen Sie, ob Anmeldeinformationen, Region und Zone für das Hostprojekt festgelegt sind

  gcloud config list [compute] region = us-central1 zone = us-central1-f [core] account = chutch@support-team-a.iam.gserviceaccount.com project = support-team-a

SharedVPC im Hostprojekt aktiviert

(Dies erfordert „ compute.organizations.enableXpnHost ", das von der übergeordneten Organisation gewährt wurde.)

  gcloud compute shared-vpc enable support-team-a

Fügen Sie das Dienstprojekt zum Hostprojekt SharedVPC hinzu

  gcloud compute shared-vpc associated-projects add --host-project=support-team-a support-team-b

Überprüfen Sie, ob das Dienstprojekt vom Hostprojekt aus konfiguriert ist

  gcloud compute shared-vpc associated-projects list support-team-a RESOURCE_ID     RESOURCE_TYPE support-team-b  PROJECT

Überprüfen Sie, ob das Hostprojekt vom Dienstprojekt aus konfiguriert ist

  gcloud compute shared-vpc get-host-project support-team-b kind: compute#project name: support-team-a


Richten Sie im Hostprojekt ein benutzerdefiniertes Subnetz ein

Erstellen Sie ein Subnetz im Hostprojekt

  gcloud compute networks create elastifile-support --subnet-mode custom

Definieren Sie die Subnetzregion und den Subnetzbereich im Hostprojekt

  gcloud compute networks subnets create elastifile-central1 --network elastifile-support --region us-central1 --range 10.200.0.0/20

Speichern Sie die Kontoanmeldeinformationen für das benutzerdefinierte Subnetz in einer Datei

  gcloud beta compute networks subnets get-iam-policy elastifile-central1 --project support-team-a --format json > subnet-policy.json

Bearbeiten Sie subnet-policy.json und fügen Sie ein Dienstkonto aus dem Dienstprojekt hinzu

  {  "bindings": [  {     "members": [           "serviceAccount:chutch@support-team-b.iam.gserviceaccount.com"        ],        "role": "roles/compute.networkUser"  }  ],  "etag": "ACAB" }  {  "bindings": [  {     "members": [           "serviceAccount:chutch@support-team-b.iam.gserviceaccount.com"        ],        "role": "roles/compute.networkUser"  }  ],  "etag": "ACAB" }

Anmeldeinformationen für benutzerdefiniertes Subnetz vom Hostprojekt aktualisieren

  gcloud beta compute networks subnets set-iam-policy elastifile-central1 subnet-policy.json --project support-team-a

Fügen Sie dem benutzerdefinierten Subnetz im Hostprojekt Firewallregeln hinzu

  gcloud compute firewall-rules create elastifile-central1-allow-icmp --network elastifile-support  --priority 65534 --allow icmp --source-ranges 0.0.0.0/0 --no-disabled gcloud compute firewall-rules create elastifile-central1-allow-ssh --network elastifile-support  --priority 65534 --allow tcp:22 --source-ranges 0.0.0.0/0 --no-disabled gcloud compute firewall-rules create elastifile-central1-allow-https --network elastifile-support  --priority 1000 --target-tags https-server --allow tcp:443 --source-ranges 0.0.0.0/0 --no-disabled

  gcloud compute firewall-rules create elastifile-central1-allow-internal --network elastifile-support  --priority 65534 --allow tcp:0-65535,udp:0-65535,icmp --source-ranges 10.200.0.0/20 --no-disabled gcloud compute firewall-rules create elastifile-central1-storage-management --network elastifile-support --priority 1000 --direction ingress --target-tags elastifile-management-node --source-tags elastifile-storage-node,elastifile-replication-node,elastifile-clients --source-ranges 10.200.0.0/20 --allow icmp,tcp:22,tcp:53,tcp:80,tcp:8080,tcp:443,tcp:10014-10017,udp:53,udp:123,udp:6667 --no-disabled gcloud compute firewall-rules create elastifile-central1-storage-service --network elastifile-support --priority 1000 --direction ingress --target-tags elastifile-storage-node,elastifile-replication-node --source-ranges 10.200.0.0/20 --source-tags elastifile-management-node,elastifile-clients --allow icmp,tcp:22,tcp:111,tcp:2049,tcp:644,tcp:4040,tcp:4045,tcp:10015-10017,tcp:8000-9224,tcp:32768-60999,udp:111,udp:2049,udp:644,udp:4040,udp:4045,udp:6667,udp:8000,udp:9224,udp:32768,udp:60999 --no-disabled


Bereitstellung im Dienstprojekt unter Verwendung des benutzerdefinierten Subnetzes des Hostprojekts

Subnetze im Hostprojekt auflisten

  gcloud compute networks subnets list-usable --project support-team-a PROJECT         REGION                   NETWORK            SUBNET               RANGE          SECONDARY_RANGES support-team-a  us-central1              elastifile-support  elastifile-central1  10.200.0.0/20

Rufen Sie den URI für das Zielsubnetz im Hostprojekt ab

  gcloud compute networks subnets list --project support-team-a --uri https://www.googleapis.com/compute/v1/projects/support-team-a/regions/us-central1/subnetworks/elastifile-central1  gcloud compute networks subnets list --project support-team-a --uri https://www.googleapis.com/compute/v1/projects/support-team-a/regions/us-central1/subnetworks/elastifile-central1

Aktualisieren Sie terraform.tfvars, um „NETWORK" und „SUBNETWORK" aus dem Hostprojekt zu verwenden

  ZONE = "us-central1-f" PROJECT = "support-team-b" NETWORK = "elastifile-suport" SUBNETWORK = "/projects/support-team-a/regions/us-central1/subnetworks/elastifile-central1" IMAGE = "elastifile-storage-2-7-5-12-ems" CREDENTIALS = "support-team-b-0715a3734e41.json" SERVICE_EMAIL = "chutch@support-team-b.iam.gserviceaccount.com"  ZONE = "us-central1-f" PROJECT = "support-team-b" NETWORK = "elastifile-suport" SUBNETWORK = "/projects/support-team-a/regions/us-central1/subnetworks/elastifile-central1" IMAGE = "elastifile-storage-2-7-5-12-ems" CREDENTIALS = "support-team-b-0715a3734e41.json" SERVICE_EMAIL = "chutch@support-team-b.iam.gserviceaccount.com"

Oder starten Sie EMS direkt über gcloud und schließen Sie die Bereitstellung über die Benutzeroberfläche ab

  gcloud beta compute --project=support-team-b instances create elastifile-storage-sp --zone=us-central1-f --machine-type=n1-standard-4 --subnet=/projects/support-team-a/regions/us-central1/subnetworks/elastifile-central1 --network-tier=PREMIUM --maintenance-policy=MIGRATE --service-account=chutch@support-team-b.iam.gserviceaccount.com --scopes=https://www.googleapis.com/auth/cloud-platform --image=https://www.googleapis.com/compute/v1/projects/elastifle-public-196717/global/images/elastifile-storage-2-7-5-12-ems --boot-disk-size=100GB --boot-disk-type=pd-standard --boot-disk-device-name=elastifile-storage-sp --tags=elastifile-management-node

No comments:

Post a Comment