Guide de démarrage rapide : Créer et déployer une application Web Go sur Cloud Run
Découvrez comment utiliser une seule commande pour compiler et déployer une application Web "Hello World" à partir d'un exemple de code vers Google Cloudà l'aide de Cloud Run.
En suivant les étapes de ce guide de démarrage rapide, Cloud Run crée automatiquement un fichier Dockerfile pour vous lorsque vous déployez à partir du code source.
Avant de commencer
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Install the Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init
-
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
Si vous utilisez un projet existant pour ce guide, vérifiez que vous disposez des autorisations nécessaires pour le suivre. Si vous avez créé un projet, vous disposez déjà des autorisations requises.
-
Verify that billing is enabled for your Google Cloud project.
-
Install the Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init
-
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
Si vous utilisez un projet existant pour ce guide, vérifiez que vous disposez des autorisations nécessaires pour le suivre. Si vous avez créé un projet, vous disposez déjà des autorisations requises.
-
Verify that billing is enabled for your Google Cloud project.
- Pour définir le projet par défaut pour votre service Cloud Run :
Remplacez PROJECT_ID par l'ID de votre projet Google Cloud .gcloud config set project PROJECT_ID
Si vous êtes soumis à une règle d'administration de restriction de domaine limitant les appels non authentifiés pour votre projet, vous devez accéder au service déployé comme décrit dans la section Tester les services privés.
-
Enable the Cloud Run Admin API and Cloud Build APIs:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.gcloud services enable run.googleapis.com
cloudbuild.googleapis.com Une fois l'API Cloud Run Admin activée, le compte de service Compute Engine par défaut est créé automatiquement.
- Consultez les tarifs de Cloud Run ou estimez les coûts à l'aide du simulateur de coût.
-
Administrateur Cloud Run (
roles/run.admin
) sur le projet -
Développeur de source Cloud Run (
roles/run.sourceDeveloper
) sur le projet -
Lecteur de journaux (
roles/logging.logsViewer
) sur le projet -
Administrateur IAM du projet (
roles/resourcemanager.projectIamAdmin
) sur le projet -
Utilisateur du compte de service (
roles/iam.serviceAccountUser
) sur l'identité du service (par défaut, il s'agit du compte de service Compute Engine par défaut) Créez un répertoire nommé
helloworld
et modifiez les sous-répertoires comme suit :mkdir helloworld cd helloworld
Initialisez un fichier
go.mod
à partir du répertoire du projet pour déclarer le module Go :go mod init github.com/GoogleCloudPlatform/golang-samples/run/helloworld
Créez un fichier nommé
main.go
et collez-y le code suivant :Ce code crée un serveur Web de base qui écoute le port défini par la variable d'environnement
PORT
.Dans le répertoire du code source, déployez le dossier actuel à l'aide de la commande suivante :
gcloud run deploy --source .
Lorsque vous êtes invité à saisir le nom du service, appuyez sur Entrée pour accepter le nom par défaut, par exemple
helloworld
.Si vous êtes invité à activer des API supplémentaires sur le projet, par exemple l'API Artifact Registry, répondez en appuyant sur
y
.Lorsque vous êtes invité à indiquer la région, sélectionnez la région de votre choix, par exemple
europe-west1
.Si vous êtes invité à créer un dépôt dans la région spécifiée, répondez en appuyant sur
y
.Si vous êtes invité à autoriser l'accès public, répondez
y
. Cette invite peut ne pas s'afficher si une règle d'administration de restriction de domaine l'empêche. Pour plus d'informations, consultez la section Avant de commencer.
Patientez quelques instants jusqu'à la fin du déploiement. En cas de réussite, la ligne de commande affiche l'URL du service.
Accédez à votre service déployé en ouvrant l'URL du service dans un navigateur Web.
asia-east1
(Taïwan)asia-northeast1
(Tokyo)asia-northeast2
(Osaka)asia-south1
(Mumbai, Inde)europe-north1
(Finlande)Faibles émissions de CO2
europe-north2
(Stockholm)Faibles émissions de CO2
europe-southwest1
(Madrid)Faibles émissions de CO2
europe-west1
(Belgique)Faibles émissions de CO2
europe-west4
(Pays-Bas)Faibles émissions de CO2
europe-west8
(Milan)europe-west9
(Paris)Faibles émissions de CO2
me-west1
(Tel Aviv)northamerica-south1
(Mexique)us-central1
(Iowa)Faibles émissions de CO2
us-east1
(Caroline du Sud)us-east4
(Virginie du Nord)us-east5
(Columbus)us-south1
(Dallas)Faibles émissions de CO2
us-west1
(Oregon)Faibles émissions de CO2
africa-south1
(Johannesburg)asia-east2
(Hong Kong)asia-northeast3
(Séoul, Corée du Sud)asia-southeast1
(Singapour)asia-southeast2
(Jakarta)asia-south2
(Delhi, Inde)australia-southeast1
(Sydney)australia-southeast2
(Melbourne)europe-central2
(Varsovie, Pologne)europe-west10
(Berlin)Faibles émissions de CO2.
europe-west12
(Turin)europe-west2
(Londres, Royaume-Uni)Faibles émissions de CO2
europe-west3
(Francfort, Allemagne)europe-west6
(Zurich, Suisse)Faibles émissions de CO2
me-central1
(Doha)me-central2
(Dammam)northamerica-northeast1
(Montréal)Faibles émissions de CO2
northamerica-northeast2
(Toronto)Faibles émissions de CO2
southamerica-east1
(São Paulo, Brésil)Faibles émissions de CO2
southamerica-west1
(Santiago, Chili)Faibles émissions de CO2
us-west2
(Los Angeles)us-west3
(Salt Lake City)us-west4
(Las Vegas)Dans la console Google Cloud , accédez à Cloud Run :
Recherchez le service que vous souhaitez supprimer dans la liste des services, puis cliquez la case correspondante pour le sélectionner.
Cliquez sur Supprimer pour supprimer toutes les révisions du service.
- SERVICE : nom de votre service.
- REGION : Google Cloud région du service.
Rôles requis
Pour obtenir les autorisations nécessaires pour suivre ce guide de démarrage rapide, demandez à votre administrateur de vous accorder les rôles IAM suivants :
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
Accorder au compte de service Cloud Build l'accès à votre projet
Cloud Build utilise automatiquement le compte de service Compute Engine par défaut comme compte de service Cloud Build par défaut pour compiler votre code source et votre ressource Cloud Run, sauf si vous modifiez ce comportement.
Pour que Cloud Build puisse créer vos sources, accordez au compte de service Cloud Build le rôle Créateur Cloud Run (roles/run.builder
) dans votre projet :
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:SERVICE_ACCOUNT_EMAIL_ADDRESS \ --role=roles/run.builder
Remplacez PROJECT_ID
par l'ID de votre Google Cloud
projet et SERVICE_ACCOUNT_EMAIL_ADDRESS
par l'adresse e-mail du compte de service Cloud Build. Si vous utilisez le compte de service Compute Engine par défaut comme compte de service Cloud Build, utilisez le format suivant pour l'adresse e-mail du compte de service :
PROJECT_NUMBER-compute@developer.gserviceaccount.com
Remplacez PROJECT_NUMBER
par le numéro de votre projet Google Cloud.
Pour obtenir des instructions détaillées sur la recherche de votre ID et de votre numéro de projet, consultez la section Créer et gérer des projets.
L'application du rôle de compilateur Cloud Run prend quelques minutes.
Coder l'exemple d'application
Pour écrire une application Go, procédez comme suit :
Votre application est terminée et prête à être déployée.
Déployer une image sur Cloud Run depuis une source
Important : Dans ce guide de démarrage rapide, nous partons du principe que vous disposez de rôles de propriétaire ou d'éditeur dans le projet que vous utilisez pour les besoins du guide de démarrage rapide. Sinon, reportez-vous au rôle Développeur source Cloud Run afin de connaître les autorisations requises pour déployer une ressource Cloud Run depuis la source.
Cette fonction crée automatiquement une image de conteneur à partir du code source et la déploie.
Pour déployer depuis la source :
Emplacements Cloud Run
Cloud Run est régional, ce qui signifie que l'infrastructure qui exécute vos services Cloud Run est située dans une région spécifique et gérée par Google pour être disponible de manière redondante dans toutes les zones de cette région.
Lors de la sélection de la région dans laquelle exécuter vos services Cloud Run, vous devez tout d'abord considérer vos exigences en matière de latence, de disponibilité et de durabilité.
Vous pouvez généralement sélectionner la région la plus proche de vos utilisateurs, mais vous devez tenir compte de l'emplacement des autres Google Cloudproduits utilisés par votre service Cloud Run.
L'utilisation conjointe de produits Google Cloud dans plusieurs emplacements peut avoir une incidence sur la latence et le coût de votre service.
Cloud Run est disponible dans les régions suivantes :
Soumis aux tarifs de niveau 1
Soumis aux tarifs de niveau 2
Si vous avez déjà créé un service Cloud Run, vous pouvez afficher la région dans le tableau de bord Cloud Run de la consoleGoogle Cloud .
Effectuer un nettoyage
Pour éviter que des frais supplémentaires ne soient facturés sur votre compte Google Cloud , supprimez toutes les ressources que vous avez déployées avec ce guide de démarrage rapide.
Supprimer votre dépôt
Cloud Run ne vous facture pas lorsque votre service déployé n'est pas utilisé. Toutefois, il se peut que des frais vous soient facturés pour le stockage de l'image de conteneur dans Artifact Registry. Pour supprimer des dépôts Artifact Registry, suivez les étapes décrites dans Supprimer des dépôts de la documentation Artifact Registry.
Supprimer votre service
Les services Cloud Run n'entraînent pas de frais tant qu'ils ne reçoivent pas de requêtes. Pour supprimer votre service Cloud Run, procédez comme suit :
Console
Pour supprimer un service, procédez comme suit :
gcloud
Pour supprimer un service, exécutez la commande suivante :
gcloud run services delete SERVICE --region REGION
Remplacez les éléments suivants :
Supprimer votre projet de test
La suppression de votre projet Google Cloud arrête la facturation de toutes les ressources de ce projet. Pour libérer toutes les ressources Google Cloud de votre projet, procédez comme suit :
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID
Étapes suivantes
Pour savoir comment créer un conteneur à partir d'une source de code et le transférer vers un dépôt, consultez la section suivante :