Aus der Dokumentation weiß ich, dass es sich bei Bildern um globale Ressourcen handelt, auf die "von jeder beliebigen Ressource aus zugegriffen werden kann Zone innerhalb desselben Projekts ".
Ich bin auf der Suche nach einer ähnlichen Funktionalität wie die gemeinsame Nutzung von AMIs in AWS. Das heißt, ich erstelle ein Bild, mache es öffentlich und jeder kann es sofort verwenden.
Wie erreiche ich am besten etwas Ähnliches in GCE? Das Problem ist, dass das Bild, das ich erstellen möchte, groß ist - etwa 100 GB. Also suche ich nach einer Möglichkeit, das Bild zu teilen, das kein langsames Kopieren erfordert (z. B. aus einem Bucket im Google Cloud-Speicher).
Sie können Google Cloud Storage verwenden, aber Sie werden jedes Mal, wenn es heruntergeladen wird, in Rechnung gestellt, und es wird lange dauern (wenn es 100 GB ist).
Bessere Lösung ist es, dem Benutzer den Zugriff auf Ihr Projekt zu gewähren. Dann kann der Benutzer mithilfe des Bildes eine Instanz erstellen, indem er die Befehlszeile gcutil
verwendet. Aber beachten Sie, dass dieser Benutzer alles, was Sie in dem Projekt haben, sehen wird, er wird es nur nicht ändern können.
Diese Lösung ist schneller, wenn der Eigentümer des Bildes sie in der Zone verwendet hat, die Sie verwenden möchten. Weil das Bild dort eingelöst wird und sofort beginnt. Anderes Plus ist, dass der Besitzer nicht belastet wird, wenn jemand dieses Bild herunterlädt.
gcutil --service_version="v1" --project=<ID-of-your-project> addinstance <name-you-for-instance> --machine_type=<type-of-machine> --network="default" --external_ip_address="ephemeral" --zone=<datacenter-zone> --image="https://www.googleapis.com/compute/v1/projects/<ID-of-image-owners-project>/global/images/<image-id>" --persistent_boot_disk="true"
Wenn Sie einer größeren Gruppe von Personen Zugriff gewähren möchten, können Sie eine Google-Gruppe erstellen und Gruppenmitgliedern den Zugriff auf das Projekt erlauben. Jetzt können Sie mithilfe Ihrer Google-Gruppe steuern, wer darauf zugreifen kann.
Sie können Ihr Bild in Google Cloud Storage speichern. Google Cloud-Speicher bietet Ihnen noch mehr Möglichkeiten, zu steuern, wer Zugriff auf das Bild hat, außer es öffentlich zu machen.
Sie können gcutil verwenden, um auf dieses Bild zuzugreifen. Etwas wie
gcutil --project=project-name-1 addimage "my-awesome-image" gs://bucket-name/myawesome.images.gz
.
Compute Engine, da eine IAM-Rolle (Compute.imageUser) hinzugefügt wurde, mit der Bilder mit anderen Projekten freigegeben werden können.
Dokumentation: Ссылка
Haftungsausschluss - Ich arbeite für Google Cloud.
Tags und Links google-compute-engine