Skip to main content
NetApp Solutions
Se proporciona el idioma español mediante traducción automática para su comodidad. En caso de alguna inconsistencia, el inglés precede al español.

Clúster de AWS FSx ONTAP y aprovisionamiento de instancias de EC2

Colaboradores

Equipo de ingeniería de soluciones de NetApp

Esta solución proporciona un kit de herramientas de automatización basado en Terraform para el aprovisionamiento del clúster de FSx ONTAP y una instancia de computación de EC2.

Específico

Este kit de herramientas automatiza las tareas de aprovisionamiento de un clúster de almacenamiento de AWS FSx ONTAP y una instancia de computación de EC2, que posteriormente se puede utilizar para la puesta en marcha de bases de datos.

Esta solución aborda los siguientes casos prácticos:

  • Aprovisione una instancia de computación de EC2 en la nube de AWS en una subred de VPC predefinida y establezca la clave ssh para el acceso de instancia de EC2 como usuario EC2.

  • Aprovisiona un clúster de almacenamiento de AWS FSx ONTAP en las zonas de disponibilidad deseadas y configura una SVM de almacenamiento y establece la contraseña fsxadmin del usuario administrador del clúster.

Destinatarios

Esta solución está dirigida a las siguientes personas:

  • Un administrador de bases de datos que gestiona bases de datos en un entorno AWS EC2.

  • Un arquitecto de la solución de bases de datos interesado en la puesta en marcha de bases de datos en el ecosistema AWS EC2.

  • Un administrador de almacenamiento que gestiona el almacenamiento de AWS FSx ONTAP compatible con bases de datos.

  • Propietario de aplicaciones al que le gusta mantener su base de datos en el ecosistema EC2 de AWS.

Licencia

Al acceder, descargar, instalar o utilizar el contenido de este repositorio de GitHub, usted acepta los términos de la Licencia establecidos en "Archivo de licencia".

Nota Hay ciertas restricciones en cuanto a la producción y/o el intercambio de cualquier obra derivada con el contenido de este repositorio de GitHub. Asegúrese de leer los términos de la licencia antes de utilizar el contenido. Si NO ACEPTA TODOS LOS TÉRMINOS, NO ACCEDA, DESCARGA NI UTILICE EL CONTENIDO DE ESTE REPOSITORIO.

Puesta en marcha de la solución

Requisitos previos para la implementación

Details

La implementación requiere los siguientes requisitos previos.

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

Descargue el kit de herramientas

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

Conectividad y autenticación

Details

Se supone que el kit de herramientas se ejecuta desde una shell de cloud de AWS. AWS Cloud Shell es un shell basado en navegador que facilita la administración, exploración e interacción segura con sus recursos de AWS. CloudShell se autentica previamente con sus credenciales de consola. Las herramientas comunes de desarrollo y operaciones están preinstaladas, por lo que no se requiere instalación o configuración local.

Configuración de archivos Terraform provider.tf y main.tf

Details

El proveedor.tf define el proveedor que Terraform está aprovisionando recursos a través de llamadas API. El main.tf define los recursos y atributos de los recursos que se van a aprovisionar. A continuación se presentan algunos detalles:

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
    }
  }
  ....

Configuración de Terraform Variables.tf y terraform.tfvars

Details

El archivo Variables.tf declara las variables que se van a utilizar en main.tf. El terraform.tfvars contiene los valores reales para las variables. A continuación se muestran algunos ejemplos:

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


Procedimientos paso a paso: Ejecutados en secuencia

Details
  1. Instale Terraform en el shell de cloud de AWS.

    git clone https://github.com/tfutils/tfenv.git ~/.tfenv
    mkdir ~/bin
    ln -s ~/.tfenv/bin/* ~/bin/
    tfenv install
    tfenv use 1.3.9
  2. Descargue el kit de herramientas del sitio público de GitHub de NetApp

    git clone https://github.com/NetApp-Automation/na_aws_fsx_ec2_deploy.git
  3. Ejecute init para inicializar Terraform

    terraform init
  4. Genere la salida del plan de ejecución

    terraform plan -out=main.plan
  5. Aplique el plan de ejecución

    terraform apply "main.plan"
  6. Ejecute destroy para eliminar los recursos cuando haya terminado

    terraform destroy

Dónde encontrar información adicional

Para obtener más información sobre la automatización de soluciones de NetApp, revise el siguiente sitio web "Automatización de soluciones de NetApp"