Utiliser un plan Terraform pour déployer une instance Windows Google Cloud Platform et la connecter à Azure Arc
Cet article propose une aide relative à l’utilisation du plan Terraform fourni pour déployer une instance de Google Cloud Platform (GCP) Windows Server et la connecter en tant que ressource de serveur avec Azure Arc.
Prérequis
Clonez le référentiel Azure Arc Jumpstart.
git clone https://github.com/microsoft/azure_arc.git
Installez ou mettez à jour Azure CLI vers la version 2.7 ou une version ultérieure. Utilisez la commande suivante pour vérifier la version installée actuellement.
az --version
Compte Google Cloud Platform avec facturation activée :créez un compte d’essai gratuit. Pour créer des machines virtuelles Windows Server, vous devez mettre à niveau votre compte pour activer la facturation. Sélectionnez Facturation dans le menu, puis sélectionnez Mettre à niveau en bas à droite.
Clause d’exclusion de responsabilité : pour éviter des frais imprévus, suivez la section « Supprimer le déploiement » à la fin de cet article.
Créez un principal de service Azure.
Pour connecter la machine virtuelle GCP à Azure Arc, un principal de service Azure auquel est affecté le rôle Contributeur est requis. Pour le créer, connectez-vous à votre compte Azure et exécutez la commande suivante. Vous pouvez également exécuter cette commande dans Azure Cloud Shell.
az login az account set -s <Your Subscription ID> az ad sp create-for-rbac -n "<Unique SP Name>" --role contributor --scopes "/subscriptions/<Your Subscription ID>"
Par exemple :
az ad sp create-for-rbac -n "http://AzureArcGCP" --role contributor --scopes "/subscriptions/00000000-0000-0000-0000-000000000000"
La sortie doit ressembler à ceci :
{ "appId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "displayName": "http://AzureArcGCP", "password": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "tenant": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX" }
Remarque
Nous vous recommandons vivement d’étendre le principal du service à un abonnement Azure et à un groupe de ressources spécifiques.
Créer un nouveau projet GCP
Accédez à la console d’API Google et connectez-vous avec votre compte Google. Une fois connecté, créez un nouveau projet nommé
Azure Arc demo
. Après l’avoir créé, veillez à copier l’ID du projet car il est généralement différent du nom du projet.Une fois que le nouveau projet est créé et sélectionné dans la liste déroulante en haut de la page, vous devez activer l’accès à l’API Compute Engine pour le projet. Cliquez sur + Activer les API et les services et recherchez moteur de calcul. Sélectionnez ensuite Activer pour activer l’accès à l’API.
Configurez ensuite une clé de compte de service que Terraform utilisera pour créer et gérer des ressources dans votre projet GCP. Accédez à la page Créer une clé de compte de service. Sélectionnez Nouveau compte de service dans la liste déroulante, attribuez-lui un nom, sélectionnez le projet, puis le rôle Propriétaire et le type de clé JSON et sélectionnez Créer. Cela permet de télécharger un fichier JSON contenant toutes les informations d’identification nécessaires pour que Terraform gère les ressources. Copiez le fichier JSON téléchargé dans le répertoire
azure_arc_servers_jumpstart/gcp/windows/terraform
.
Déploiement
Avant d’exécuter le plan Terraform, vous devez définir, puis exporter les variables d’environnement qui seront utilisées par le plan. Ces variables sont basées sur le principal de service Azure que vous venez de créer, votre abonnement Azure et votre locataire, ainsi que le nom du projet GCP.
Récupérez votre ID d’abonnement et votre ID de locataire Azure à l’aide de la commande
az account list
.Le plan Terraform crée des ressources à la fois dans Microsoft Azure et dans Google Cloud Platform. Il exécute ensuite un script sur une machine virtuelle GCP pour installer l’agent Azure Arc et tous les artefacts nécessaires. Ce script nécessite certaines informations sur vos environnements GCP et Azure. Modifiez
scripts/vars.sh
et mettez à jour chacune des variables avec les valeurs appropriées.TF_VAR_subscription_id
= votre ID d’abonnement AzureTF_VAR_client_id
= votre ID de l’application du principal de service AzureTF_VAR_client_secret
= mot de passe de votre principal de service AzureTF_VAR_tenant_id
= ID de votre locataire AzureTF_VAR_gcp_project_id
= ID du projet GCPTF_VAR_gcp_credentials_filename
= Nom de fichier JSON des informations d’identification GCP
À partir de l’interface CLI, accédez au répertoire
azure_arc_servers_jumpstart/gcp/windows/terraform
du référentiel cloné.Exportez les variables d’environnement que vous avez modifiées en exécutant
scripts/vars.sh
avec la commande source, comme indiqué ci-dessous. Terraform exige que ces variables soient définies pour que le plan s’exécute correctement.source ./scripts/vars.sh
Exécutez la commande
terraform init
qui télécharge le fournisseur Terraform AzureRM.Exécutez ensuite la commande
terraform apply --auto-approve
et patientez jusqu’à ce que le plan se termine. Une fois le script Terraform terminé, vous avez déployé une machine virtuelle Windows Server 2019 dans GCP et lancé un script pour télécharger l’agent Azure Arc sur la machine virtuelle et connecter la machine virtuelle en tant que nouveau serveur compatible avec Azure Arc dans un nouveau groupe de ressources Azure. Le provisionnement par l’agent dure quelques minutes. Profitez-en pour aller prendre un café.Au bout de quelques minutes, vous devez être en mesure d’ouvrir le portail Azure et d’accéder au groupe de ressources
arc-gcp-demo
. La machine virtuelle Windows Server créée dans GCP est visible en tant que ressource.
Déploiement semi-automatisé (facultatif)
Le plan Terraform installe automatiquement l’agent Azure Arc et connecte la machine virtuelle à Azure en tant que ressource managée en exécutant un script PowerShell au premier démarrage de la machine virtuelle.
Si vous souhaitez contrôler le processus d’inscription proprement dit ou en voir une démonstration, procédez comme suit :
Avant d’exécuter la commande
terraform apply
, ouvrezmain.tf
, placez en commentaire la lignewindows-startup-script-ps1 = local-file.install_arc_agent-ps1.content
et enregistrez le fichier.Exécutez
terraform apply --auto-approve
comme indiqué ci-dessus.Ouvrez la console GCP et accédez à la page de l’instance de calcul, puis sélectionnez la machine virtuelle qui a été créée.
Créez un utilisateur et un mot de passe pour la machine virtuelle en sélectionnant Définir le mot de passe et en spécifiant un nom d’utilisateur.
Établissez une connexion RDP à la machine virtuelle en sélectionnant le bouton RDP sur la page de la machine virtuelle dans GCP et connectez-vous avec le nom d’utilisateur et le mot de passe que vous venez de créer.
Une fois connecté, ouvrez PowerShell ISE en tant qu’administrateur. Vérifiez que vous exécutez la version x64 de PowerShell ISE et pas la version x86. Sélectionnez ensuite Fichier > Nouveau pour créer un fichier
.ps1
vide. Collez-y ensuite la totalité du contenu de./scripts/install_arc_agent.ps1
. Cliquez sur le bouton de lecture pour exécuter le script. Quand cette opération est terminée, vous devez voir la sortie qui indique la réussite de l’intégration de la machine.
Suppression du déploiement
Pour supprimer toutes les ressources que vous avez créées dans le cadre de cette démonstration, utilisez la commande terraform destroy --auto-approve
comme indiqué ci-dessous.
Vous pouvez également supprimer la machine virtuelle GCP directement à partir de la console GCP.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour