Skip to main content
📝 Cloud & DevOps (AWS)

Een AWS EC2-server instellen met Terraform op Mac [Stapsgewijze handleiding]

Een AWS EC2-server instellen met Terraform op Mac [Stapsgewijze handleiding] Inleiding: De slimmere manier om AWS-servers te starten vanuit Mac Als u...

7 min

Leestijd

1,292

Woorden

Apr 02, 2025

Gepubliceerd

Engr Mejba Ahmed

Geschreven door

Engr Mejba Ahmed

Artikel delen

Een AWS EC2-server instellen met Terraform op Mac [Stapsgewijze handleiding]

Een AWS EC2-server instellen met Terraform op Mac [Stapsgewijze handleiding]


Inleiding: De slimmere manier om AWS-servers te starten vanuit Mac

Als u al eens handmatig een EC2-instantie via de AWS-console heeft aangemaakt, weet u hoe gemakkelijk het is om fouten te maken — verkeerde regio selecteren, beveiligingsgroepen vergeten, of de SSH-sleutelinstelling missen.

Stel u nu voor dat u uw volledige cloudinfrastructuur automatisch start met slechts één opdracht. Dat is precies waar Terraform voor dient.

Terraform is een krachtig Infrastructure as Code (IaC)-tool waarmee u cloudimplementaties op AWS, Azure, Google Cloud en meer kunt definiëren, versienieren en automatiseren. Voor ontwikkelaars op een Mac biedt het een efficiënte en herhaalbare manier om servers te beheren — zonder de AWS-console te hoeven openen.

In deze handleiding leert u precies:

  • Terraform configureren op uw Mac
  • Verbinding maken met AWS-inloggegevens
  • Een Terraform-configuratiebestand schrijven om een EC2-instantie te starten
  • Uw implementatie met vertrouwen toepassen, verifiëren en beheren

Aan het einde heeft u een volledig functionele AWS EC2-server geïmplementeerd met Terraform — op elk moment opnieuw uitrolbaar.


Stap 1: Wat u nodig heeft voordat u begint

Zorg dat u het volgende gereed heeft:

🧰 Systeemvereisten

  • macOS 12+
  • Homebrew (voor eenvoudige pakketinstallatie)
  • Een AWS-account met toegangssleutels
  • Basiskennis van AWS EC2

☁️ AWS-accountinstellingen

  1. Log in op uw AWS-console.

  2. Ga naar IAM → Gebruikers → Beveiligingsreferenties.

  3. Genereer een Access Key ID en Secret Access Key.

    • Bewaar deze veilig — Terraform heeft ze nodig voor authenticatie bij AWS.

Stap 2: Terraform installeren op Mac

De eenvoudigste manier om Terraform op macOS te installeren is via Homebrew:

brew tap hashicorp/tap
brew install hashicorp/tap/terraform

Installatie verifiëren:

terraform -version

✅ Voorbeelduitvoer:

Terraform v1.9.0
on darwin_amd64

Terraform is nu wereldwijd op uw systeem geïnstalleerd.


Stap 3: AWS CLI configureren

Terraform communiceert met AWS via de AWS CLI. Laten we hem installeren en configureren:

brew install awscli

Na installatie, configureer met uw inloggegevens:

aws configure

Voer in:

AWS Access Key ID: <your-access-key>
AWS Secret Access Key: <your-secret-key>
Default region name: us-east-1
Default output format: json

Dit maakt een configuratiebestand aan in ~/.aws/credentials, dat Terraform gebruikt voor authenticatie.


Stap 4: Een nieuw Terraform-project opzetten

Maak een projectmap aan voor uw Terraform-bestanden:

mkdir terraform-ec2-setup
cd terraform-ec2-setup

Maak een nieuw bestand aan genaamd main.tf:

touch main.tf

Hier komen al uw Terraform-configuraties.


Stap 5: Uw Terraform-configuratiebestand schrijven

Definieer alles wat Terraform nodig heeft om een EC2-instantie aan te maken — provider, regio, AMI, instantietype en beveiligingsgroepen.

Open main.tf en voeg de volgende code toe:

# Specify AWS as the provider
provider "aws" {
  region = "us-east-1"
}

# Create a key pair
resource "aws_key_pair" "mac_key" {
  key_name   = "mac-terraform-key"
  public_key = file("~/.ssh/id_rsa.pub")
}

