Cloud Shell est livré avec Terraform préinstallé. Cet outil open source vous permet de provisionner et de gérer l'infrastructure Alibaba Cloud de manière sécurisée et efficace.
Démarrer Cloud Shell
Pour démarrer Cloud Shell, utilisez l'une des méthodes suivantes :
-
Démarrer Cloud Shell depuis la console Alibaba Cloud
Dans la console Alibaba Cloud, cliquez sur l'icône Cloud Shell dans la barre de navigation supérieure.
-
Démarrer Cloud Shell en tant qu'application autonome
Saisissez https://shell-sg.alibabacloud.com dans la barre d'adresse de votre navigateur.
Vous pouvez ouvrir jusqu'à cinq fenêtres Cloud Shell simultanément.
Lors du démarrage de Cloud Shell, tenez compte des points suivants :
Lors de votre première connexion à Cloud Shell, une machine virtuelle (VM) est créée. Ce processus prend au maximum 30 secondes.
Si vous ouvrez plusieurs fenêtres Cloud Shell, toutes sont connectées à la même VM. Le nombre de VM n'augmente pas lorsque vous ouvrez une nouvelle fenêtre Cloud Shell.
Gérer les ressources Alibaba Cloud
-
Rédigez un modèle Terraform dans Cloud Shell.
Utilisez
Vimpour créer et modifier un modèle Terraform.Exécutez les commandes suivantes pour créer un répertoire de projet et un fichier de modèle :
mkdir terraform-project cd terraform-project touch main.tfLe modèle Terraform suivant crée des instances Elastic Compute Service (ECS). Copiez le code dans le fichier
main.tf. Cloud Shell récupère automatiquement les identifiants du compte connecté ; il n'est donc pas nécessaire de configurer des variables d'environnement.provider "alicloud" { region = "cn-beijing" } data "alicloud_zones" "default" { available_disk_category = "cloud_efficiency" available_resource_creation = "VSwitch" } resource "alicloud_vpc" "vpc" { vpc_name = "tf_test_foo" cidr_block = "172.16.0.0/12" } resource "alicloud_vswitch" "vsw" { vpc_id = alicloud_vpc.vpc.id cidr_block = "172.16.0.0/21" zone_id = data.alicloud_zones.default.zones.0.id } resource "alicloud_security_group" "default" { name = "default" vpc_id = alicloud_vpc.vpc.id } resource "alicloud_instance" "instance" { # cn-beijing availability_zone = data.alicloud_zones.default.zones.0.id security_groups = alicloud_security_group.default.*.id # series III instance_type = "ecs.n4.large" system_disk_category = "cloud_efficiency" image_id = "ubuntu_18_04_64_20G_alibase_20190624.vhd" instance_name = "test_foo" vswitch_id = alicloud_vswitch.vsw.id internet_max_bandwidth_out = 10 } resource "alicloud_security_group_rule" "allow_all_tcp" { type = "ingress" ip_protocol = "tcp" nic_type = "intranet" policy = "accept" port_range = "1/65535" priority = 1 security_group_id = alicloud_security_group.default.id cidr_ip = "0.0.0.0/0" } -
Exécutez la commande
initpour initialiser Terraform.terraform initRésultat attendu :
Terraform has been successfully initialized! You may now begin working with Terraform. Try running "terraform plan" to see any changes that are required for your infrastructure. All Terraform commands should now work. If you ever set or change modules or backend configuration for Terraform, rerun this command to reinitialize your working directory. If you forget, other commands will detect it and remind you to do so if necessary. -
Exécutez la commande
planpour prévisualiser le résultat de l'exécution du modèle Terraform.terraform plan -
Exécutez la commande
applypour créer une instance ECS. Lors de l'exécution, saisissezyesà l'invite et appuyez sur Entrée. Attendez la fin de la commande. Si le résultat suivant s'affiche, l'instance ECS est créée.terraform applyRésultat attendu :
Apply complete! Resources: 5 added, 0 changed, 0 destroyed.
Vérifier les ressources
Exécutez la commande suivante pour afficher les détails des ressources créées par Terraform :
terraform show
Résultat attendu :
# alicloud_instance.instance:
resource "alicloud_instance" "instance" {
availability_zone = "cn-shanghai-a"
cpu = 2
create_time = "2024-11-13T08:52Z"
deletion_protection = false
dry_run = false
enable_jumbo_frame = false
expired_time = "2099-12-31T15:59Z"
host_name = "iZuxxx"
http_put_response_hop_limit = 0
id = "i-ufxxx"
image_id = "ubuntu_18_04_64_20G_alibase_xxx vhd"
instance_charge_type = "PostPaid"
instance_name = "test_fofo"
instance_type = "ecs.n4.large"
internet_charge_type = "PayByTraffic"
internet_max_bandwidth_in = 500
internet_max_bandwidth_out = 10
ipv6_address_count = 0
ipv6_addresses = []
maintenance_action = "AutoRecover"
maintenance_notify = false
memory = 4096
network_interface_id = "eni-uf6ixxx"
network_interface_traffic_mode = "Standard"
os_name = "Ubuntu 18.04 64位"
os_type = "linux"
primary_ip_address = "xxx"
private_ip = "xxx"
public_ip = "xxx"
queue_pair_number = 0
Connectez-vous à la console ECS et vérifiez l'instance créée. Dans le volet de navigation de gauche, cliquez sur InstancesInstances pour accéder à la page Instances. Confirmez l'ID et l'état d'exécution de l'instance cible.
Changer la version de Terraform
La version par défaut de Terraform dans Cloud Shell est la 0.12.31. Pour utiliser une version plus récente, exécutez la commande tfenv pour changer de version.
Vérifiez la version de Terraform préinstallée dans Cloud Shell.
tfenv list
Basculez vers la version de Terraform souhaitée.
tfenv use <terraform_version>