阿里云做网站选择服务器,数据库wordpress,欧美视频在线电影,巴南城乡建设网站1 初始化环境
1.1 创建初始文件夹
$ cd /data
$ mkdir terraform
$ mkdir aliyun
terraform作为terraform的配置文件夹#xff0c;内部的每一个.tf#xff0c;.tfvars文件都会被加载。
1.2 配置provider
创建providers.tf文件#xff0c;配置provider依赖。
provider…1 初始化环境
1.1 创建初始文件夹
$ cd /data
$ mkdir terraform
$ mkdir aliyun
terraform作为terraform的配置文件夹内部的每一个.tf.tfvars文件都会被加载。
1.2 配置provider
创建providers.tf文件配置provider依赖。
provider alicloud {access_key xxxxxxxxsecret_key xxxxxxxxregion cn-beijing
}provider这一行表明提供的阿里云的接口access_key和secret_key分别是阿里云的ak、sk。在阿里云的账户中可以获取region 是管理的区域
1.3 初始化环境
执行命令 terraform init初始化环境。会自动读取provider.tf 文件下载对应的依赖包。
terraform init
2 创建一台ECS实例(分步骤执行)
为了安全起见建议将ak/sk设置在环境变量里设置后使用echo ${变量}确认下是否生效。
环境变量配置方式如下
$ export ALICLOUD_ACCESS_KEYLTAIUrZCw3********
$ export ALICLOUD_SECRET_KEYzfwwWAMWIAiooj14GQ2*************
$ echo $ALICLOUD_ACCESS_KEY
$ echo $ALICLOUD_SECRET_KEY
2.1 创建交换机
当需要创建ecs资源的区域不存在vpc和交换机的情况下需要优先创建交换机。
创建terraform.tf文件完善ecs创建信息。
resource alicloud_vpc vpc {vpc_name tf_test_foocidr_block 10.16.0.0/16
}resource alicloud_vswitch vsw {vpc_id alicloud_vpc.vpc.idcidr_block 10.16.0.0/20zone_id cn-beijing-b
}
运行terraform plan 查看将被要执行的操作。 terraform apply开始执行创建。 terraform show查看已创建的专有网络和交换机。 2.2 创建安全组
在已有专有网络中创建一个安全组并添加一个允许任何地址访问的安全组规则。在terraform.tf文件中增加以下内容。
resource alicloud_security_group default {name defaultvpc_id alicloud_vpc.vpc.id
}resource alicloud_security_group_rule allow_all_tcp {type ingressip_protocol tcpnic_type intranetpolicy acceptport_range 1/65535priority 1security_group_id alicloud_security_group.default.idcidr_ip 0.0.0.0/0
}
执行terraform plan查看将被要执行的操作。 从上面的输出可以发现已经存在的资源不会被再次创建只会创建新增的资源。另外由于之前的执行操作已经将新增变量存储在本地因此只要不删除执行记录则变量将会被一直引用。 执行terraform apply执行创建操作。 执行terraform show查看创建结果。 执行结果会将历史执行结果全部展示。
2.3 创建ECS
在terraform.tf文件中增加以下内容
resource alicloud_instance instance {# cn-beijingavailability_zone cn-beijing-bsecurity_groups alicloud_security_group.default.*.id# series IIIinstance_type ecs.n1.smallsystem_disk_category cloud_efficiencyimage_id aliyun_3_x64_20G_alibase_20230424.vhdinstance_name ecs_namevswitch_id alicloud_vswitch.vsw.idinternet_max_bandwidth_out 10
}
执行terraform plan查看将被要执行的操作。 执行terraform apply 执行变更 执行结果有报错去控制台查看发现资源ecs资源并未被创建。经确认是该地域无当前机型导致创建失败。重新调整机型后重新执行 此次报错是因为可用区与创建vsw选择的可用区不一致无法查到vswid信息导致创建失败将可用区修正后继续执行 执行成功登录控制台后发现资源均已被创建成功。
3 创建一台ECS实例(一次性执行)
将创建vpc、vsw、安全组、ecs一次性全部执行会发生什么呢
不出现失败的情况以上资源均会被创建。
但是当某一个资源创建失败后后面的资源将不会再被创建前面已经创建成功的将不会被删除。当错误参数调整后再执行已经创建的资源不会再次被创建未被创建的资源将会继续创建。