# Create a security group
resource "aws_security_group" "allow_ssh" {
  name        = "allow_ssh"
  description = "Allow SSH inbound traffic"

  ingress {
    from_port   = 22
    to_port     = 22
    protocol    = "tcp"
    cidr_blocks = ["0.0.0.0/0"]
  }

  egress {
    from_port   = 0
    to_port     = 0
    protocol    = "-1"
    cidr_blocks = ["0.0.0.0/0"]
  }
}

# Create an EC2 instance
resource "aws_instance" "my_ec2" {
  ami           = "ami-0c02fb55956c7d316"
  instance_type = "t2.micro"
  key_name      = aws_key_pair.mac_key.key_name
  security_groups = [aws_security_group.allow_ssh.name]

  tags = {
    Name = "Terraform-Mac-Instance"
  }
}

Stap 6: Terraform initialiseren

Initialiseer Terraform vóór het toepassen van configuraties. Dit downloadt de benodigde providerplugins:

terraform init

✅ Verwachte uitvoer:

Initializing the backend...
Initializing provider plugins...
Terraform has been successfully initialized!

Stap 7: De configuratie valideren

Valideer uw .tf-bestanden altijd vóór toepassing:

terraform validate

Bij correcte configuratie ziet u:

Success! The configuration is valid.

Stap 8: Het infrastructuurplan bekijken

Bekijk wat Terraform zal aanmaken — zonder daadwerkelijk wijzigingen door te voeren:

terraform plan

Terraform toont een gedetailleerd plan van aan te maken resources:

+ aws_instance.my_ec2
+ aws_security_group.allow_ssh
+ aws_key_pair.mac_key

Dit is uw kans om de configuratie te bevestigen vóór de implementatie.


Stap 9: Toepassen en de EC2-instantie aanmaken

Zodra u klaar bent, implementeer de instantie:

terraform apply

Typ yes wanneer daarom wordt gevraagd.

Terraform zal:

  • Een sleutelpaar aanmaken
  • Een beveiligingsgroep instellen
  • Een EC2-instantie implementeren

✅ Verwachte uitvoer:

Apply complete! Resources: 3 added, 0 changed, 0 destroyed.

Outputs:
instance_public_ip = "54.210.19.33"

U kunt nu SSH-verbinding maken met uw nieuwe instantie:

ssh ec2-user@54.210.19.33

Stap 10: Verifiëren in de AWS-console

Open uw AWS Management Console → EC2 Dashboard, en u ziet uw nieuwe instantie actief onder:

Naam: Terraform-Mac-Instance

Dit bevestigt dat Terraform uw infrastructuur succesvol heeft geïmplementeerd.


Stap 11: Resources opruimen (optioneel)

Vernietig de infrastructuur na het testen om onnodige AWS-kosten te voorkomen:

terraform destroy

Typ yes ter bevestiging.


Stap 12: De Terraform-workflow begrijpen

Hier is een overzicht van de Terraform lifecycle-opdrachten die u regelmatig zult gebruiken:

Opdracht Beschrijving
terraform init Project initialiseren en providerplugins installeren
terraform validate Configuratiesyntaxis controleren
terraform plan Voorgestelde infrastructuurwijzigingen bekijken
terraform apply Wijzigingen toepassen en op AWS implementeren
terraform destroy Aangemaakte resources verwijderen

Stap 13: Veelvoorkomende problemen en oplossingen

❌ Fout: Ongeldige AWS-inloggegevens

Controleer uw ~/.aws/credentials-bestand of voer aws configure opnieuw uit.

❌ Toegang geweigerd (publickey)

Zorg dat uw SSH-sleutel correct is toegevoegd in de Terraform-sleutelpaarresource en in de map ~/.ssh op uw Mac.

❌ Beveiligingsgroep niet gevonden

Terraform maakt afhankelijkheden automatisch aan, maar als u resourcenamen wijzigt, voer dan opnieuw terraform init uit.

❌ Conflicten met statusbestand

Bewerk nooit handmatig terraform.tfstate. Gebruik externe backends zoals S3 voor teamomgevingen.


Stap 14: Best practices voor Terraform + AWS op Mac

✅ Gebruik externe statusopslag

Bewaar de Terraform-status in AWS S3 met DynamoDB-vergrendeling om conflicten te voorkomen:

terraform {
  backend "s3" {
    bucket = "terraform-state-bucket"
    key    = "ec2/terraform.tfstate"
    region = "us-east-1"
  }
}

✅ Versiebeheer

