青海网站设计,wordpress多语,网站后台模板 免费,wordpress滑动菜单Terraform 是由 HashiCorp 创建的开源“基础架构即代码”工具 #xff08;IaC#xff09; 使用HCL#xff08;配置语言#xff09;描述云平台基础设施#xff08;这里教你使用低级基础设施#xff1a;交换机、云服务器、VPC、带宽#xff09;
Terraform提供者#xf…
Terraform 是由 HashiCorp 创建的开源“基础架构即代码”工具 IaC 使用HCL配置语言描述云平台基础设施这里教你使用低级基础设施交换机、云服务器、VPC、带宽
Terraform提供者Provider
您可以为使用的云平台和服务还包括K8S的找到提供商并添加到您的配置中然后用它们来配置基础设施几乎每个主要的云提供商、SaaS 产品等都可以使用由 Terraform 社区或各个组织开发和/或支持的提供商
阿里云
这里以阿里云为例其他云也可模仿这里做法 使用terraform脚本自动生成服务器原理是按量付费自动生成服务器按时间付费1小时几毛钱在你不需要服务器的时候自动销毁 首先准备一个阿里云账户往里充值100元阿里云限制不足100元账户不得使用按量付费为阿里云账户生成accesskey、secretkey后面简称ak、sk 首先不要泄露这个东西到公开的仓库中以免对你造成损失登入控制台右上角找到 企业 - 人员权限管理 左侧 用户 - 创建用户 - 输入名称 - 开启 OpenAPI调用访问 然后保存好你的aksk 给terraform用户授权 授权VPC虚拟私有云和ECS服务器权限 阿里云 region 大全其他云可自行搜索
地域名称 所在城市 Region ID 可用区数量
华北 1 青岛 cn-qingdao 2
华北 2 北京 cn-beijing 7
华北 3 张家口 cn-zhangjiakou 2
华北 5 呼和浩特 cn-huhehaote 2
华东 1 杭州 cn-hangzhou 8
华东 2 上海 cn-shanghai 6
华南 1 深圳 cn-shenzhen 5
西南 1 成都 cn-chengdu 1
中国香港 香港 cn-hongkong 2
亚太东南 1 新加坡 ap-southeast-1 3
亚太东南 2 悉尼 ap-southeast-2 2
亚太东南 3 吉隆坡 ap-southeast-3 2
亚太东南 5 雅加达 ap-southeast-5 2
亚太南部 1 孟买 ap-south-1 2
亚太东北 1 东京 ap-northeast-1 1
美国西部 1 硅谷 us-west-1 2
美国东部 1 弗吉尼亚 us-east-1 2
欧洲中部 1 法兰克福 eu-central-1 2
英国伦敦 伦敦 eu-west-1 2
中东东部 1 迪拜 me-east-1 1上面已经开通了ak、sk现在使用阿里云自带的CloudShell调用terraform 自行为cloudshell绑定存储卷方便销毁服务器。这个请自己搞定点两下鼠标就行了。绑定后请关闭cloudshell重新打开创建 main.tf 文件配置清单这边演示创建美国的服务器最小的规格按量付费美国调用chatgpt、dockerhub无限制
// export TF_VAR_alicloud_access_key
// export TF_VAR_alicloud_secret_key
// 使用阿里云驱动
terraform {required_providers {alicloud {source aliyun/alicloud}}
}// 声明变量
variable alicloud_access_key {
type string
}
variable alicloud_secret_key {type string
}// ak sk 可用区
provider alicloud {access_key var.alicloud_access_keysecret_key var.alicloud_secret_keyregion us-east-1 // region区域
}// VPC专有网络不收费
resource alicloud_vpc vpc {vpc_name your_namecidr_block 172.16.0.0/12 // 网段
}// switch交换机虚拟资源不收费
resource alicloud_vswitch vsw {vpc_id alicloud_vpc.vpc.id // 绑定vpccidr_block 172.17.0.0/21 // 网段zone_id us-east-a // 可用区
}// security_group 安全组不收费
resource alicloud_security_group group {name your_namevpc_id alicloud_vpc.vpc.id // 绑定vpcsecurity_group_type normal // 普通类型
}// security_group_rule 规则
resource alicloud_security_group_rule allow_80_tcp {type ingress // 入流量ip_protocol tcp // tcp协议nic_type intranet // 不用管policy accept // 接受类型port_range 80/80 // 端口范围你需要访问什么端口就开什么端口priority 1 // 优先级security_group_id alicloud_security_group.group.id // 绑定安全组cidr_ip 0.0.0.0/0 // 运行外部网络访问
}// security_group_rule 规则同上
resource alicloud_security_group_rule allow_22_tcp {type ingressip_protocol tcpnic_type intranetpolicy acceptport_range 22/22priority 1security_group_id alicloud_security_group.group.idcidr_ip 0.0.0.0/0
}// ecs按量付费这里使用最小的规格
resource alicloud_instance myecs {availability_zone us-east-a // 可用区security_groups alicloud_security_group.group.*.id // 绑定安全组instance_type ecs.xn4.small // 服务器规格system_disk_category cloud_efficiency // 系统磁盘system_disk_name your_name // 磁盘显示名称system_disk_description your_name // 磁盘描述信息image_id centos_7_9_x64_20G_alibase_20201228.vhd // 操作系统镜像id这里是centos7.9instance_name your_name // 服务器实例名字vswitch_id alicloud_vswitch.vsw.id // 绑定交换机internet_max_bandwidth_out 1 // 限制最大带宽1Mb这里会生成公网ip以提供访问internet_charge_type PayByTraffic // 重点---付费类型按量付费password root123 // 生成服务器后你的root密码
}将ak和sk以环境变量方式输入到终端中
export TF_VAR_alicloud_access_key你的ak
export TF_VAR_alicloud_secret_key你的sk执行terraform init 此步骤为下载阿里云的provider terraform plan 打印即将创建的资源清单、并且有检查语法的效果 创建资源使用 terraform apply 然后再交互输入 yes 创建成功 此时登录ecs控制台选择 美国 弗吉尼亚就会看到新建了一台按量付费的实例。并且自带公网ip可通过ssh连接main.tf开通了22端口 然后当你使用完了服务器不需要资源再在cloudshell里执行 terraform destroy并交互式输入yes。即可一键销毁上面创建的所有资源
提醒
可根据你所需要的区域替换region和zone当创建失败时可能会是该可用区资源不足。这时候请不要自行解决请提工单给阿里云让他们帮你查然后根据他们的提示修改你的main.tf清单如果想编排多个实例请根据语法自行扩展安全组你需要放行什么端口模仿上方的写法自己创建对应的规则按量付费的费用不高这里只展示了最小规格服务的使用你可以适当提高服务器资源按量付费生成的账单大概如下