Skip to main content
NetApp Solutions
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Cluster ONTAP AWS FSX e provisioning di istanze EC2

Collaboratori

Team di progettazione delle soluzioni NetApp

Questa soluzione offre un toolkit di automazione basato su Terraform per il provisioning del cluster FSX ONTAP e dell'istanza di calcolo EC2.

Scopo

Questo toolkit automatizza le attività di provisioning di un cluster di storage AWS FSX ONTAP e di un'istanza di calcolo EC2, che può essere successivamente utilizzata per l'implementazione del database.

Questa soluzione risolve i seguenti casi di utilizzo:

  • Esegui il provisioning di un'istanza di calcolo EC2 nel cloud AWS in una subnet VPC predefinita e imposta la chiave ssh per l'accesso a EC2 istanza come EC2 utente.

  • Esegui il provisioning di un cluster di storage AWS FSX ONTAP nelle zone di disponibilità desiderate e configura una SVM di storage e imposta la password fsxadmin dell'utente del cluster.

Pubblico

Questa soluzione è destinata alle seguenti persone:

  • Un DBA che gestisce i database in un ambiente AWS EC2.

  • Un Solution Architect per database interessato all'implementazione dei database nell'ecosistema AWS EC2.

  • Un amministratore dello storage che gestisce uno storage AWS FSX ONTAP che supporta i database.

  • Un proprietario delle applicazioni che ama gestire il database nell'ecosistema AWS EC2.

Licenza

Accedendo, scaricando, installando o utilizzando il contenuto di questo repository GitHub, l'utente accetta i termini della licenza riportata in "File di licenza".

Nota Ci sono alcune restrizioni riguardo alla produzione e/o alla condivisione di qualsiasi opera derivata con il contenuto di questo repository GitHub. Prima di utilizzare il contenuto, leggere i termini della licenza. Se non si accettano tutti i termini, non accedere, scaricare o utilizzare il contenuto di questo repository.

Implementazione della soluzione

Prerequisiti per l'implementazione

Details

L'implementazione richiede i seguenti prerequisiti.

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

Scaricare il toolkit

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

Connettività e autenticazione

Details

Il toolkit deve essere eseguito da una shell del cloud AWS. La shell cloud di AWS è una shell basata sul browser che facilita la gestione, l'esplorazione e l'interazione in sicurezza con le tue risorse AWS. CloudShell è pre-autenticato con le credenziali della console dell'utente. Gli strumenti operativi e di sviluppo più comuni sono preinstallati, pertanto non è necessaria alcuna installazione o configurazione locale.

Configurazione dei file terraform provider.tf e main.tf

Details

Il provider.tf definisce il provider dal quale Terraform effettua il provisioning delle risorse tramite chiamate API. Il file main.tf definisce le risorse e gli attributi delle risorse da sottoporre a provisioning. Di seguito sono riportati alcuni dettagli:

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

Configurazione delle variabili di terraform.tf e terraform.tfvars

Details

Variables.tf dichiara le variabili da utilizzare in main.tf. Il file terraform.tfvars contiene i valori effettivi per le variabili. Di seguito sono riportati alcuni esempi:

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


Procedure passo passo - eseguite in sequenza

Details
  1. Installa Terraform nella shell del cloud 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. Scarica il toolkit dal sito pubblico di NetApp GitHub

    git clone https://github.com/NetApp-Automation/na_aws_fsx_ec2_deploy.git
  3. Eseguire init per inizializzare la terraform

    terraform init
  4. Generare il piano di esecuzione

    terraform plan -out=main.plan
  5. Applicare il piano di esecuzione

    terraform apply "main.plan"
  6. Eseguire Destroy per rimuovere le risorse al termine dell'operazione

    terraform destroy

Dove trovare ulteriori informazioni

Per ulteriori informazioni sull'automazione delle soluzioni NetApp, consulta il seguente sito Web "Automazione delle soluzioni NetApp"