自媒体网站wordpress,杭州建设工程招标平台官网,wordpress如何配置文件,wordpress标签云不显示图片实验步骤
创建 EC2 IAM 角色 导航到IAM 在左侧菜单中#xff0c;单击角色 。单击创建角色该按钮以创建新的 IAM 角色。 在创建角色部分#xff0c;为角色选择可信实体类型#xff1a; AWS 服务 使用案例:EC2 单击下一步 添加权限#xff1a;现在#xff0c;您可以看到…实验步骤
创建 EC2 IAM 角色 导航到IAM 在左侧菜单中单击角色 。单击创建角色该按钮以创建新的 IAM 角色。 在创建角色部分为角色选择可信实体类型 AWS 服务 使用案例:EC2 单击下一步 添加权限现在您可以看到策略列表。按名称AdministratorAccess搜索权限并添加。 单击下一步 角色名称输入 TERRAFORM_EC2 您已成功按名称 TERRAFORM_EC2 创建了一个 IAM 角色。 注意您可以使用其他名称创建角色然后将其附加到 EC2 实例 启动 EC2 实例 请确保您位于美国东部弗吉尼亚北部us-east-1 区域。 顶部菜单导航到 EC2 左侧面板单击实例然后单击启动新实例。 (1)控制台启动实例 (2)选择系统镜像 (3)选择实例类型 (4)配置实例 实例数输入 1 IAM角色从列表中选择我们在上面创建的 IAM 角色。 将所有其他设置保留为默认值。单击下一步添加存储 (5)添加存储 (6)添加标签 添加标签点击添加标签按钮 键Name 值MyEC2Instance 点击下一步:配置安全组 (7) 配置安全组 添加 SSH . 选择类型 选择 SSH. 协议TCP. 端口范围22. 源选择任何位置 点击下一步 审核和启动 (8) 审核启动 检查所有选定的设置无误点击启动 选择现有密钥对确认并单击启动实例 环境配置 SSH 连接到 EC2 实例 以下命令切换到root权限。 sudo su 以下命令安装本实验所需软件。 yum install git -y 安装 Terraform 地址 下载仓库代码模版部署 您需要使用 git clone https://github.com/hashicorp/learn-terraform-sensitive-variables.git 命令将代码模版拉取到EC2实例中 确保您这些文件在同一位置。 通过运行以下命令初始化 Terraform terraform init 注意terraform init将检查所有插件依赖项并下载它们。 查看生成计划请运行以下命令 terraform plan 创建在 main.tf 配置文件中声明的所有资源 请运行以下命令 terraform apply 您将能够看到将要创建的资源通过输入 yes 批准所有资源的创建。 terraform apply 命令最多可能需要 2 分钟才能创建资源。 重构数据库凭据 在文本编辑器中打开main.tf。在文件底部附近找到定义数据库的块重构此配置。 首先在variables.tf中声明数据库管理员用户名和密码的输入变量。 variable db_username {description Database administrator usernametype stringsensitive true
}variable db_password {description Database administrator passwordtype stringsensitive true
} 请注意您已将变量声明为sensitive。现在更新main.tf以引用这些变量。 resource aws_db_instance database {allocated_storage 5engine mysqlinstance_class db.t2.micro
- username admin
- password notasecurepasswordusername var.db_usernamepassword var.db_passworddb_subnet_group_name aws_db_subnet_group.private.nameskip_final_snapshot true
} 如果您现在要执行部署Terraform 会提示您输入这些新变量的值因为您尚未为它们分配默认值。但是手动输入值非常耗时且容易出错。 接下来您将使用两种不同的方法来设置敏感变量值。 使用tfvars文件设置值 Terraform 支持使用变量定义文件设置变量值。您可以使用多个变量定义文件使用单独的文件来设置敏感值或机密值。 创建一个新文件secret.tfvars用于为新变量赋值。 db_username admin
db_password insecurepassword 应用这些更改。 terraform apply -var-filesecret.tfvars 因为您已将新变量标记为敏感变量所以当您运行计划、应用或销毁命令时Terraform 会输出sensitive value。 使用环境变量设置值 当Terraform运行时它会在您的环境中查找与模式匹配的变量并将这些值分配给配置中相应的Terraform变量。 使用环境变量为数据库管理员用户名和密码分配值。 export TF_VAR_db_usernameadmin TF_VAR_db_passwordadifferentpassword 现在运行terraform applyTerraform 会将这些值分配给您的新变量。 引用敏感变量 在 Terraform 配置中使用敏感变量时可以像使用任何其他变量一样使用它们。 将以下输出值添加到outputs.tf。 output db_connect_string {description MySQL database connection stringvalue Server${aws_db_instance.database.address}; DatabaseExampleDB; Uid${var.db_username}; Pwd${var.db_password}
} 现在应用此更改。Terraform 将引发错误因为输出来自敏感变量。 terraform apply 现在将数据库连接字符串输出标记为sensitive使 Terraform 将其隐藏。 output db_connect_string {description MySQL database connection stringvalue Server${aws_db_instance.database.address}; DatabaseExampleDB; Uid${var.db_username}; Pwd${var.db_password}sensitive true
} 应用此更改以查看 Terraform 现在将数据库连接字符串输出。 terraform apply ## ...
Outputs:db_connect_string sensitive 状态中的敏感值 使用本地状态文件运行 Terraform 命令时Terraform 会将状态存储为纯文本包括变量值即使您已将其标记为sensitive。 Terraform 需要将这些值存储在您的状态中以便它可以告诉您自上次应用配置以来是否更改了它们。 terraform.tfstatevalue: Serverterraform-20210113192204255400000004.ct4cer62f3td.us-east-1.rds.amazonaws.com; DatabaseExampleDB; Uidadmin; Pwdadifferentpassword,password: adifferentpassword,
## ... 由于 Terraform 状态可能包含敏感值因此必须确保状态文件的安全以避免泄露此数据。