云服务器内容精选
-
参数说明 表1 Provider认证参数 参数名称 是否必选 环境变量 参数说明 region 是 HW_REGION_NAME 华为云服务所在的区域,可以从地区和终端节点获取。 如果要在不同的region中创建云服务,可以使用alias或者在云服务对应的resource中指定region参数。 access_key 是 HW_AC CES S_KEY 用户的密钥ID,查询方法请参见访问密钥。 secret_key 是 HW_SECRET_KEY 用户的私有访问密钥,查询方法请参见访问密钥。 domain_name 否 HW_DOMAIN_NAME 华为云账号名称,查询方法请参见API凭证。 project_name 否 HW_PROJECT_NAME 华为云项目名称,查询方法请参见API凭证。 enterprise_project_id 否 HW_ENTERPRISE_PROJECT_ID 企业项目ID,关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理服务用户指南》。 max_retries 否 HW_MAX_RETRIES 遇到网络传输问题时请求的最大重试次数,默认值为5。
-
环境变量 将region,AK/SK等参数设置为环境变量的方式进行认证,例如: $ export HW_REGION_NAME="cn-north-1"$ export HW_ACCESS_KEY="my-access-key"$ export HW_SECRET_KEY="my-secret-key" 环境变量设置后,只需要声明华为云的provider即可。 provider "huaweicloud" {}
-
静态凭据 通过配置provider块中的region,AK/SK等参数进行认证,例如: provider "huaweicloud" { region = "cn-north-1" access_key = "my-access-key" secret_key = "my-secret-key"} 使用静态凭据的认证方式比较简单,但需要将AK/SK以明文的形式存储在配置文件中,存在密钥泄露的安全隐患。推荐您使用环境变量的方式进行认证。
-
操作步骤 申请弹性公网IP。 创建main.tf文件,输入以下内容,并保存在当前的执行目录中。 resource "huaweicloud_vpc_eip" "eip_1" { publicip { type = "5_bgp" } bandwidth { name = "test" size = 5 share_type = "PER" charge_mode = "traffic" }} 申请NAT网关并配置SNAT规则。 在main.tf文件中增加以下内容。 data "huaweicloud_vpc" "vpc_1" { name = "vpc-default"}data "huaweicloud_vpc_subnet" "subnet_1" { name = "subnet-default" vpc_id = data.huaweicloud_vpc.vpc_1.id}resource "huaweicloud_nat_gateway" "nat_1" { name = "nat-gateway-basic" description = "test for terraform examples" spec = "1" vpc_id = data.huaweicloud_vpc.vpc_1.id subnet_id = data.huaweicloud_vpc_subnet.subnet_1.id}resource "huaweicloud_nat_snat_rule" "snat_1" { floating_ip_id = huaweicloud_vpc_eip.eip_1.id nat_gateway_id = huaweicloud_nat_gateway.nat_1.id network_id = data.huaweicloud_vpc_subnet.subnet_1.id} 表1 参数说明 资源名称 参数名称 参数说明 huaweicloud_nat_gateway name NAT网关的名字,支持数字、字母、_(下划线)、-(中划线)、中文。 description NAT网关的描述。 spec NAT网关的规格。取值为: “1”:小型,SNAT最大连接数10000 “2”:中型,SNAT最大连接数50000 “3”:大型,SNAT最大连接数200000 “4”:超大型,SNAT最大连接数1000000 vpc_id VPC的ID。 subnet_id 子网的网络ID。 huaweicloud_nat_snat_rule floating_ip_id 弹性公网IP的id,多个弹性公网IP使用逗号分隔。 约束:弹性公网IP的id个数不能超过20个。 nat_gateway_id NAT网关的ID。 network_id 规则使用的网络ID。 创建资源。 运行 terraform init 初始化环境。 运行 terraform plan 查看资源。 确认资源无误后,运行 terraform apply 开始创建。
-
操作步骤 在main.tf文件中增加以下内容。 resource "huaweicloud_evs_volume" "myvolume" { name = "myvolume" availability_zone = data.huaweicloud_availability_zones.myaz.names[0] volume_type = "SAS" size = 10}resource "huaweicloud_compute_volume_attach" "attached" { instance_id = huaweicloud_compute_instance.myinstance.id volume_id = huaweicloud_evs_volume.myvolume.id} 运行 terraform plan 查看资源。 确认资源无误后,运行 terraform apply 开始创建。 云硬盘挂载至云服务器后,需要登录云服务器初始化云硬盘,即格式化云硬盘,之后云硬盘才可以正常使用。
-
应用场景 在对数据库有少量写请求,但有大量读请求的应用场景下,单个实例可能无法抵抗读取压力,甚至对主业务产生影响。为了实现读取能力的弹性扩展,分担数据库压力,您可以在某个区域中创建一个或多个只读实例,利用只读实例满足大量的数据库读取需求,以此增加应用的吞吐量。主实例和只读实例之间的数据同步不受网络延时的影响,只读实例跟主实例在同一区域,但可以在不同的可用区。以下教程将指导您如何通过Terraform脚本创建一个RDS只读实例 。
-
操作步骤 创建MySQL数据库,请参考创建MySQL数据库。 以MySQL为例,演示为RDS创建只读副本。 data "huaweicloud_availability_zones" "myaz" {}resource "huaweicloud_rds_read_replica_instance" "myreplica" { name = "myreplica" flavor = "rds.mysql.c2.large.rr" primary_instance_id = huaweicloud_rds_instance.myinstance.id availability_zone = data.huaweicloud_availability_zones.myaz.names[1] volume { type = "ULTRAHIGH" } tags = { type = "readonly" }} 运行 terraform plan 查看资源。 确认资源无误后,运行 terraform apply 开始创建。 运行 terraform show 可以查看已创建的RDS只读实例信息。 表1 参数说明 资源名称 参数名称 参数说明 huaweicloud_rds_read_replica_instance name (必填)只读实例名称 约束:4~64个字符之间,必须以字母开头,区分大小写,可以包含字母、数字、中划线或者下划线,不能包含其他的特殊字符 flavor (必填)数据库只读实例规格,本教程使用"rds.mysql.c2.large.rr",实例规格信息也可以通过huaweicloud_rds_flavors查询。 primary_instance_id (必填)主实例ID availability_zone (必填)只读实例所在可用区,请参见地区和终端节点。 tags (可选)实例标签。 volume type (必填)数据库只读实例磁盘类型 取值范围: ULTRAHIGH,表示SSD; ULTRAHIGHPRO,表示SSD尊享版,仅支持超高性能型尊享版
-
操作步骤 创建CCE Cluster,详细步骤参考创建CCE Cluster。 创建CCE Node。 在 创建CCE Cluster 中创建的cce.tf文件中增加以下内容。 data "huaweicloud_availability_zones" "myaz" {}resource "huaweicloud_compute_keypair" "mykeypair" { name = "mykeypair"}resource "huaweicloud_cce_node" "mynode" { cluster_id = huaweicloud_cce_cluster.mycce.id name = "mynode" flavor_id = "t6.large.2" availability_zone = data.huaweicloud_availability_zones.myaz.names[0] key_pair = huaweicloud_compute_keypair.mykeypair.name root_volume { size = 40 volumetype = "SAS" } data_volumes { size = 100 volumetype = "SAS" }} 运行 terraform plan 查看资源。 确认资源无误后,运行 terraform apply 开始创建。 运行 terraform show 查看已创建的CCE Node。
-
操作步骤 规划并创建虚拟私有云、子网及安全组。 若需要创建新的网络配置,请参考典型网络配置。 若使用已创建的网络配置,需要使用data source获取对应的ID,参考样例如下。 data "huaweicloud_vpc" "myvpc" { name = var.vpc_name}data "huaweicloud_vpc_subnet" "mysubnet" { vpc_id = data.huaweicloud_vpc.myvpc.id name = var.subnet_name}data "huaweicloud_networking_secgroup" "mysecgroup" { name = var.secgroup_name} 创建RDS for MySQ L实例 。 示例一 使用新建网络配置创建RDS实例,并使用随机密码。 data "huaweicloud_availability_zones" "myaz" {}resource "random_password" "mypassword" { length = 12 special = true override_special = "!@#%^*-_=+"}resource "huaweicloud_rds_instance" "myinstance" { name = "mysql_instance" flavor = "rds.mysql.c2.large.ha" ha_replication_mode = "async" vpc_id = huaweicloud_vpc.myvpc.id subnet_id = huaweicloud_vpc_subnet.mysubnet.id security_group_id = huaweicloud_networking_secgroup.mysecgroup.id availability_zone = [ data.huaweicloud_availability_zones.myaz.names[0], data.huaweicloud_availability_zones.myaz.names[1] ] db { type = "MySQL" version = "8.0" password = random_password.mypassword.result } volume { type = "ULTRAHIGH" size = 40 }} 示例二 使用已有网络配置创建RDS实例 data "huaweicloud_availability_zones" "myaz" {}resource "huaweicloud_rds_instance" "myinstance" { name = "mysql_instance" flavor = "rds.mysql.c2.large.ha" ha_replication_mode = "async" vpc_id = data.huaweicloud_vpc.myvpc.id subnet_id = data.huaweicloud_vpc_subnet.mysubnet.id security_group_id = data.huaweicloud_networking_secgroup.mysecgroup.id availability_zone = [ data.huaweicloud_availability_zones.myaz.names[0], data.huaweicloud_availability_zones.myaz.names[1] ] db { type = "MySQL" version = "8.0" password = var.rds_password } volume { type = "ULTRAHIGH" size = 40 }} 配置变量。 创建variables.tf文件,输入以下内容,并保存在当前的执行目录中。您可以根据实际情况修改变量值。 variable "vpc_name" { default = "vpc-basic"}variable "vpc_cidr" { default = "172.16.0.0/16"}variable "subnet_name" { default = "subent-basic"}variable "subnet_cidr" { default = "172.16.10.0/24"}variable "subnet_gateway" { default = "172.16.10.1"}variable "primary_dns" { default = "100.125.1.250"} 创建资源。 运行 terraform init 进行初始化。 运行 terraform plan 查看资源。 确认资源无误后,运行 terraform apply 开始创建。 运行 terraform show 可以查看已创建的RDS实例信息。 表1 参数说明 资源名称 参数名称 参数说明 huaweicloud_rds_instance name (必填)数据库实例名称,同一租户下,同类型的数据库实例名称可以重名 约束:4~64个字符之间,必须以字母开头,区分大小写,可以包含字母、数字、中划线或者下划线,不能包含其他的特殊字符 flavor (必填)数据库实例规格,本教程使用"rds.mysql.c2.large.ha",实例规格信息也可以通过huaweicloud_rds_flavors查询。 ha_replication_mode (可选)备机同步参数。MySQL的取值为“async”或“semisync”。 availability_zone (必填)实例所在可用区,对于主备实例支持多个可用区,请参见地区和终端节点。 vpc_id (必填)实例所属的VPC ID subnet_id (必填)实例所属的子网网络ID security_group_id (必填)实例所属的安全组ID db type (必填)数据库引擎类型 取值范围:MySQL、PostgreSQL、SQLServer version (必填)数据库引擎版本,MySQL引擎支持5.6、5.7、8.0版本。 password (必填)数据库密码 由大小写字母、数字和特殊符号~!@#%^*-_=+?组成,长度8~32个字符。 建议您输入高强度密码,以提高安全性,防止出现密码被暴力破解等安全风险。 port (可选)数据库端口 约束:MySQL数据库端口设置范围为1024~65535(其中12017和33071被RDS系统占用不可设置),默认3306; volume type (必填)数据库实例磁盘类型 取值范围: ULTRAHIGH,表示SSD; ULTRAHIGHPRO,表示SSD尊享版,仅支持超高性能型尊享版 size (必填)数据库实例磁盘空间大小 取值范围:40GB~4000GB,必须为10的整数倍
-
样例代码 https://github.com/huaweicloud/terraform-provider-huaweicloud/tree/master/examples/rds/mysql https://github.com/huaweicloud/terraform-provider-huaweicloud/tree/master/examples/rds/mysql-with-network
-
应用场景 弹性云服务器(Elastic Cloud Server,E CS )是由CPU、内存、操作系统、云硬盘组成的基础的计算组件。弹性云服务器创建成功后,您就可以像使用自己的本地PC或物理服务器一样,在云上使用弹性云服务器。华为云提供了多种类型的弹性云服务器,可满足不同的使用场景。在创建之前,您需要根据实际的应用场景确认弹性云服务器的规格类型,镜像类型,磁盘种类等参数,并选择合适的网络参数和安全组规则。
-
操作步骤 使用data source查询可用区,规格,镜像和网络参数。 创建main.tf文件,输入以下内容,并保存在当前的执行目录中。 data "huaweicloud_availability_zones" "myaz" {}data "huaweicloud_compute_flavors" "myflavor" { availability_zone = data.huaweicloud_availability_zones.myaz.names[0] performance_type = "normal" cpu_core_count = 2 memory_size = 4}data "huaweicloud_images_image" "myimage" { name = "Ubuntu 18.04 server 64bit" most_recent = true}data "huaweicloud_vpc_subnet" "mynet" { name = "subnet-default"}data "huaweicloud_networking_secgroup" "mysecgroup" { name = "default"} 创建ECS实例并使用随机密码方式登录。 在main.tf文件中增加以下内容。 resource "random_password" "password" { length = 16 special = true override_special = "!@#$%*"}resource "huaweicloud_compute_instance" "myinstance" { name = "basic" admin_pass = random_password.password.result image_id = data.huaweicloud_images_image.myimage.id flavor_id = data.huaweicloud_compute_flavors.myflavor.ids[0] availability_zone = data.huaweicloud_availability_zones.myaz.names[0] security_group_ids = [data.huaweicloud_networking_secgroup.mysecgroup.id] network { uuid = data.huaweicloud_vpc_subnet.mynet.id }} 运行 terraform init 初始化环境。 运行 terraform plan 查看资源。 确认资源无误后,运行 terraform apply 开始创建。 运行 terraform show 查看已创建的ECS。
-
操作步骤 创建虚拟私有云和子网。请参见典型网络配置。 创建cce.tf文件,输入以下内容,并保存在当前的执行目录中。 resource "huaweicloud_vpc" "myvpc" { name = "myvpc" cidr = "192.168.0.0/16"}resource "huaweicloud_vpc_subnet" "mysubnet" { name = "mysubnet" cidr = "192.168.0.0/16" gateway_ip = "192.168.0.1" //dns is required for cce node installing primary_dns = "100.125.1.250" secondary_dns = "100.125.21.250" vpc_id = huaweicloud_vpc.myvpc.id} 运行 terraform init 初始化环境。 运行 terraform plan 查看资源。 确认资源无误后,运行 terraform apply 开始创建。 运行 terraform show 查看已创建的VPC和subnet。 创建弹性公网IP,若集群不使用公网可跳过此步骤。 在cce.tf文件中增加以下内容。 resource "huaweicloud_vpc_eip" "myeip" { publicip { type = "5_bgp" } bandwidth { name = "mybandwidth" size = 8 share_type = "PER" charge_mode = "traffic" }} 运行 terraform plan 查看资源。 确认资源无误后,运行 terraform apply 开始创建。 运行 terraform show 查看已创建的弹性公网IP。 创建CCE Cluster。 在cce.tf文件中增加以下内容。 resource "huaweicloud_cce_cluster" "mycce" { name = "mycce" flavor_id = "cce.s1.small" vpc_id = huaweicloud_vpc.myvpc.id subnet_id = huaweicloud_vpc_subnet.mysubnet.id container_network_type = "overlay_l2" eip = huaweicloud_vpc_eip.myeip.address // 若不使用弹性公网ip,忽略此行} 运行 terraform plan 查看资源。 确认资源无误后,运行 terraform apply 开始创建。 运行 terraform show 查看已创建的CCE Cluster。 表1 参数说明 资源名称 参数名称 参数说明 huaweicloud_cce_cluster name (必填) 集群名称 取值范围:以小写字母开头,由小写字母、数字、中划线(-)组成,长度范围4-128位,且不能以中划线(-)结尾。 约束:同一个租户下的名称不能重复 flavor_id (必填) 集群规格 取值范围: cce.s1.small: 小规模单控制节点混合集群(最大50节点) cce.s1.medium: 中等规模单控制节点混合集群(最大200节点) cce.s2.small: 小规模多控制节点混合集群(最大50节点) cce.s2.medium: 中等规模多控制节点混合集群(最大200节点) cce.s2.large: 大规模多控制节点混合集群(最大1000节点) cce.s2.xlarge: 超大规模多控制节点混合集群(最大2000节点) 约束:集群创建完成后规格不可再变更,请按实际业务需求进行选择 vpc_id (必填) 用于创建控制节点的VPC的ID subnet_id (必填) 用于创建控制节点的subnet的网络ID container_network_type (必填) 容器网络类型 取值范围: overlay_l2:通过OVS(OpenVSwitch)为容器构建的overlay _ l2网络。 underlay_ipvlan:裸金属服务器使用ipvlan构建的Underlay的l2网络。 vpc-router:使用ipvlan和自定义VPC路由为容器构建的Underlay的l2网络。 eni:Yangtse网络,深度整合VPC原生ENI弹性网卡能力,采用VPC网段分配容器地址,支持ELB直通容器,享有高性能,创建 CCE Turbo 集群(公测中)时指定。 eip (可选) 弹性公网IP
-
操作步骤 创建OBS存储桶。 创建main.tf文件,输入以下内容,并保存在当前的执行目录中。 resource "huaweicloud_obs_bucket" "myexample" { bucket = "myexample-bucket" acl = "private" tags = { type = "bucket" env = "Test" }} 运行 terraform init 进行初始化。 运行 terraform plan 查看资源。 确认资源无误后,运行 terraform apply 开始创建。 运行 terraform show 可以查看已创建的OBS桶。 上传对象。 支持通过数据流和源文件路径上传对象,在main.tf文件中增加以下内容。 # 通过数据流上传对象resource "huaweicloud_obs_bucket_object" "myobject1" { bucket = huaweicloud_obs_bucket.myexample.bucket key = "myobject1" content = "content of myobject1" content_type = "application/xml"}# 通过源文件路径上传对象resource "huaweicloud_obs_bucket_object" "myobject2" { bucket = huaweicloud_obs_bucket.myexample.bucket key = "myobject2" source = "hello.txt"}# 通过源文件路径上传对象并进行服务端加密resource "huaweicloud_obs_bucket_object" "myobject3" { bucket = huaweicloud_obs_bucket.myexample.bucket key = "myobject3" source = "hello.txt" encryption = true} 运行 terraform plan 查看资源。 确认资源无误后,运行 terraform apply 开始创建。 运行 terraform show 可以查看已上传的对象。 表1 参数说明 资源名称 参数名称 参数说明 huaweicloud_obs_bucket bucket (必填)OBS存储桶名称 约束:在OBS中必须是全局唯一的,包含3到63个字符,允许小写字母、数字、连字符(-)和点号(.),不能以句点(.)或连字符(-)开始或结束,不能包含两个连续的句点(.)或相邻的句点(.)和连字符(-),不能是IP地址。 acl (可选)OBS存储桶访问控制策略 取值范围: private:默认策略,除桶ACL授权外的其他用户无桶的访问权限。 public-read:任何用户都可以对桶内对象进行读操作。 public-read-write:任何用户都可以对桶内对象进行读/写/删除操作。 tags (可选)桶标签 huaweicloud_obs_bucket_object bucket (必填)存储桶名称 key (必填)对象名称 source (可选)待上传对象的源文件路径 content (可选)待上传对象的数据流 content_type (可选)待上传对象的MIME类型 encryption (可选)是否开启桶的默认服务端加密
-
操作步骤 在main.tf文件中增加以下内容。 resource "huaweicloud_vpc_eip" "myeip" { publicip { type = "5_bgp" } bandwidth { name = "mybandwidth" size = 8 share_type = "PER" charge_mode = "traffic" }}resource "huaweicloud_compute_eip_associate" "associated" { public_ip = huaweicloud_vpc_eip.myeip.address instance_id = huaweicloud_compute_instance.myinstance.id} 运行 terraform plan 查看资源。 确认资源无误后,运行 terraform apply 开始创建。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格