Skip to main content
NetApp Solutions
O português é fornecido por meio de tradução automática para sua conveniência. O inglês precede o português em caso de inconsistências.

Cluster do AWS FSX ONTAP e provisionamento de instâncias do EC2

Colaboradores

Equipe de Engenharia de soluções da NetApp

Esta solução fornece um kit de ferramentas de automação baseado em Terraform para provisionamento do cluster FSX ONTAP e instância de computação EC2.

Finalidade

Este kit automatiza as tarefas de provisionamento de um cluster de armazenamento do AWS FSX ONTAP e uma instância de computação do EC2, que pode ser usada posteriormente para implantação de banco de dados.

Esta solução aborda os seguintes casos de uso:

  • Provisione uma instância de computação EC2 na nuvem da AWS em uma sub-rede VPC predefinida e defina a chave ssh para o acesso à instância EC2 como usuário EC2.

  • Provisione um cluster de armazenamento do AWS FSX ONTAP nas zonas de disponibilidade desejadas e configure um SVM de armazenamento e defina a senha do usuário do administrador do cluster fsxadmin.

Público-alvo

Esta solução destina-se às seguintes pessoas:

  • Um DBA que gerencia bancos de dados no ambiente AWS EC2.

  • Um arquiteto de solução de banco de dados interessado na implantação de banco de dados no ecossistema do AWS EC2.

  • Um administrador de armazenamento que gerencia o armazenamento do AWS FSX ONTAP que suporta bancos de dados.

  • Proprietário de um aplicativo que gosta de colocar banco de dados em pé no ecossistema AWS EC2.

Licença

Ao acessar, baixar, instalar ou usar o conteúdo neste repositório do GitHub, você concorda com os termos da Licença estabelecidos no "Ficheiro de licença".

Observação Existem certas restrições em torno de produzir e/ou compartilhar qualquer trabalho derivado com o conteúdo neste repositório do GitHub. Por favor, certifique-se de ler os termos da Licença antes de usar o conteúdo. Se você não concordar com todos os termos, não acesse, baixe ou use o conteúdo deste repositório.

Implantação de solução

Pré-requisitos para implantação

Details

A implantação requer os seguintes pré-requisitos.

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

Baixe o kit de ferramentas

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

Conetividade e autenticação

Details

O kit de ferramentas deve ser executado a partir de um shell de nuvem da AWS. O AWS Cloud Shell é um shell baseado em navegador que facilita o gerenciamento, a exploração e a interação com seus recursos da AWS com segurança. O CloudShell é pré-autenticado com suas credenciais de console. Ferramentas comuns de desenvolvimento e operações são pré-instaladas, portanto, nenhuma instalação ou configuração local é necessária.

Configuração de arquivos do Terraform provider.tf e main.tf

Details

O provider.tf define o provedor que o Terraform está provisionando recursos por meio de chamadas de API. O main.tf define os recursos e atributos dos recursos que devem ser provisionados. A seguir estão alguns detalhes:

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

Configuração do Terraform variables.tf e Terraform.tfvars

Details

O variables.tf declara as variáveis a serem usadas no main.tf. O Terraform.tfvars contém os valores reais das variáveis. A seguir estão alguns exemplos:

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


Procedimentos passo a passo - executados em sequência

Details
  1. Instale o Terraform no AWS Cloud Shell.

    git clone https://github.com/tfutils/tfenv.git ~/.tfenv
    mkdir ~/bin
    ln -s ~/.tfenv/bin/* ~/bin/
    tfenv install
    tfenv use 1.3.9
  2. Baixe o kit de ferramentas do site público do NetApp GitHub

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

    terraform init
  4. Produza o plano de execução

    terraform plan -out=main.plan
  5. Aplique o plano de execução

    terraform apply "main.plan"
  6. Execute Destroy para remover os recursos quando terminar

    terraform destroy

Onde encontrar informações adicionais

Para saber mais sobre a automação da solução NetApp, consulte o seguinte site "Automação de soluções da NetApp"