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

Cluster AWS FSx ONTAP e provisioning di istanze EC2

Collaboratori kevin-hoke

Team di ingegneria delle soluzioni NetApp

Questa soluzione fornisce un toolkit di automazione basato su Terraform per il provisioning del cluster FSx ONTAP e dell'istanza di elaborazione EC2.

Scopo

Questo toolkit automatizza le attività di provisioning di un cluster di storage AWS FSx ONTAP e di un'istanza di elaborazione EC2, che possono essere successivamente utilizzate per la distribuzione del database.

Questa soluzione affronta i seguenti casi d'uso:

  • Fornire un'istanza di elaborazione EC2 nel cloud AWS in una subnet VPC predefinita e impostare la chiave SSH per l'accesso all'istanza EC2 come ec2-user.

  • Fornire un cluster di storage AWS FSx ONTAP nelle zone di disponibilità desiderate, configurare una SVM di storage e impostare la password fsxadmin dell'utente amministratore del cluster.

Pubblico

Questa soluzione è destinata alle seguenti persone:

  • Un DBA che gestisce database nell'ambiente AWS EC2.

  • Un architetto di soluzioni di database interessato alla distribuzione di database nell'ecosistema AWS EC2.

  • Un amministratore di storage che gestisce lo storage AWS FSx ONTAP che supporta i database.

  • Un proprietario di applicazioni a cui piace creare database nell'ecosistema AWS EC2.

Licenza

Accedendo, scaricando, installando o utilizzando il contenuto di questo repository GitHub, accetti i termini della licenza stabiliti in"File di licenza" .

Nota Esistono alcune restrizioni relative alla produzione e/o alla condivisione di lavori derivati dai contenuti di questo repository GitHub. Prima di utilizzare il contenuto, assicurati di leggere i termini della licenza. Se non accetti tutti i termini, non accedere, scaricare o utilizzare i contenuti di questo repository.

Distribuzione della soluzione

Prerequisiti per la distribuzione

Details

Per la distribuzione sono richiesti 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

Scarica il toolkit

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

Connettività e autenticazione

Details

Il toolkit dovrebbe essere eseguito da una shell cloud AWS. AWS Cloud Shell è una shell basata su browser che semplifica la gestione, l'esplorazione e l'interazione in modo sicuro con le risorse AWS. CloudShell è pre-autenticato con le credenziali della console. Sono preinstallati strumenti comuni di sviluppo e operativi, quindi non è richiesta alcuna installazione o configurazione locale.

Configurazione dei file Terraform provider.tf e main.tf

Details

Il file provider.tf definisce il provider da cui Terraform esegue il provisioning delle risorse tramite chiamate API. Il file main.tf definisce le risorse e gli attributi delle risorse da fornire. Di seguito 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 di Terraform variables.tf e terraform.tfvars

Details

Il file variables.tf dichiara le variabili da utilizzare in main.tf. Il file terraform.tfvars contiene i valori effettivi delle variabili. Di seguito 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 in 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. Scarica il toolkit dal sito pubblico NetApp GitHub

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

    terraform init
  4. Emettere il piano di esecuzione

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

    terraform apply "main.plan"
  6. Esegui destroy per rimuovere le risorse al termine

    terraform destroy

Dove trovare ulteriori informazioni

Per saperne di più sull'automazione della soluzione NetApp , consultare il seguente sito Web"Automazione delle soluzioni NetApp "