Skip to main content
NetApp database solutions
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

Bereitstellung von AWS FSx ONTAP Clustern und EC2-Instanzen

Beitragende kevin-hoke

NetApp Solutions Engineering Team

Diese Lösung bietet ein auf Terraform basierendes Automatisierungs-Toolkit für die Bereitstellung von FSx ONTAP Clustern und EC2-Recheninstanzen.

Zweck

Dieses Toolkit automatisiert die Aufgaben der Bereitstellung eines AWS FSx ONTAP Speicherclusters und einer EC2-Recheninstanz, die anschließend für die Datenbankbereitstellung verwendet werden können.

Diese Lösung ist für die folgenden Anwendungsfälle geeignet:

  • Stellen Sie eine EC2-Compute-Instanz in der AWS-Cloud in einem vordefinierten VPC-Subnetz bereit und legen Sie den SSH-Schlüssel für den EC2-Instanzzugriff als EC2-Benutzer fest.

  • Stellen Sie einen AWS FSx ONTAP Speichercluster in den gewünschten Verfügbarkeitszonen bereit, konfigurieren Sie eine Speicher-SVM und legen Sie das Kennwort des Clusteradministratorbenutzers fsxadmin fest.

Publikum

Diese Lösung ist für folgende Personen gedacht:

  • Ein DBA, der Datenbanken in der AWS EC2-Umgebung verwaltet.

  • Ein Datenbanklösungsarchitekt, der an der Datenbankbereitstellung im AWS EC2-Ökosystem interessiert ist.

  • Ein Speicheradministrator, der AWS FSx ONTAP Speicher verwaltet, der Datenbanken unterstützt.

  • Ein Anwendungsbesitzer, der eine Datenbank im AWS EC2-Ökosystem einrichten möchte.

Lizenz

Indem Sie auf den Inhalt dieses GitHub-Repositorys zugreifen, ihn herunterladen, installieren oder verwenden, stimmen Sie den Bedingungen der Lizenz zu, die in"Lizenzdatei" .

Hinweis Es gelten bestimmte Einschränkungen hinsichtlich der Erstellung und/oder Weitergabe abgeleiteter Werke mit den Inhalten in diesem GitHub-Repository. Bitte lesen Sie die Lizenzbedingungen, bevor Sie den Inhalt verwenden. Wenn Sie nicht allen Bedingungen zustimmen, dürfen Sie nicht auf die Inhalte in diesem Repository zugreifen, sie nicht herunterladen oder verwenden.

Lösungsbereitstellung

Voraussetzungen für die Bereitstellung

Details

Für die Bereitstellung sind die folgenden Voraussetzungen erforderlich.

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

Laden Sie das Toolkit herunter

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

Konnektivität und Authentifizierung

Details

Das Toolkit soll von einer AWS-Cloud-Shell ausgeführt werden. AWS Cloud Shell ist eine browserbasierte Shell, die die sichere Verwaltung, Erkundung und Interaktion mit Ihren AWS-Ressourcen erleichtert. CloudShell ist mit Ihren Konsolenanmeldeinformationen vorauthentifiziert. Gängige Entwicklungs- und Betriebstools sind vorinstalliert, sodass keine lokale Installation oder Konfiguration erforderlich ist.

Konfiguration der Terraform-Dateien provider.tf und main.tf

Details

Die Datei provider.tf definiert den Anbieter, von dem Terraform Ressourcen über API-Aufrufe bereitstellt. Die Datei main.tf definiert die Ressourcen und Attribute der Ressourcen, die bereitgestellt werden sollen. Nachfolgend einige Details:

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 variables.tf und terraform.tfvars-Konfiguration

Details

Die Datei variables.tf deklariert die in main.tf zu verwendenden Variablen. Die Datei terraform.tfvars enthält die tatsächlichen Werte für die Variablen. Nachfolgend einige Beispiele:

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


Schritt-für-Schritt-Verfahren – nacheinander ausgeführt

Details
  1. Installieren Sie Terraform in der 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. Laden Sie das Toolkit von der öffentlichen NetApp GitHub-Site herunter

    git clone https://github.com/NetApp-Automation/na_aws_fsx_ec2_deploy.git
  3. Führen Sie init aus, um Terraform zu initialisieren

    terraform init
  4. Geben Sie den Ausführungsplan aus

    terraform plan -out=main.plan
  5. Anwenden des Ausführungsplans

    terraform apply "main.plan"
  6. Führen Sie „destroy“ aus, um die Ressourcen nach Abschluss zu entfernen.

    terraform destroy

Wo Sie weitere Informationen finden

Weitere Informationen zur Automatisierung der NetApp -Lösung finden Sie auf der folgenden Website"Automatisierung der NetApp -Lösung"