Acest curs explorează utilizarea Terraform pentru gestionarea infrastructurii în AWS.
Terraform este un instrument Infrastructure as Code (IaC) care permite crearea, gestionarea și versionarea infrastructurii folosind fișiere de configurare.
Terraform poate fi instalat pe Windows, macOS și Linux. Pe Linux și macOS, instalarea se face cu:
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
sudo apt update && sudo apt install terraform
Terraform necesită configurarea credențialelor AWS pentru a putea interacționa cu infrastructura.
aws configure
Fișierul `~/.aws/credentials` va conține cheile de acces AWS:
[default]
aws_access_key_id=YOUR_ACCESS_KEY
aws_secret_access_key=YOUR_SECRET_KEY
Exemplu de fișier `main.tf` pentru crearea unei instanțe EC2:
provider "aws" {
region = "us-east-1"
}
resource "aws_instance" "web" {
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t2.micro"
tags = {
Name = "Terraform-EC2"
}
}
Comenzi Terraform pentru aplicarea configurației:
# Inițializarea Terraform
terraform init
# Crearea planului infrastructurii
terraform plan
# Aplicarea configurației
terraform apply -auto-approve
Terraform poate configura reguli de firewall folosind `aws_security_group`.
resource "aws_security_group" "web_sg" {
name_prefix = "web-sg-"
ingress {
from_port = 80
to_port = 80
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
}
Terraform poate gestiona baze de date AWS RDS.
resource "aws_db_instance" "mydb" {
allocated_storage = 20
engine = "mysql"
instance_class = "db.t2.micro"
username = "admin"
password = "password123"
}
Terraform permite eliminarea tuturor resurselor cu o singură comandă:
terraform destroy -auto-approve