Skip to main content
NetApp Solutions
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

AWS FSx ONTAP 클러스터와 EC2 인스턴스 프로비저닝

기여자

NetApp 솔루션 엔지니어링 팀

이 솔루션은 FSx ONTAP 클러스터 및 EC2 컴퓨팅 인스턴스의 프로비저닝을 위한 Terraform 기반 자동화 툴킷을 제공합니다.

목적

이 툴킷은 다음에 데이터베이스 구축에 사용할 수 있는 AWS FSx ONTAP 스토리지 클러스터와 EC2 컴퓨팅 인스턴스의 프로비저닝 작업을 자동화합니다.

이 솔루션은 다음과 같은 사용 사례를 해결합니다.

  • 사전 정의된 VPC 서브넷에서 AWS 클라우드에서 EC2 컴퓨팅 인스턴스를 프로비저닝하고 EC2 인스턴스 액세스용 ssh 키를 EC2-user로 설정합니다.

  • 원하는 가용성 영역에서 AWS FSx ONTAP 스토리지 클러스터를 프로비저닝하고 스토리지 SVM을 구성하고 클러스터 관리자 사용자 fsxadmin 암호를 설정합니다.

대상

이 솔루션은 다음과 같은 사용자를 대상으로 합니다.

  • AWS EC2 환경에서 데이터베이스를 관리하는 DBA

  • AWS EC2 에코시스템의 데이터베이스 구축에 관심이 있는 데이터베이스 솔루션 설계자

  • 데이터베이스를 지원하는 AWS FSx ONTAP 스토리지를 관리하는 스토리지 관리자

  • AWS EC2 에코시스템에 데이터베이스를 스탠드업하려는 애플리케이션 소유자.

라이센스

이 GitHub 리포지토리의 콘텐츠를 액세스, 다운로드, 설치 또는 사용하면 에 설명된 사용권 조항에 동의하는 것입니다 "라이센스 파일".

참고 이 GitHub 저장소의 컨텐츠와 파생 저작물을 제작 및/또는 공유하는 데는 일정한 제한이 있습니다. 콘텐츠를 사용하기 전에 라이센스 약관을 읽었는지 확인하십시오. 모든 약관에 동의하지 않는 경우 이 리포지토리에 있는 콘텐츠에 액세스하거나 다운로드하거나 사용하지 마십시오.

솔루션 구축

배포를 위한 사전 요구 사항

Details

배포에는 다음과 같은 사전 요구 사항이 필요합니다.

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

툴킷을 다운로드합니다

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

연결 및 인증

Details

이 툴킷은 AWS 클라우드 쉘에서 실행되어야 합니다. AWS 클라우드 쉘은 AWS 리소스를 손쉽게 관리, 탐색, 상호 작용할 수 있는 브라우저 기반 쉘입니다. CloudShell은 콘솔 자격 증명으로 사전 인증됩니다. 공통 개발 및 운영 도구가 사전 설치되어 있으므로 로컬 설치 또는 구성이 필요하지 않습니다.

Terraform 공급자 .tf 및 기본 .tf 파일 구성

Details

provider.tf는 Terraform이 API 호출을 통해 리소스를 프로비저닝하는 공급자를 정의합니다. main.tf는 프로비저닝할 리소스의 리소스와 속성을 정의합니다. 몇 가지 세부 정보는 다음과 같습니다.

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 변수 .tf 및 Terraform.tfvars 구성

Details

variables.tf 는 main.tf 에서 사용할 변수를 선언합니다. Terraform.tfvars에는 변수의 실제 값이 들어 있습니다. 다음은 몇 가지 예입니다.

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


단계별 절차 - 순서대로 실행

Details
  1. AWS 클라우드 쉘에 Terraform을 설치합니다.

    git clone https://github.com/tfutils/tfenv.git ~/.tfenv
    mkdir ~/bin
    ln -s ~/.tfenv/bin/* ~/bin/
    tfenv install
    tfenv use 1.3.9
  2. NetApp GitHub 공개 사이트에서 툴킷을 다운로드합니다

    git clone https://github.com/NetApp-Automation/na_aws_fsx_ec2_deploy.git
  3. init를 실행하여 Terraform을 초기화합니다

    terraform init
  4. 실행계획을 출력한다

    terraform plan -out=main.plan
  5. 실행 계획을 적용합니다

    terraform apply "main.plan"
  6. 완료 시 리소스를 제거하려면 destroy를 실행합니다

    terraform destroy

추가 정보를 찾을 수 있는 위치

NetApp 솔루션 자동화에 대한 자세한 내용은 다음 웹 사이트를 참조하십시오 "NetApp 솔루션 자동화"