Ce tutoriel explique comment débuter avec Compute Engine. Suivez-le pour déployer une application Web Go Hello World sur Compute Engine. Si vous avez besoin d'aide pour vous familiariser avec App Engine, consultez la page sur l'environnement standard App Engine.
Objectifs
- Télécharger et déployer un exemple d'application Hello World en utilisant Cloud Shell
- Utilisez Cloud Build pour créer un exemple d'application Hello World.
- Déployer un exemple d'application Hello World sur une instance Compute Engine unique
Coûts
Dans ce document, vous utilisez les composants facturables suivants de Google Cloud :
Obtenez une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût.
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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine and Cloud Build APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine and Cloud Build APIs.
-
Dans la console Google Cloud, ouvrez l'application dans Cloud Shell.
Cloud Shell vous permet d'accéder en ligne de commande à vos ressources cloud, directement depuis votre navigateur.
-
Si vous acceptez de cloner le dépôt, cliquez sur Confirmer pour télécharger l'exemple de code et accéder au répertoire de l'application.
-
Dans Cloud Shell, configurez la gcloud CLI pour qu'elle utilise
votre nouveau projet Google Cloud:
# Configure gcloud for your project gcloud config set project YOUR_PROJECT_ID
Exécuter l'application dans Cloud Shell
Dans Cloud Shell, démarrez un serveur Web local :
go build -o app ./app
Dans Cloud Shell, cliquez sur Aperçu sur le Web , puis sélectionnez Prévisualiser sur le port 8080. Une nouvelle fenêtre s'affiche avec votre application en cours d'exécution.
Dans votre navigateur Web,
Hello, World!
s'affiche.Lorsque vous êtes prêt à continuer, arrêtez le serveur Web local en appuyant sur Ctrl + C dans Cloud Shell.
Déployer l'application sur une instance unique
Cette section décrit la procédure d'exécution d'une instance unique de votre application sur Compute Engine.
Depuis Cloud Shell, vous pouvez déployer une machine virtuelle (VM) d'instance unique Compute Engine, qui exécute votre application.
Utiliser Cloud Build pour créer l'application
Cloud Build permet de créer l'application, de la compresser dans un fichier tar et de l'importer dans un bucket Cloud Storage. Les buckets sont les conteneurs de base dans lesquels sont stockées vos données dans Cloud Storage.
Dans votre fenêtre de terminal, créez un bucket Cloud Storage, où
YOUR_BUCKET_NAME
représente le nom de votre bucket :gcloud storage buckets create gs://YOUR_BUCKET_NAME
Vous pouvez choisir n'importe quel nom pour votre bucket Cloud Storage. Nous vous recommandons toutefois d'utiliser l'ID de projet comme nom de bucket. Les noms de bucket doivent être uniques pour l'ensemble des services Google Cloud. Par conséquent, vous ne pourrez peut-être pas utiliser votre ID de projet comme nom de bucket.
Démarrer le processus Cloud Build :
gcloud builds submit --substitutions=_DEPLOY_DIR=gs://
YOUR_BUCKET_NAME
,_DEPLOY_FILENAME=app.tar.gzLa commande
gcloud builds submit
utilise--substitutions
pour configurer l'emplacement où est importé le fichier tar résultant. Ce fichier tar est ultérieurement téléchargé sur l'instance Compute Engine.Cloud Build utilise un fichier de configuration YAML pour définir les étapes requises par la compilation.
Utiliser un script de démarrage pour initialiser une instance
Vous avez besoin d'un outil qui indique à votre instance de télécharger et d'exécuter votre code. Une instance peut disposer d'un script de démarrage qui s'exécute à chaque démarrage ou redémarrage de l'instance.
Un script de démarrage s'exécute lorsqu'une instance démarre.
Le script de démarrage effectue les tâches suivantes :
Il installe l'agent Cloud Logging et le configure pour surveiller les journaux de l'application.
Il télécharge et extrait le fichier tar de déploiement.
Il démarre un service
systemd
pour exécuter l'application.
Créer et configurer une instance Compute Engine
Créez une instance Compute Engine :
Linux/macOS
gcloud compute instances create my-app-instance \ --image-family=debian-10 \ --image-project=debian-cloud \ --machine-type=g1-small \ --scopes userinfo-email,cloud-platform \ --metadata-from-file startup-script=startup-script.sh \ --metadata app-location="gs://YOUR_BUCKET_NAME/app.tar.gz" \ --zone YOUR_ZONE \ --tags http-server
Remplacez
YOUR_ZONE
par une zone de développement, par exempleus-central1-a
. Pour en savoir plus sur les régions et les zones, consultez la page Zones géographiques et régions.L'option
--metadata app-location
indique au script de démarrage où télécharger le fichier tar de l'application.Windows
gcloud compute instances create my-app-instance ^ --image-family=debian-10 ^ --image-project=debian-cloud ^ --machine-type=g1-small ^ --scopes userinfo-email,cloud-platform ^ --metadata-from-file startup-script=startup-script.sh ^ --metadata app-location="gs://YOUR_BUCKET_NAME/app.tar.gz" ^ --zone YOUR_ZONE ^ --tags http-server
Remplacez
YOUR_ZONE
par une zone de développement, par exempleus-central1-a
. Pour en savoir plus sur les régions et les zones, consultez la page Zones géographiques et régions.L'option
--metadata app-location
indique au script de démarrage où télécharger le fichier tar de l'application.Cette commande crée une instance, l'autorise à accéder aux services Google Cloud et exécute votre script de démarrage. Le nom de l'instance est
my-app-instance
.Vérifiez l'avancement de la création de l'instance :
gcloud compute instances get-serial-port-output my-app-instance --zone YOUR_ZONE
Une fois l'exécution du script de démarrage terminée, le message suivant s'affiche :
startup-script: INFO Finished running startup scripts.
Créez une règle de pare-feu pour autoriser le trafic vers votre instance :
gcloud compute firewall-rules create default-allow-http-80 \ --allow tcp:80 \ --source-ranges 0.0.0.0/0 \ --target-tags http-server \ --description "Allow port 80 access to http-server"
Obtenez l'adresse IP externe de votre instance :
gcloud compute instances list
Pour voir votre application en cours d'exécution, saisissez cette URL dans votre navigateur :
http://YOUR_INSTANCE_IP
Remplacez
YOUR_INSTANCE_IP
par l'adresse IP externe de votre instance.
Gérer et surveiller une instance
Vous pouvez surveiller et gérer votre instance à l'aide de la console Google Cloud.
- In the Google Cloud console, go to the VM instances page.
- In the list of virtual machine instances, click SSH in the row of the instance that you want to connect to.
- Pour afficher tous les journaux générés par vos ressources Compute Engine,
Accédez à la page Explorateur de journaux.
Accéder à l'explorateur de journaux
Cloud Logging est automatiquement configuré pour collecter les journaux issus de divers services courants, comme
syslog
.
Effectuer un nettoyage
Pour éviter que les ressources utilisées lors de ce tutoriel soient facturées sur votre compte Google Cloud, supprimez le projet contenant les ressources, ou conservez le projet et supprimez les ressources individuelles.
Supprimer le projet
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Supprimer les ressources individuelles
gcloud compute instances delete my-app-instance --zone=YOUR_ZONE --delete-disks=all gcloud compute firewall-rules delete default-allow-http-80
Étape suivante
Découvrez des architectures de référence, des schémas et des bonnes pratiques concernant Google Cloud. Consultez notre Cloud Architecture Center.
Découvrez d'autres ressources Go pour la conception d'applications :
- Gérez et surveillez le déploiement de vos groupes d'instances depuis la page Compute Engine > Groupes d'instances.
- Gérez la configuration de votre équilibrage de charge, y compris les mappages d'URL et les services de backend, depuis la page Services réseau > Équilibrage de charge.
- Déployer une application sur Google Kubernetes Engine
- Découvrez d'autres services Google Cloud.