GNU/Linux >> Belajar Linux >  >> Linux

Apa itu Terraform dan bagaimana cara menginstal dan menggunakannya di AWS EC2

Terraform adalah alat "Infrastruktur sebagai Kode (IaC)". Ini digunakan untuk membangun, mengelola, dan mengubah infrastruktur dengan cara yang aman dan dapat diulang cara.

Ini digunakan untuk mengelola lingkungan dengan bahasa konfigurasi yang disebut HashiCorp Configuration Language (HCL) untuk penerapan otomatis yang dapat dibaca manusia.

Terraform dapat digunakan untuk mengelola infrastruktur di beberapa cloud seperti AWS, GCP, dan lainnya. Terraform membuat file status yang merupakan sumber kebenaran untuk konfigurasi sumber daya. Ini berarti setiap kali sumber daya dibuat, file status ini diperbarui dengan status sumber daya yang dibuat.

Pada artikel ini kita akan melihat langkah-langkah untuk menginstal Terraform di Ubuntu dan menggunakannya untuk membuat VPC di AWS cloud.

Untuk mempelajari dan mengetahui lebih lanjut tentang Terraform klik di sini.

Prasyarat

  1. Akun AWS (Buat jika Anda belum memilikinya).
  2. Instans EC2 (Klik di sini untuk mempelajari cara membuat Instans EC2)
  3. Akses root ke server.
  4. 'access_key' &'secret_key' dari Pengguna AWS IAM. (Klik di sini untuk mempelajari cara membuat pengguna IAM dengan 'access_key' &'secret_key' di AWS, )

Apa yang akan kita lakukan

  1. Instal Terraform 
  2. Tulis file konfigurasi Terraform.
  3. Buat VPC menggunakan file konfigurasi Terraform
  4. Hapus VPC yang dibuat menggunakan Terraform

Instal Terraform

Menginstal Terraform cukup sederhana dan mudah. Anda dapat menemukan paket yang sesuai untuk sistem Anda dari sini.

Sebelum mengunduh file, mari kita instal paket 'wget' dan 'unzip' jika tidak tersedia di sistem menggunakan perintah berikut.

apt-get update -y
apt-get install wget unzip -y

Mari kita buat direktori khusus 'terraform' di bawah '/opt/' tempat kita dapat mengunduh paket

cd /opt/
mkdir terraform
cd terraform/

Unduh paket terraform menggunakan perintah 'wget' dan unzip.

wget https://releases.hashicorp.com/terraform/0.12.18/terraform_0.12.18_linux_amd64.zip
unzip terraform_0.12.18_linux_amd64.zip
ls -lt

Setelah Anda membuka zip paket yang Anda unduh, Anda akan melihat 'terraform' biner. Pindahkan biner ini ke /usr/local/bin/.

Anda dapat memverifikasi apakah penginstalan berhasil atau tidak menggunakan perintah terraform tetapi memeriksa versinya.

mv terraform /usr/local/bin/
terraform -v

Tulis file konfigurasi Terraform

Buat direktori khusus tempat Anda dapat membuat file konfigurasi terraform

mkdir terraform
cd terraform/

Gunakan editor pilihan Anda dan salin-tempel konfigurasi berikut untuk membuat variabel.tf, terraform.tfvars, dan  main.tf

Buat 'main.tf' yang bertanggung jawab untuk membuat VPC  di AWS. Konfigurasi berikut akan membuat VPC, gateway internet, tabel rute, zona ketersediaan, dan grup keamanan. Main.tf ini akan membaca nilai variabel dari variables.tf dan terraform.tfvars.

vim main.tf

