Skip to main content
NetApp 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

NetApp Solutions Engineering Team

Diese Lösung bietet ein Terraform-basiertes Automatisierungs-Toolkit für die Bereitstellung von FSX ONTAP-Clustern und EC2 Computing-Instanzen.

Zweck

Dieses Toolkit automatisiert die Aufgaben der Bereitstellung eines AWS FSX ONTAP Storage-Clusters und einer EC2 Computing-Instanz, die anschließend für die Datenbankimplementierung verwendet werden können.

Diese Lösung eignet sich für folgende Anwendungsfälle:

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

  • Stellen Sie ein AWS FSX ONTAP Storage-Cluster in gewünschten Verfügbarkeitszonen bereit, konfigurieren Sie eine Storage-SVM und legen Sie das Cluster-Admin-Benutzerpasswort fsxadmin fest.

Zielgruppe

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

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

  • Ein Database Solution Architect, der an einer Datenbankimplementierung im AWS EC2 Ecosystem interessiert ist.

  • Ein Storage-Administrator, der für das Management von AWS FSX ONTAP Storage, der Datenbanken unterstützt, zuständig ist

  • Ein Applikationseigentümer, der eine Datenbank in AWS EC2 Ecosystem aufbauen möchte.

Lizenz

Durch den Zugriff auf, das Herunterladen, die Installation oder die Verwendung der Inhalte in diesem GitHub-Repository stimmen Sie den Bedingungen der in dargelegten Lizenz zu "Lizenzdatei".

Hinweis Es gibt bestimmte Beschränkungen bezüglich der Erstellung und/oder Freigabe von abgeleiteten Arbeiten mit dem Inhalt 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 den Inhalt dieses Repositorys zugreifen, ihn herunterladen oder verwenden.

Lösungsimplementierung

Voraussetzungen für die Bereitstellung

Details

Die Bereitstellung erfordert die folgenden Voraussetzungen.

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

Toolkit herunterladen

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 es Ihnen leicht macht, Ihre AWS-Ressourcen sicher zu managen, zu erkunden und mit ihnen zu interagieren. CloudShell ist mit Ihren Konsolenanmeldeinformationen vorauthentifiziert. Allgemeine Entwicklungs- und Betriebstools sind vorinstalliert, sodass keine lokale Installation oder Konfiguration erforderlich ist.

Konfiguration der Dateien Terraform Provider.tf und main.tf

Details

Der Provider.tf definiert den Provider, von dem Terraform Ressourcen über API-Aufrufe bereitstellt. Die main.tf definiert die Ressourcen und Attribute der Ressourcen, die bereitgestellt werden sollen. Im Folgenden finden Sie 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 Variablen.tf deklariert die Variablen, die in main.tf verwendet werden sollen. Die terraform.tfvars enthält die tatsächlichen Werte für die Variablen. Im Folgenden 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. Terraform in der AWS-Cloud-Shell installieren.

    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 Website 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. Testsuite ausgeben

    terraform plan -out=main.plan
  5. Anwenden der Testsuite

    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 von NetApp Lösungen finden Sie auf der folgenden Website "Automatisierung der NetApp Lösung"