GNU/Linux >> Znalost Linux >  >> Linux

Vytvořte S3 Bucket na AWS pomocí Terraform

V tomto článku vám ukážu, jak použít Terraform k vytvoření kbelíku S3 na AWS. Než budete pokračovat, předpokládám, že jste obeznámeni s bucketem S3, pokud ne, můžete kliknutím sem zobrazit kroky k vytvoření bucketu S3 z konzoly AWS.

Předpoklady

  1. Základní porozumění Terraformu.
  2. Terraform nainstalovaný ve vašem systému.
  3. Účet AWS (vytvořte si jej, pokud jej nemáte).
  4. 'access_key' &'secret_key' uživatele AWS IAM. (Kliknutím sem se dozvíte, jak vytvořit uživatele IAM pomocí 'access_key' a 'secret_key' na AWS, )

Co uděláme

  1. Zapište konfigurační soubory Terraform pro S3 Bucket.
  2. Vytvořte S3 Bucket pomocí konfiguračních souborů Terraform.
  3. Smažte vytvořený S3 Bucket pomocí Terraform.

Zápis konfiguračních souborů Terraform pro S3 Bucket

Vytvořte vyhrazený adresář, kde můžete vytvářet konfigurační soubory terraform.

Pomocí následujícího příkazu vytvořte adresář a změňte na něj svůj současný pracovní adresář.

mkdir terraform
cd terraform/

Používám "vim" jako editor k zápisu do souborů, můžete použít editor dle svého výběru a zkopírovat a vložit následující konfigurace pro vytvoření variables.tf, terraform.tfvars a  main.tf

Vytvořte 'main.tf', který je zodpovědný za vytvoření S3 Bucket  na AWS. Tento main.tf bude číst hodnoty proměnných z variables.tf a terraform.tfvars.

vim main.tf
provider "aws" {
      region     = "${var.region}"
      access_key = "${var.access_key}"
      secret_key = "${var.secret_key}"
}

resource "aws_s3_bucket" "this" {
  bucket                               = "${var.bucket_name}"
  force_destroy                        = "${var.force_destroy}"
  region                               = "${var.region}"
  tags                                 = "${merge(var.tags, map("Name", format("%s", var.bucket_name)))}"
}

Here,

  • bucket:  Název kbelíku. Pokud je vynechán, Terraform přiřadí náhodné, jedinečné jméno.
  • force_destroy: Logická hodnota, která označuje všechny objekty, by měly být z bloku odstraněny, aby mohl být sektor zničen bez chyby.
  • region : Oblast AWS, ve které by se měl tento segment nacházet.
  • tags: Mapa značek k přiřazení k bucketu.

Změňte hodnotu „region“, pokud chcete segment vytvořit v jiné oblasti, než kterou jsem určil.

Vytvořte 'variables.tf', který obsahuje deklaraci a definici proměnných.

vim variables.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"
}

variable "bucket_name" {
  description = "(Required) Creates a unique bucket name"
  type        = "string"
  default     = "test-bucket-rahul-delete"
}

variable "force_destroy" {
  description = "(Optional) A boolean that indicates all objects should be deleted from the bucket so that the bucket can be destroyed without error"
  type        = "string"
  default     = true
}

variable "tags" {
  description = "(Optional) A mapping of tags to assign to the bucket"
  type        = "map"
  default     = {"env": "test"}
}

Jakmile vytvoříte 'variables.tf', nezapomeňte změnit hodnoty přiřazené proměnné. Zvýrazněné hodnoty musíte změnit, protože jsou specifické pro mé prostředí. Zbývající proměnné můžete ponechat tak, jak jsou.

Vytvořte 'terraform.tfvars', která obsahuje definici proměnných access_key a secret_key definovaných ve výše uvedeném souboru spolu s proměnnou "region".

Následující klíče je třeba změnit pomocí klíčů vašeho uživatele IAM.

vim terraform.tfvars
region = "eu-west-3"
access_key = "AKIAQ6GAIA5XFLXF6HOV"
secret_key = "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"

Nyní byste měli mít 3 soubory, viz, variables.tf, terraform.tfvars a  main.tf

Vytvořte S3 Bucket pomocí konfiguračních souborů Terraform

Před provedením následujících příkazů se ujistěte, že jste nakonfigurovali platný přístupový_klíč a tajný_klíč.

První příkaz, který se má použít, je 'terraform init'. Tento příkaz stáhne a nainstaluje pluginy pro poskytovatele používané v rámci konfigurace. V našem případě je to AWS.

 terraform init

Druhý příkaz, který se má použít, je 'terraform plan'. Tento příkaz se používá k zobrazení změn, ke kterým dojde v infrastruktuře.

 terraform plan

Příkaz 'terraform apply' vytvoří prostředky na AWS uvedené v souboru main.tf. Budete vyzváni, abyste poskytli svůj vstup pro vytvoření zdrojů.

terraform apply

Po provedení výše uvedeného příkazu po úspěšném dokončení uvidíte, že 1 nový zdroj byl přidán a 0 byl zničen.

Můžete přejít do konzole AWS S3 a ověřit, zda je S3 Bucket vytvořen či nikoli.

Odstranit S3 Bucket pomocí Terraform

Pokud již nepotřebujete prostředek, který jste vytvořili pomocí konfigurace uvedené v souboru main.tf, můžete všechny tyto prostředky smazat pomocí příkazu "terraform zničit". Zde bude segment S3 smazán po provedení následujícího příkazu.

terraform destroy

Na výše uvedeném snímku obrazovky můžete vidět, že zdroj byl zničen.

Závěr

V tomto článku jsme viděli kroky k vytvoření S3 Bucket pomocí Terraform. Také jsme viděli, jak lze Bucket, který jsme vytvořili, odstranit jediným příkazem.


Linux
  1. Vytvořte virtuální privátní cloud (VPC) na AWS pomocí Terraform

  2. Vytvořte instanci EC2 na AWS pomocí Terraform

  3. Jak vytvořit uživatele Linuxu pomocí Ansible

  1. Jak spustit instanci AWS EC2 pomocí Terraform

  2. Jak vytvořit instanci RDS na AWS pomocí Terraform

  3. Jak vytvořit roli IAM v AWS pomocí Terraform

  1. Jak vytvořit modul Terraform

  2. Spravujte témata AWS SNS pomocí aws-cli

  3. Spravujte AWS VPC pomocí aws-cli