provider "aws" {
      region     = "${var.region}"
      access_key = "${var.access_key}"
      secret_key = "${var.secret_key}"
}
resource "aws_vpc" "vpc" {
     cidr_block = "10.0.0.0/16"
}
resource "aws_internet_gateway" "gateway" {
     vpc_id = "${aws_vpc.vpc.id}"
}
resource "aws_route" "route" {
     route_table_id         = "${aws_vpc.vpc.main_route_table_id}"
     destination_cidr_block = "0.0.0.0/0"
     gateway_id             = "${aws_internet_gateway.gateway.id}"
}
data "aws_availability_zones" "available" {}
resource "aws_subnet" "main" {
    count                   = "${length(data.aws_availability_zones.available.names)}"
    vpc_id                  = "${aws_vpc.vpc.id}"
    cidr_block              = "10.0.${count.index}.0/24"
    map_public_ip_on_launch = true
    availability_zone       = "${element(data.aws_availability_zones.available.names, count.index)}"
}
resource "aws_security_group" "default" {
     name        = "http-https-allow"
     description = "Allow incoming HTTP and HTTPS and Connections"
     vpc_id      = "${aws_vpc.vpc.id}"
     ingress {
         from_port = 80
         to_port = 80
         protocol = "tcp"
         cidr_blocks = ["0.0.0.0/0"]
    }
     ingress {
         from_port = 443
         to_port = 443
         protocol = "tcp"
         cidr_blocks = ["0.0.0.0/0"]
    }
}

Buat 'variables.tf' yang berisi deklarasi variabel.

variabel vim.tf

variable "access_key" {
     description = "Access key to AWS console"
}
variable "secret_key" {
     description = "Secret key to AWS console"
}
variable "region" {
     description = "Region of AWS VPC"
}

Buat 'terraform.tfvars' yang berisi definisi variabel yang didefinisikan dalam file di atas.

vim terraform.tfvars

region = "eu-west-3"
access_key = "AKIAQ6GAIA5XDX32PVJ6"
secret_key = "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"

Sekarang, Anda seharusnya memiliki 3 file, yaitu, variables.tf, terraform.tfvars dan  main.tf

Buat VPC menggunakan file konfigurasi Terraform

Perintah pertama yang digunakan adalah 'terraform init'. Perintah ini mendownload dan menginstal plugin untuk penyedia yang digunakan dalam konfigurasi. Dalam kasus kami ini adalah aws.

  terraform init

Perintah kedua yang digunakan adalah 'terraform plan'. Perintah ini digunakan untuk melihat perubahan yang akan terjadi pada infrastruktur.

rencana terraform

Perintah 'terraform apply' akan membuat sumber daya pada aws yang disebutkan dalam file main.tf. Anda akan diminta untuk memberikan masukan untuk membuat sumber daya.

terraform berlaku

Anda dapat membuka konsol VPC AWS untuk memverifikasi apakah VPC telah dibuat.

Hapus VPC yang dibuat menggunakan Terraform

Jika Anda mengetahui lebih banyak sumber daya yang diperlukan yang Anda buat menggunakan konfigurasi yang disebutkan dalam file main.tf, Anda dapat menggunakan perintah "terraform destroy" untuk menghapus semua sumber daya tersebut.

penghancuran terraform

Kesimpulan

Pada artikel ini kita melihat langkah-langkah untuk menginstal Terraform. Kami juga melihat konfigurasi yang diperlukan untuk membuat VPC bersama dengan beberapa resource terkait lainnya. Sekarang kita juga akrab dengan deklarasi dan definisi variabel.


Linux
  1. Apa itu Perintah Chown di Linux dan Cara Menggunakannya

  2. Cara Menginstal Dan Menggunakan Flatpak Di Linux

  3. Apa itu Build-Essential-Ubuntu, bagaimana cara menginstal dan menggunakannya?

  1. Apa itu chroot jail dan Bagaimana Cara Menggunakannya?

  2. Apa itu Perintah cURL Dan Bagaimana Cara Menggunakannya?

  3. Cara Menginstal dan Menggunakan Traceroute di Linux

  1. Cara menginstal dan menggunakan telnet di Kali Linux

  2. Cara Menginstal dan Menggunakan Terraform di CentOS 8

  3. Cara Meluncurkan Instans AWS EC2 Menggunakan Terraform