首页 > 其他分享 >Terraform 语法 resource(1)

Terraform 语法 resource(1)

时间:2022-10-29 16:09:38浏览次数:96  
标签:resource IP 语法 Terraform ecs 资源 公网 就是


resource是我们的资源,一般在terraform里面定义的都是资源,是个非常重要的角色。

Terraform 语法 resource(1)_云计算服务

关键字resource+资源类型(比如dns,ecs,vpc,交换机)+资源的名称。

模块下资源的名称要保证唯一,不要冲突。

块里面就是所有resource的配置,也就是它的主体部分。

Terraform 语法 resource(1)_ide_02

对于资源我们只需要了解它的主体,它的结构,接下来就可以开始定义ecs。

​阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台​

首先你得知道在哪个区域创建ecs,创建的时候选择镜像,操作系统,然后是系统盘多大,cpu,内存这些规格大小。

Terraform 语法 resource(1)_terraform_03

Terraform 语法 resource(1)_云计算服务_04

接下来为你配置网络

Terraform 语法 resource(1)_云计算服务_05

 分配公网IP,带宽,安全组,弹性网卡,ipv6。

Terraform 语法 resource(1)_ide_06

最后就是系统的配置,账号密码这些。实例名称,主机名称。

Terraform 语法 resource(1)_云计算服务_07

cloud-init其实就是每个云产品的机制,实例创建完之后想要执行一些任务,就可以借用这种机制去执行。里面可以写一段脚本。

下面就要去定义ecs资源了,resource是从provider里面来的。

第一个是可用区,第二个是安全组,之前创建过安全组,然后加了两条安全组的规则,80和22。

再往下面就是实例的类型,规格。

再后面就是云盘。

镜像的id可以通过data source去拿到。

Terraform 语法 resource(1)_域名解析_08

这个就是我资源的配置

Terraform 语法 resource(1)_云计算服务_09

 ecs创建之后可能会去搭建一些服务,那么就需要通过ecs的公网IP,公网IP就可以访问这台服务器了。

这个密码其实就是在配置文件里面写的密码(password= "root@123")记住这里需要创建22端口访问规则,在安全组里面。

Terraform 语法 resource(1)_terraform_10

当你在上面部署了一台ecs,并且在ecs上面部署了你的web应用,那么就需要配置域名解析了。DNS是有zone区分的, 

 ​​阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台​

Terraform 语法 resource(1)_域名解析_11

 这个域名其实就是我的zone,然后进去添加解析。

Terraform 语法 resource(1)_云计算服务_12

可以看到这个域名解析到这个IP了。

Terraform 语法 resource(1)_terraform_13

上面演示就是加了一条DNS的A记录,指向了我们ecs的IP。

​Terraform Registry​

# Create a new Domain record
resource "alicloud_dns_record" "record" {
name = "domainname"
host_record = "@"
type = "A"
value = "192.168.99.99"
}

 type=A表示添加一条A记录,A记录一般指定的一台主机IP。name是zone的名称,然后是记录。

如果访问就是@.domainname就行了。value就是IP地址。

这里引用的是我们的公网IP,引用的是我们定义的ecs资源的公网IP。

  value       = alicloud_instance.instance.public_ip

标签:resource,IP,语法,Terraform,ecs,资源,公网,就是
From: https://blog.51cto.com/u_14035463/5806199

相关文章

  • Terraform 语法 provider插件
     语法是terraform最重要的一点,有两个部分来讲解,第一部分是基础,第二部分是更加高级的扩展。后面各种实践其实就是对terraform语法编写。第一部分是provider插件,provider提供......
  • Terraform DataSource 数据源
    有些时候在创建资源的时候,会用到一些数据,比如在创建ecs的时候,我可能会用到一些镜像。这个我们可以去浏览云供应商提供的文档去查询,其实我们也可以通过provider来拿到。provi......
  • Terraform 基础 申请阿里云资源
    之前,资源都定义好了,现在就是去申请资源了。申请这些资源就需要使用terraform的命令行了,开始初始化后端,后端是有存储文件的,默认情况下是在本地存储的,然后会多一些文件。 (下......
  • 【TypeScript】语法精讲
    TypeScript的编译环境#安装命令npminstalltypescript-g#查看版本tsc--versionTypeScript的运行环境#安装ts-nodenpminstallts-node-g#另外ts-node需要依赖tslib......
  • typeScript基础语法
    1.变量定义变量名:变量的类型(首字母小写)letdan:string='蛋'letnumArr:number[]=[4,2,0];2、核心定义任何东西的时候要注明类型调用任何东西的时候要检查类型3......
  • jsp 的语法(重点掌握)
    jsp文件头部声明介绍(page指令介绍)<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%> 这是jsp文件的头声明。表示这是jsp页......
  • 网络协议包括三个要素分别为语法、语义、同步等
    网络协议包括三个要素分别为语法、语义、同步等1、语法是用户数据与控制信息的结构与格式,以及数据出现的顺序;2、语义是解释控制信息每个部分的意义;需要发出何种控制信息,......
  • react的jsx语法是怎样解析的
    首先我们来看看下面的代码import"react"from"react";constelement=(<div><div><span>1</span><span>2</span>......
  • Python 基础语法
    一、字面量字面量:在代码中,被写下来的固定的值,称之为字面量数字(Number)字符串(String)列表(List):有序的可变序列元祖(Tuple):有序的不可变序列集合(Set):无序不重复集合字典(Dic......
  • Java基础语法与运算符
    Java基础语法数据类型8大基本数据类型整数类型byte1字节short2字节int4字节(整数默认数据类型)long8字节(赋值的字面量结尾要加l或L)浮点数类型float4字节(......