Σήμερα, έγραψα άλλο ένα IaaC (infrastructure as a code) για τις ανάγκες μου. Μπορείς να δημιουργήσεις μια ασφαλή σύνδεση VPN (IPsec) μεταξύ Amazon Web Services (AWS) και Google Cloud Platform (GCP).

Τι μπορεί να κάνει αυτό;

Δημιουργία ενός Customer Gateway στο AWS. Δημιουργία ενός Virtual Private Gateway στο AWS. Δημιουργία μιας Site-to-Site VPN Connection στο AWS. Δημιουργία ενός Security Group για πρόσβαση σύνδεσης VPN στο AWS. Δημιουργία μιας External IP address για σύνδεση VPN στο GCP. Δημιουργία και διαχείριση του firewall rule για σύνδεση VPN στο GCP. Δημιουργία ενός Route rule στο GCP.

Απαιτήσεις

Χρήση

  1. Κάνε clone το repository

    git clone git@github.com:flightlesstux/aws-to-gcp-vpn-w-terraform.git

  2. Αυθεντικοποίηση στην Google Platform ακόμα κι αν το google-sdk δεν είναι εγκατεστημένο. Είναι πραγματικά χρήσιμο για CI/CD pipelines! Αν έχεις ήδη συνδεθεί στο Google Cloud Platform project σου με gcloud auth login, μπορείς να παραλείψεις αυτό το βήμα.

    export GOOGLE_APPLICATION_CREDENTIALS="service-account-key.json"

  3. Το Project ID δηλώνεται επίσης μέσω terraform αλλά αν δεν εξάγεις την τιμή, πιθανώς θα λάβεις ένα σφάλμα όπως παρακάτω.

    export GOOGLE_PROJECT="0123456789012"

    │ Error: project: required field is not set

    │ with google_compute_instance_group_manager.this,
    │ on group_manager.tf line 1, in resource "google_compute_instance_group_manager" "this":
    │ 1: resource "google_compute_instance_group_manager" "this" {



  4. Εξήγαγε το AWS Access Key ID και Secret Access Key για να δημιουργήσεις έναν πόρο στο AWS Region σου.

    AWS_ACCESS_KEY_ID=AKIA1SFAESADASFASR5D
    AWS_SECRET_ACCESS_KEY=Aasdfiajfar1O9DFASDAA3rasdas02304adsq9re


  5. Όρισε τις μεταβλητές σου

    Επεξεργάσου τις τιμές στο variables.tf

  6. Ρυθμίσεις state bucket

    Όρισε το terraform state bucket σου μέσω του αρχείου state.tf. Μπορείς να χρησιμοποιήσεις AWS S3 ή Google Cloud Storage.

  7. Αρχικοποίηση

    terraform init

  8. Ανάπτυξη!

    terraform apply ή terraform apply -auto-approve

Διεύθυνση Repository

https://github.com/flightlesstux/aws-to-gcp-vpn-w-terraform

Ελπίζω να το απόλαυσες αυτό το άρθρο...