8
votes

Comment partager Google Compute Engine Images à travers des projets?

à partir de la documentation Je sais que les images sont des ressources globales que "sont accessibles par toute ressource de toute ressource zone dans le même projet ".

Je cherche une fonctionnalité similaire au partage des AMIS au sein de AWS. C'est-à-dire que je crée une image, le rend public et tout le monde peut l'utiliser immédiatement.

Comment mieux réaliser quelque chose de similaire dans le GCE? Le problème est que l'image que j'ai besoin de créer serait grande - environ 100 Go. Je cherche donc une façon de partager l'image qui n'impliquerait pas une copie lente (par exemple à partir d'un seau dans le stockage de Google Cloud).


0 commentaires

4 Réponses :


1
votes

Vous pouvez stocker votre image dans le stockage de Google Cloud. Google Cloud Stockage vous donne encore plus d'options pour contrôler qui a accès à l'image en plus de le rendre public.

Vous pouvez utiliser GCTILLE pour accéder à cette image. Quelque chose comme GUTTIL --PROJECT = Nom du projet-1 addimage "My-Awesome-Image" GS: //Bucket-name/myawesome.images.gz .


1 commentaires

Merci pour la réponse, c'est bon de l'avoir documenté! Toutefois, comme je l'ai dit dans la question, je suis spécifiquement à la recherche d'une solution efficace de partage des images grandes et j'ai déjà pris en compte l'option de stockage de Google Cloud.



11
votes

Vous pouvez utiliser Google Cloud Storage, mais vous serez ensuite facturé chaque fois qu'il sera téléchargé, et il faudra longtemps (s'il s'agit de 100 Go).

La meilleure solution consiste à donner à l'utilisateur "peut Voir "Accès à votre projet. Ensuite, l'utilisateur peut créer une instance à l'aide de votre image, à l'aide de la ligne de commande gcloud . Mais soyez au courant, cet utilisateur verra tout ce que vous avez dans le projet, il ne sera tout simplement pas en mesure de le changer.

Cette solution est plus rapide, si le propriétaire de l'image, l'a utilisé dans la zone, vous voulez utiliser. Parce que l'image est encaissée là-bas et cela commencera instantanément. Un autre plus est que ce propriétaire ne soit pas chargé si quelqu'un télécharge cette image. xxx

Si vous souhaitez donner accès à un groupe plus important de personnes, vous pouvez créer un Google Groupe, autoriser les membres du groupe "peut voir" l'accès au projet. Vous pouvez maintenant contrôler qui peut y accéder, à l'aide de votre groupe Google.


0 commentaires

1
votes

Moteur de calcul comme Ajout d'un rôle IAM (Compute.ImageUser) permettant de partager des images avec d'autres projets.

Documentation: https://cloud.google.com / Compute / Documents / Images / Sharing-Images-Abord-Projets

Disclaimer - Je travaille pour Google Cloud.


1 commentaires

Les liens vers des ressources externes sont encouragés, mais veuillez ajouter du contexte autour du lien afin que vos collègues utilisateurs auront une idée de ce que c'est et pourquoi c'est là. Citez toujours la partie la plus pertinente d'un lien important, au cas où le site cible est inaccessible ou se transforme en permanence hors ligne.



1
votes

On peut tout simplement grand Roles / Compute.ImageUser CODE> Accès à un compte de service de code> utilisé pour la création d'instances:

gcloud projects add-iam-policy-binding <ID-of-image-owners-project> \
  --member serviceAccount:account-to-create-instances@<ID-of-your-project>.iam.gserviceaccount.com \
  --role roles/compute.imageUser


0 commentaires