Voeg .terraform/ toe aan uw .gitignore en sla .tf-bestanden op in Git voor samenwerking.

✅ Infrastructuur modulair maken

Gebruik Terraform-modules voor herbruikbare configuraties — zoals vpc, ec2 en security_groups.

✅ Alles taggen

Tag AWS-resources altijd voor eenvoudiger beheer, facturering en auditing.


Stap 15: EC2-instelling automatiseren met variabelen

Maak een variables.tf-bestand aan voor herbruikbare configuraties:

variable "instance_type" {
  default = "t2.micro"
}

variable "region" {
  default = "us-east-1"
}

Pas vervolgens main.tf aan:

provider "aws" {
  region = var.region
}

resource "aws_instance" "my_ec2" {
  ami           = "ami-0c02fb55956c7d316"
  instance_type = var.instance_type
}

Voer uit:

terraform plan
terraform apply

Dit maakt uw implementatie flexibel en omgevingsonafhankelijk.


Stap 16: Bonus — Automatiseren met GitHub Actions (CI/CD)

Automatiseer Terraform-implementaties rechtstreeks vanuit GitHub.

Maak .github/workflows/deploy.yml aan:

name: Terraform AWS Deploy
on:
  push:
    branches: [ "main" ]
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Setup Terraform
        uses: hashicorp/setup-terraform@v2
      - name: Terraform Init
        run: terraform init
      - name: Terraform Apply
        run: terraform apply -auto-approve

Deze pipeline voert Terraform automatisch uit bij elke push naar main — perfect voor teamautomatisering.


Belangrijkste punten

  • 💻 Met Terraform automatiseert u de AWS EC2-instelling vanaf uw Mac met herbruikbare, overzichtelijke code.
  • 🔐 Gebruik IAM-toegangssleutels voor authenticatie — leg nooit inloggegevens vast in uw code.
  • 🧠 Valideer en bekijk plannen altijd vóór toepassing.
  • 🧩 Maak uw Terraform-opzet modulair voor schaalbaarheid.
  • ☁️ Verwijder ongebruikte resources om AWS-kosten te beheersen.

Aan de slag

Klaar om uw AWS-automatisering naar een hoger niveau te tillen? Terraform beheersen op Mac is slechts het begin — van hieruit kunt u uitbreiden naar multi-omgevingsimplementaties, S3-buckets, VPC's en zelfs Kubernetes-clusters — allemaal via code.

👉 Begin nu met het instellen van uw eerste door Terraform beheerde EC2-instantie en ervaar hoe moeiteloos cloudautomatisering kan zijn.


Veelgestelde vragen

V: Waarvoor wordt Terraform gebruikt?

Terraform automatiseert de implementatie van infrastructuur op cloudplatformen zoals AWS, Azure en Google Cloud via eenvoudige configuratiebestanden.

V: Is Terraform gratis?

Ja. Terraform CLI is open source, maar HashiCorp biedt betaalde versies aan voor teams en enterprise-automatisering.

V: Kan ik Terraform ook op Windows of Linux gebruiken?

Zeker. Terraform werkt op alle belangrijke besturingssystemen. De installatieopdrachten verschillen per platform.

V: Hoe maak ik SSH-verbinding met mijn Terraform EC2-instantie?

Gebruik uw SSH-privésleutel en het publieke IP-adres van de instantie:

ssh ec2-user@<instance_ip>

V: Moet ik resources na het testen verwijderen?

Ja — voer altijd terraform destroy uit na het testen om onverwachte AWS-kosten te voorkomen.

Coffee cup

Vond u dit artikel leuk?

Uw steun helpt mij meer diepgaande technische content, open-source tools en gratis bronnen voor de ontwikkelaarsgemeenschap te maken.

Gerelateerde onderwerpen

Engr Mejba Ahmed

Over de auteur

Engr Mejba Ahmed

Engr. Mejba Ahmed builds AI-powered applications and secure cloud systems for businesses worldwide. With 10+ years shipping production software in Laravel, Python, and AWS, he's helped companies automate workflows, reduce infrastructure costs, and scale without security headaches. He writes about practical AI integration, cloud architecture, and developer productivity.

Discussion

Comments

0

No comments yet

Be the first to share your thoughts

Leave a Comment

Your email won't be published

3  +  4  =  ?

Blijf leren

Gerelateerde artikelen

Alles bekijken

Comments

Leave a Comment

Comments are moderated before appearing.