Skip to content

MultiCloud architecture deployment through Terraform, with resources running in AWS and Google Cloud Platform

Notifications You must be signed in to change notification settings

toyekuti/Terraform-on-Multicloud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 

Repository files navigation

Terraform-on-Multicloud

Description

Enabling of a Multicloud architecture deployment through Terraform, with resources running in AWS and Google Cloud Platform

Languages and Cloud Providers Used

  • PowerShell
  • AWS
  • Google Cloud Platform (GCP)

Environments Used

  • Google Cloud Shell

Program walk-through on AWS:

Create a programmatic user:


On Set permissions, Permissions options, click in Attach policies directly button:


Search & select AmazonS3FullAccess:


Review & click Create user:


- Click the user created, click Security credentials tab, Scroll down to Access keys section, and Click on Create access key:


Select Command Line Interface (CLI) and I understand the above recommendation and want to proceed to create an access key checkbox, Click Next, Click on Create access key, Click on Download .csv file and After downloading click on Done

Program walk-through on Google Cloud Platform (GCP):

  • CLICK HERE to download the hands-on files.
  • Access GCP Console and open Cloud Shell
  • Upload accessKeys.csv and mission1.zip hands-on file to GCP Cloud Shell
  • Check if upload has been successfully completed using the command ls -la

Hands-on files preparation:


Run the following commands to prepare AWS and GCP environment. Authorize when asked:


Execute the command below:


Enable the Container Registry API, Kubernetes Engine API and the Cloud SQL API:


IMPORTANT (DO NOT SKIP):

  • Before executing the Terraform commands, open the Google Editor and update the file tcb_aws_storage.tf replacing the bucket name with an unique name (AWS requires unique bucket names).
    • Open the tcb_aws_storage.tf using Google Editor
    • On line 4 of the file tcb_aws_storage.tf:
      • Replace xxxx with your name initials, using 5 letters plus 5 random numbers: Example: luxxy-covid-testing-system-pdf-en-jerod29292

Run the following commands to finish provision infrastructure steps:


Attention: The Cloud SQL database may take 15 to 25 minutes to create, always check the CloudShell and click Reconnect when the session expires (the session expires after 5 minutes of inactivity by default)

The warning message at the end of terraform apply command execution is not a problem, please go ahead:

SQL Network Configuration:

  • Once the Cloud SQL instance is provisioned, access the Cloud SQL service
  • Click on your Cloud SQL instance.
  • On the left side, under Primary Instance, click on Connections.
  • Go to Networking tab.
  • Under Instance IP assignment, select Private IP to enable.
    • Under Associated networking, select "Default"
    • Click Set up Connection
    • Click on Enable API, to enable Service Networking API (if asked).
    • Select Use an automatically allocated IP range in your network.
    • Click Continue
    • Click Create Connection and wait a minutes until conclude. You will see the message: “Private services access connection for network default  has been successfully created.”
  • Under Authorized Networks, click "Add Network".
  • Under New Network, enter the following information:
    • Name: Public Access (For testing purposes only)
    • Network: 0.0.0.0/0
    • Click Done.
    • Click Save and wait to finish the update. This update may take from 10 to 20 minutes to finish

About

MultiCloud architecture deployment through Terraform, with resources running in AWS and Google Cloud Platform

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published