Skip to main content
NetApp Solutions
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

AWS FSx ONTAP集群和EC2实例配置

贡献者

NetApp解决方案工程团队

该解决方案提供了一个基于Terraform的自动化工具包、用于配置FSx ONTAP集群和EC2计算实例。

目的

此工具包可自动执行AWS FSx ONTAP存储集群和EC2计算实例的配置任务、这些实例随后可用于数据库部署。

此解决方案 可解决以下使用情形:

  • 在AWS云中的预定义VPC子网中配置EC2计算实例、并将用于EC2实例访问的ssh密钥设置为EC2-user。

  • 在所需的可用性区域中配置AWS FSx ONTAP存储集群、配置存储SVM并设置集群管理员用户fsxadmin密码。

audience

此解决方案 适用于以下人员:

  • 在AWS EC2环境中管理数据库的数据库管理员。

  • 对AWS EC2生态系统中的数据库部署感兴趣的数据库解决方案架构师。

  • 负责管理支持数据库的AWS FSx ONTAP存储的存储管理员。

  • 喜欢在AWS EC2生态系统中建立数据库的应用程序所有者。

许可证

访问、下载、安装或使用此GitHub存储库中的内容即表示您同意中列出的许可条款 "许可证文件"

备注 在使用此GitHub存储库中的内容制作和/或共享任何衍生作品方面存在一些限制。在使用内容之前、请确保您已阅读许可条款。如果您不同意所有条款、请勿访问、下载或使用此存储库中的内容。

解决方案 部署

部署的前提条件

Details

部署需要满足以下前提条件。

An Organization and AWS account has been setup in AWS public cloud
  An user to run the deployment has been created
  IAM roles has been configured
  IAM roles granted to user to permit provisioning the resources
VPC and security configuration
  A VPC has been created to host the resources to be provisioned
  A security group has been configured for the VPC
  A ssh key pair has been created for EC2 instance access
Network configuration
  Subnets has been created for VPC with network segments assigned
  Route tables and network ACL configured
  NAT gateways or internet gateways configured for internet access

下载此工具包

Details
git clone https://github.com/NetApp/na_aws_fsx_ec2_deploy.git

连接和身份验证

Details

该工具包应从AWS云Shell执行。AWS云Shell是一种基于浏览器的Shell、可用于轻松安全地管理、浏览AWS资源并与之进行交互。CloudShell会使用您的控制台凭据进行预身份验证。通用开发和运营工具已预先安装、因此无需在本地安装或配置。

Terraform提供程序.tf和main.tf文件配置

Details

提供程序.tf定义了Terraform通过API调用配置资源的提供程序。main.tf定义了要配置的资源和资源的属性。下面是一些详细信息:

provider.tf:
  terraform {
    required_providers {
      aws = {
        source  = "hashicorp/aws"
        version = "~> 4.54.0"
      }
    }
  }
main.tf:
  resource "aws_instance" "ora_01" {
    ami                           = var.ami
    instance_type                 = var.instance_type
    subnet_id                     = var.subnet_id
    key_name                      = var.ssh_key_name
    root_block_device {
      volume_type                 = "gp3"
      volume_size                 = var.root_volume_size
    }
    tags = {
      Name                        = var.ec2_tag
    }
  }
  ....

Terraform variations.tf和terraform.tfvars配置

Details

variables.tf声明了要在main.tf中使用的变量。terraform.tfvars包含变量的实际值。下面是一些示例:

variables.tf:
  ### EC2 instance variables ###
variable "ami" {
  type        = string
  description = "EC2 AMI image to be deployed"
}
variable "instance_type" {
  type        = string
  description = "EC2 instance type"
}

terraform.tfvars:
# EC2 instance variables


ami = "ami-06640050dc3f556bb" //RedHat 8.6 AMI
instance_type = "t2.micro"
ec2_tag = "ora_01"
subnet_id = "subnet-04f5fe7073ff514fb"
ssh_key_name = "sufi_new"
root_volume_size = 30


逐步过程-按顺序执行

Details
  1. 在AWS云Shell中安装Terraform。

    git clone https://github.com/tfutils/tfenv.git ~/.tfenv
    mkdir ~/bin
    ln -s ~/.tfenv/bin/* ~/bin/
    tfenv install
    tfenv use 1.3.9
  2. 从NetApp GitHub公共站点下载该工具包

    git clone https://github.com/NetApp-Automation/na_aws_fsx_ec2_deploy.git
  3. 运行init以初始化terraform

    terraform init
  4. 输出执行计划

    terraform plan -out=main.plan
  5. 应用执行计划

    terraform apply "main.plan"
  6. 完成后、运行销毁以删除资源

    terraform destroy

从何处查找追加信息

要了解有关NetApp 解决方案 自动化的详细信息、请查看以下网站 "NetApp 解决方案自动化"