Serverless App Engine (SAE) uygulama odaklı bir Sunucusuz PaaS platformudur. Uygulamalarınızı SAE üzerine dağıttıktan sonra kümeleri veya sunucuları yönetmeniz ya da bakımını yapmanız gerekmez. Uygulamalarınızı tasarlamaya ve geliştirmeye odaklanabilir, bunları SAE üzerinde çalıştırabilirsiniz. Konsol, API'ler, eklentiler veya CI/CD aracılığıyla uygulama dağıtmanın yanı sıra Terraform kullanarak da SAE uygulamaları dağıtabilirsiniz. Bu konu, Terraform kullanarak SAE uygulamalarını otomatik olarak nasıl oluşturacağınızı, özel yapılandırmalarla nasıl kuracağınızı ve nasıl sileceğinizi açıklar.
Ön koşullar
-
Bir Alibaba Cloud hesabı tüm kaynaklar üzerinde tam yetkiye sahiptir. Kimlik bilgileri sızdırılırsa kaynaklarınız yüksek risk altında kalır. Bir RAM kullanıcısı oluşturmanızı ve bu kullanıcı için bir AccessKey tanımlamanızı öneririz. Daha fazla bilgi için bkz. RAM kullanıcısı oluşturma ve AccessKey oluşturma.
-
Bu özel ilke, bir RAM kullanıcısının SAE içindeki uygulamaları ve hizmetleri yönetmesine olanak tanır. İzinler arasında uygulamaları listeleme, oluşturma, güncelleme, silme, dağıtma, başlatma ve durdurma ile hizmetleri oluşturma, güncelleme, silme, bağlama ve bağlantısını kaldırma işlemleri yer alır.
Bu örnekteki kaynakları yönetmek için Terraform komutlarını çalıştıran RAM kullanıcısına aşağıdaki minimum izin ilkesini ekleyin. Daha fazla bilgi için bkz. RAM kullanıcı izinlerini yönetme.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "sae:DescribeApplications", "sae:DescribeApplication", "sae:DescribeInstances", "sae:DescribeInstance", "sae:DescribeServices", "sae:DescribeService" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "sae:CreateApplication", "sae:UpdateApplication", "sae:DeleteApplication", "sae:DeployApplication", "sae:StartApplication", "sae:StopApplication" ], "Resource": "acs:sae:*:*:application/*" }, { "Effect": "Allow", "Action": [ "sae:CreateService", "sae:UpdateService", "sae:DeleteService", "sae:BindService", "sae:UnbindService" ], "Resource": "acs:sae:*:*:service/*" } ] } -
Bir Terraform çalışma zamanı ortamı hazırlayın. Aşağıdaki seçeneklerden birini seçin:
ROS, Terraform için yönetilen bir hizmet sunar. Terraform şablonlarını doğrudan ROS konsolu üzerinden dağıtabilirsiniz. Daha fazla bilgi için bkz. Terraform tabanlı yığın oluşturma.
Terraform Explorer'da Terraform kullanma: Alibaba Cloud, Terraform'u çalıştırmak için çevrimiçi bir ortam sağlar. Oturum açtıktan sonra herhangi bir kurulum yapmadan Terraform'u çevrimiçi olarak kullanabilirsiniz. Bu yöntem, Terraform'u denemek ve hata ayıklamak için hızlı, kolay ve ücretsiz bir yoldur.
Terraform ile hızlıca kaynak oluşturma: Terraform bileşenleri Alibaba Cloud Cloud Shell içinde önceden yüklenmiştir ve kimlik bilgileri yapılandırılmıştır. Cloud Shell üzerinde doğrudan Terraform komutlarını çalıştırabilirsiniz. Bu yöntem, düşük maliyetle Terraform'a hızlı ve kolay erişim sağlamak için uygundur.
Terraform'u yerel ortama yükleme ve yapılandırma: Bu yöntem, ağ bağlantısının zayıf olduğu veya özel bir geliştirme ortamının gerektiği senaryolar için uygundur.
Kullanılan kaynaklar
alicloud_sae_application: Serverless App Engine (SAE) uygulamalarını yönetir ve oluşturur.
alicloud_vpc: Alt ağlar, yönlendirme tabloları ve güvenlik ayarları dahil olmak üzere VPC'nizi yapılandırır.
alicloud_vswitch: Bir VPC içinde alt ağlar oluşturur. Her alt ağ kendi IP adres aralığına ve yönlendirme tablosuna sahip olabilir. Farklı uygulamaları ve hizmetleri farklı alt ağlarda dağıtmak için vSwitch'leri kullanabilirsiniz.
alicloud_security_group: Bir VPC içindeki ağ erişim kontrolünü yönetir.
Uygulama oluşturma
SAE görüntülerden ve kod paketlerinden dağıtımları destekler. Desteklenen paket türleri arasında JAR, WAR ve PHP ZIP paketleri bulunur. Bir uygulama oluştururken bir VPC'yi yapılandırmak için aşağıdaki yöntemlerden birini seçebilirsiniz:
Otomatik yapılandırma: SAE ad alanı, VPC, vSwitch ve güvenlik grubu gibi kaynakları otomatik olarak yapılandırır. Varsayılan ad alanı kullanılır.
Özel yapılandırma: Ad alanı, VPC, vSwitch ve güvenlik grubu gibi uygulamanız için gerekli kaynakları kendiniz yapılandırmalısınız.
Otomatik yapılandırma
Bu örnek, Çin (Pekin) bölgesinde bir görüntüden uygulamanın otomatik olarak nasıl dağıtılacağını gösterir.
Terraform kaynaklarını depolamak için terraform adında bir proje klasörü oluşturun.
-
Proje dizinine gitmek için aşağıdaki komutu çalıştırın:
cd terraform -
main.tf adında bir yapılandırma dosyası oluşturun ve aşağıdaki içeriği ekleyin.
provider "alicloud" { region = var.region } variable "region" { default = "cn-beijing" } variable "name" { default = "serverless-example" } resource "random_integer" "default" { max = 99999 min = 10000 } data "alicloud_regions" "default" { current = true } data "alicloud_zones" "default" { available_resource_creation = "VSwitch" } resource "alicloud_vpc" "default" { vpc_name = var.name cidr_block = "10.4.0.0/16" } resource "alicloud_vswitch" "default" { vswitch_name = var.name cidr_block = "10.4.0.0/24" vpc_id = alicloud_vpc.default.id zone_id = data.alicloud_zones.default.zones.0.id } resource "alicloud_security_group" "default" { vpc_id = alicloud_vpc.default.id } resource "alicloud_sae_namespace" "default" { namespace_id = "${data.alicloud_regions.default.regions.0.id}:example${random_integer.default.result}" namespace_name = var.name namespace_description = var.name enable_micro_registration = false } resource "alicloud_sae_application" "default" { app_description = var.name app_name = "${var.name}-${random_integer.default.result}" namespace_id = alicloud_sae_namespace.default.id image_url = "registry-vpc.${data.alicloud_regions.default.regions.0.id}.aliyuncs.com/sae-demo-image/consumer:1.0" package_type = "Image" security_group_id = alicloud_security_group.default.id vpc_id = alicloud_vpc.default.id vswitch_id = alicloud_vswitch.default.id timezone = "Asia/Beijing" replicas = "1" cpu = "500" memory = "2048" }Container Registry konsolunda oturum açabilir ve hedef örnek deposunun Basic Information sayfasında görüntü adresini görüntüleyebilirsiniz. Adres aşağıdaki biçimdedir:
registry.<regionId>.aliyuncs.com/<namespace_name>/<image_repository_name>:<image_version_number> -
Yapılandırmaları başlatmak için aşağıdaki komutu çalıştırın:
terraform init
Beklenen çıktı:
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.
SAE uygulamasını oluşturmak için aşağıdaki komutları çalıştırın.
Yapılandırma dosyasını uygulamak için aşağıdaki komutu çalıştırın.Komut çalışırken istemde
yesgirin, Enter tuşuna basın ve komutun tamamlanmasını bekleyin. Aşağıdaki bilgiler görüntülenirse yetkilendirme tamamlanmış demektir.
terraform apply
Beklenen çıktı:
Apply complete! Resources: 6 added, 0 changed, 0 destroyed.
Sonucu doğrulayın
Terraform show komutu
Terraform tarafından oluşturulan kaynakların ayrıntılarını sorgulamak için aşağıdaki komutu çalıştırabilirsiniz:
terraform show
shell@Alicloud: /serverless$ terraform show
# alicloud_sae_application.default:
resource "alicloud_sae_application" "default" {
app_description = "serverless-xxx"
app_name = "serverless-xxx"
batch_wait_time = 10
command_args_v2 = []
config_map_mount_desc = jsonencode([])
cpu = 500
custom_host_alias = jsonencode([])
enable_ahas = "false"
enable_grey_tag_route = false
envs = jsonencode([])
id = "131976e5-7264-xxx"
image_url = "registry-vpc.cn-beijing.aliyuncs.com/sae-demo-image/consumer:1.0"
memory = 2048
min_ready_instance_ratio = -1
min_ready_instances = -1
namespace_id = "cn-beijing:xxx"
package_type = "Image"
package_version = "1731047094"
replicas = 1
security_group_id = "sg-2zxxx"
status = "RUNNING"
termination_grace_period_seconds = 30
timezone = "Asia/Beijing"
vpc_id = "vpc-xxx"
vswitch_id = "vsw-xxx"
}
SAE konsolu
Serverless App Engine (SAE) konsolu üzerinde oturum açın ve oluşturulan uygulamaların listesini görüntüleyin.
Uygulama listesinde serverless-xxx gibi otomatik olarak oluşturulan uygulama görünür. Örnek sayısının 1/1 olması uygulamanın doğru çalıştığını onaylar.
Aşağıdaki örnek kodu Terraform Explorer içinde tek tıklamayla çalıştırabilirsiniz.
Özel yapılandırma: Görüntü dağıtımı
Bu örnek, Çin (Shenzhen) bölgesinde özel yapılandırmalarla bir görüntüden uygulamanın nasıl dağıtılacağını gösterir.
Terraform kaynaklarını depolamak için terraform adında bir proje klasörü oluşturun.
-
Proje dizinine gitmek için aşağıdaki komutu çalıştırın:
cd terraform -
main.tf adında bir yapılandırma dosyası oluşturun ve aşağıdaki içeriği ekleyin.
provider "alicloud" { region = var.region_id } # Region ID variable "region_id" { type = string default = "cn-shenzhen" } # Application name variable "app_name" { description = "The name of the application" type = string default = "manual-jar-tf" } # Application description variable "app_description" { default = "description created by Terraform" description = "The description of the application" type = string } # Application deployment method variable "package_type" { default = "FatJar" description = "The package type of the application" type = string } # Instance CPU specification variable "cpu" { default = "500" description = "The cpu of the application, in unit of millicore" type = string } # Instance memory specification variable "memory" { default = "1024" description = "The memory of the application, in unit of MB" type = string } # JAR package URL variable "jar_url" { description = "The JAR url of the application, like `oss://my-bucket/my-app.jar`" type = string default = "https://edas-sz.oss-cn-shenzhen.aliyuncs.com/prod/demo/SPRING_CLOUD_CONSUMER.jar" } # Number of application instances variable "replicas" { default = "1" description = "The replicas of the application" type = string } # Namespace name variable "namespace_name" { description = "Namespace Name" type = string default = "tfjardemo" } # Namespace ID variable "namespace_id" { description = "Namespace ID" type = string default = "cn-shenzhen:tfjardemo" # Reference an existing namespace ID } # Namespace description variable "namespace_description" { description = "Namespace Description" default = "a namespace" } # VPC and security group variable "name" { default = "tf" description = "The name of the security group rule" type = string } variable "description" { default = "The description of the security group rule" description = "The description of the security group rule" type = string } # Port range variable "port_range" { default = "1/65535" description = "The port range of the security group rule" type = string } # CIDR block variable "cidr_ip" { description = "cidr blocks used to create a new security group rule" type = string default = "0.0.0.0/0" } # Availability zone in the region variable "zone_id" { description = "Availability Zone ID" type = string default = "cn-shenzhen-e" # Select an availability zone with sufficient resources } # Collect application logs to SLS variable "slsConfig" { default = "[{\"logDir\":\"\",\"logType\":\"stdout\"},{\"logDir\":\"/home/admin/logs/*.log\"}]" description = "The config of sls log collect" type = string } resource "alicloud_vpc" "vpc" { vpc_name = "tf-vpc" cidr_block = "172.16.0.0/16" } resource "alicloud_vswitch" "vswitch" { vpc_id = alicloud_vpc.vpc.id cidr_block = "172.16.1.0/24" zone_id = var.zone_id vswitch_name = "tf-vswitch" description = "tf-vswitch description" } resource "alicloud_sae_namespace" "default" { namespace_id = var.namespace_id namespace_name = var.namespace_name namespace_description = var.namespace_description } output "namespace_id" { value = var.namespace_id description = "Namespace ID" } resource "alicloud_security_group" "sg" { name = var.name description = var.description vpc_id = alicloud_vpc.vpc.id } resource "alicloud_security_group_rule" "sg_rule" { type = "ingress" ip_protocol = "tcp" nic_type = "intranet" policy = "accept" port_range = var.port_range priority = 1 security_group_id = alicloud_security_group.sg.id cidr_ip = var.cidr_ip } resource "alicloud_sae_application" "manual" { app_name = var.app_name app_description = var.app_description deploy = true package_url = var.jar_url namespace_id = alicloud_sae_namespace.default.id vswitch_id = alicloud_vswitch.vswitch.id vpc_id = alicloud_vpc.vpc.id security_group_id = alicloud_security_group.sg.id package_type = var.package_type jdk = "Open JDK 8" timezone = "Asia/Beijing" replicas = var.replicas cpu = var.cpu memory = var.memory micro_registration = "0" lifecycle { ignore_changes = [ micro_registration ] } } output "app_id" { description = "The id of the application" value = alicloud_sae_application.manual.id } output "app_name" { description = "The name of the application" value = var.app_name } -
Yapılandırmaları başlatmak için aşağıdaki komutu çalıştırın:
terraform init -
Beklenen çıktı:
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.
Bir görüntü kullanarak uygulama oluşturmak için aşağıdaki komutları sırayla çalıştırın. Çalıştırma sırasında istendiğinde
yesgirin ve Enter tuşuna basın. Komutun tamamlanmasını bekleyin. Aşağıdaki bilgiler görünürse yetkilendirme tamamlanmış demektir.
terraform apply
Beklenen çıktı:
Apply complete! Resources: 6 added, 0 changed, 0 destroyed.
Outputs:
app_id = "72c052ba-xxx"
app_name = "manual-image-tf"
namespace_id = "cn-shenzhen:tfdemo"
Çıktı beklendiği gibiyse uygulama başarıyla dağıtılmış demektir.
Sonucu doğrulayın
Terraform show komutu
Terraform tarafından oluşturulan kaynakların ayrıntılarını sorgulamak için aşağıdaki komutu çalıştırabilirsiniz:
terraform show
shell@Alicloud: ~/serverless$ terraform show
# alicloud_sae_application.manual:
resource "alicloud_sae_application" "manual" {
app_description = "description created by Terraform"
app_name = "manual-image-tf"
batch_wait_time = 10
command_args_v2 = []
config_map_mount_desc = jsonencode([])
cpu = 500
custom_host_alias = jsonencode([])
deploy = true
enable_ahas = "false"
enable_grey_tag_route = false
envs = jsonencode([])
id = "72c05xxx"
image_url = "registry.cn-beijing.aliyuncs.com/sae-serverless-demo/sae-demo:microservice-java-provider-v1.0"
memory = 1024
min_ready_instance_ratio = -1
min_ready_instances = -1
namespace_id = "cn-shenzhen:tfdemo"
package_type = "Image"
package_version = "1732169733"
replicas = 1
security_group_id = "sg-wz96xxx"
status = "RUNNING"
termination_grace_period_seconds = 30
timezone = "Asia/Beijing"
vpc_id = "vpc-xxx"
vswitch_id = "vsw-xxx"
}
# alicloud_sae_namespace.default:
resource "alicloud_sae_namespace" "default" {
enable_micro_registration = true
id = "cn-shenzhen:tfdemo"
namespace_description = "a namespace"
namespace_id = "cn-shenzhen:tfdemo"
namespace_name = "tfdemo"
namespace_short_id = "tfdemo"
}
SAE konsolu
Serverless App Engine (SAE) konsolu üzerinde oturum açın ve oluşturulan uygulamaların listesini görüntüleyin.
Mikroservis uygulama listesinde tfdemo ad alanında manual-image-tf uygulamasının oluşturulduğunu görebilirsiniz. Uygulamanın Mevcut Örnekler/Hedef Örnekler sayısı 1/1 şeklindedir; bu durum uygulamanın doğru çalıştığını onaylar.
manual-image-tf uygulamasının sol gezinme bölmesinde Change History seçeneğine tıklayın. Değişiklik Türünün Deploy Application ve Durumun Succeeded olduğunu doğrulayın.
Özel yapılandırma: JAR paketi dağıtımı
Bu örnek, Çin (Shenzhen) bölgesinde özel yapılandırmalarla bir JAR paketinden uygulamanın nasıl dağıtılacağını gösterir.
Terraform kaynaklarını depolamak için terraform adında bir proje klasörü oluşturun.
-
Proje dizinine gitmek için aşağıdaki komutu çalıştırın:
cd terraform -
main.tf adında bir yapılandırma dosyası oluşturun ve aşağıdaki içeriği ekleyin.
provider "alicloud" { region = var.region_id } # Region ID variable "region_id" { type = string default = "cn-shenzhen" } # Application name variable "app_name" { description = "The name of the application" type = string default = "manual-jar-tf" } # Application description variable "app_description" { default = "description created by Terraform" description = "The description of the application" type = string } # Application deployment method variable "package_type" { default = "FatJar" description = "The package type of the application" type = string } # Instance CPU specification variable "cpu" { default = "500" description = "The cpu of the application, in unit of millicore" type = string } # Instance memory specification variable "memory" { default = "1024" description = "The memory of the application, in unit of MB" type = string } # JAR package URL variable "jar_url" { description = "The JAR url of the application, like `oss://my-bucket/my-app.jar`" type = string default = "https://edas-sz.oss-cn-shenzhen.aliyuncs.com/prod/demo/SPRING_CLOUD_CONSUMER.jar" } # Number of application instances variable "replicas" { default = "1" description = "The replicas of the application" type = string } # Namespace name variable "namespace_name" { description = "Namespace Name" type = string default = "tfjardemo" } # Namespace ID variable "namespace_id" { description = "Namespace ID" type = string default = "cn-shenzhen:tfjardemo" # Reference an existing namespace ID } # Namespace description variable "namespace_description" { description = "Namespace Description" default = "a namespace" } # VPC and security group variable "name" { default = "tf" description = "The name of the security group rule" type = string } variable "description" { default = "The description of the security group rule" description = "The description of the security group rule" type = string } # Port range variable "port_range" { default = "1/65535" description = "The port range of the security group rule" type = string } # CIDR block variable "cidr_ip" { description = "cidr blocks used to create a new security group rule" type = string default = "0.0.0.0/0" } # Availability zone in the region variable "zone_id" { description = "Availability Zone ID" type = string default = "cn-shenzhen-e" # Select an availability zone with sufficient resources } # Collect application logs to SLS variable "slsConfig" { default = "[{\"logDir\":\"\",\"logType\":\"stdout\"},{\"logDir\":\"/home/admin/logs/*.log\"}]" description = "The config of sls log collect" type = string } resource "alicloud_vpc" "vpc" { vpc_name = "tf-vpc" cidr_block = "172.16.0.0/16" } resource "alicloud_vswitch" "vswitch" { vpc_id = alicloud_vpc.vpc.id cidr_block = "172.16.1.0/24" zone_id = var.zone_id vswitch_name = "tf-vswitch" description = "tf-vswitch description" } resource "alicloud_sae_namespace" "default" { namespace_id = var.namespace_id namespace_name = var.namespace_name namespace_description = var.namespace_description } output "namespace_id" { value = var.namespace_id description = "Namespace ID" } resource "alicloud_security_group" "sg" { name = var.name description = var.description vpc_id = alicloud_vpc.vpc.id } resource "alicloud_security_group_rule" "sg_rule" { type = "ingress" ip_protocol = "tcp" nic_type = "intranet" policy = "accept" port_range = var.port_range priority = 1 security_group_id = alicloud_security_group.sg.id cidr_ip = var.cidr_ip } resource "alicloud_sae_application" "manual" { app_name = var.app_name app_description = var.app_description deploy = true package_url = var.jar_url namespace_id = alicloud_sae_namespace.default.id vswitch_id = alicloud_vswitch.vswitch.id vpc_id = alicloud_vpc.vpc.id security_group_id = alicloud_security_group.sg.id package_type = var.package_type jdk = "Open JDK 8" timezone = "Asia/Beijing" replicas = var.replicas cpu = var.cpu memory = var.memory micro_registration = "0" lifecycle { ignore_changes = [ micro_registration ] } } output "app_id" { description = "The id of the application" value = alicloud_sae_application.manual.id } output "app_name" { description = "The name of the application" value = var.app_name } -
Yapılandırmayı başlatmak için aşağıdaki komutu çalıştırın.
terraform init -
Bir JAR paketinden uygulama oluşturmak için aşağıdaki komutları çalıştırın.
-
Uygulamayı dağıtmak için aşağıdaki komutu çalıştırın.İstendiğinde
yesgirin ve Enter tuşuna basın. Komut çalışmayı tamamladıktan sonra aşağıdaki ileti görüntülenirse yetkilendirme tamamlanmış demektir.terraform applyBeklenen çıktı:
Apply complete! Resources: 6 added, 0 changed, 4 destroyed. Outputs: app_id = "aad70a1a-xxx" app_name = "manual-jar-tf" namespace_id = "cn-shenzhen:tfjardemo"
Çıktı beklendiği gibiyse uygulama JAR paketinden başarıyla dağıtılmış demektir.
-
Sonucu doğrulayın:
Terraform show komutu
Terraform tarafından oluşturulan kaynakların ayrıntılarını sorgulamak için aşağıdaki komutu çalıştırabilirsiniz:
terraform show
shell1@Alicloud:~/serverless$ terraform show
# alicloud_sae_application.manual:
resource "alicloud_sae_application" "manual" {
app_description = "description created by Terraform"
app_name = "manual-jar-tf"
batch_wait_time = 10
command_args_v2 = []
config_map_mount_desc = jsonencode([])
cpu = 500
custom_host_alias = jsonencode([])
deploy = true
enable_ahas = "false"
enable_grey_tag_route = false
envs = jsonencode([])
id = "6acbf6fc-6b1xxx"
jdk = "Open JDK 8"
memory = 1024
micro_registration = "0"
min_ready_instance_ratio = -1
min_ready_instances = -1
namespace_id = "cn-shenzhen:tfjardemo"
package_type = "FatJar"
package_url = "https://edas-sz.oss-cn-shenzhen.aliyuncs.com/prod/demo/SPRING_CLOUD_CONSUMER.jar"
package_version = "1732241446"
}
programming_language = "java"
replicas = 1
security_group_id = "sg-wz9j10xxx"
status = "RUNNING"
termination_grace_period_seconds = 30
timezone = "Asia/Beijing"
vpc_id = "vpc-wz9sjxxx"
vswitch_id = "vsw-wz9e1xxx"
}
SAE konsolu
Oluşturulan ad alanını görüntülemek için Serverless App Engine (SAE) konsolu üzerinde oturum açın.
Sol gezinme bölmesinde Microservices Application seçeneğine tıklayın. Uygulama listesinde tfjardemo ad alanında manual-jar-tf uygulamasının oluşturulduğunu doğrulayın. Örnek sayısı 1/1 ve teknik özellikler 0,5 Çekirdek 1 GB şeklindedir.
Uygulama silme
Oluşturduğunuz kaynakları silmek için terraform destroy komutunu çalıştırın.
-
Proje dizininde aşağıdaki komutu çalıştırın.
terraform destroyBeklenen çıktı:
module.vpc.alicloud_vswitch.vswitches: Destroying... [id=vsw-wz9bdsgvhit7jv2hb4li] module.vpc.alicloud_security_group_rule.sg_rule: Destroying... [id=sg-wz9ba3de0fxxriu5c0m5:i] alicloud_security_group_rule.sg_rule: Destruction complete after 1s alicloud_security_group.sg: Destroying... [id=sg-wz9ba3de0fxxriu5c0m5] alicloud_security_group.sg: Destruction complete after 0s module.vpc.alicloud_vswitch.vswitches: Destruction complete after 4s module.vpc.alicloud_vpc.vpc[0]: Destroying... [id=vpc-wz9cg2ifzghh2pt948zcj] module.vpc.alicloud_vpc.vpc[0]: Destruction complete after 6s Destroy complete! Resources: 4 destroyed.
İlgili konular
Terraform hakkında daha fazla bilgi için bkz. Alibaba Cloud Terraform nedir?.
-
Terraform kullanarak uygulamaları yönetme
Konsol kullanarak uygulamaları yönetme: Uygulama barındırma genel bakış
API kullanarak uygulamaları yönetme: API genel bakış