Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lab Guide - Creating a Data Lake with Terraform #85

Open
16 tasks
aaronsteers opened this issue Apr 3, 2020 · 0 comments
Open
16 tasks

Lab Guide - Creating a Data Lake with Terraform #85

aaronsteers opened this issue Apr 3, 2020 · 0 comments

Comments

@aaronsteers
Copy link
Contributor

aaronsteers commented Apr 3, 2020

Lab Objectives:

  • Create a new repository from a sample template repo which already exists.
  • Clone and open the new repository on your local workstation.
  • Customize the infrastructure and add credentials as needed.
  • Use terraform apply to deploy the data lake data lake, the VPC, and public/private subnets

Setup:

  • one-time setup:

    • Installed software:
      • choco install vscode python3 docker awscli github-desktop
      • choco install git.install --params "/GitOnlyOnPath /SChannel /NoAutoCrlf /WindowsTerminal"
  • environment setup (each time):

Lab Steps

Create Repo and AWS Account:

  • Create new repo from the Slalom DataOps Template, clone repo locally and open in VS Code (60s)
  • Get AWS credentials from Linux Academy (30s)
  • Use the linux-academy link to log in to AWS in the web browser (30s)

Configure Creds:

  • In the .secrets folder, rename credentials.template to .secrets/credentials, copy-paste credentials into file (30s)
  • In the .secrets folder, rename aws-secrets-manager-secrets.yml.template to aws-secrets-manager-secrets.yml (no addl. secrets needed in this exercise) (30s)

Configure Project:

  • Rename infra-config-template.yml to infra-config.yml - update email address and project shortname (30s)

Configure and Deploy Terraform:

  • Open the infra folder, review each file (90s)
    • Delete the data-build-tool.tf file and the singer-taps.tf file.
  • Run terraform init and terraform apply, type 'yes' (30s)
  • Wait for terraform apply to complete (2m)
    • Switch to the git tab, review code changes while apply is running

Confirm resource creation:

  • Copy-paste and run the provided AWS User Switch command so aws-cli can locate our AWS credentials (30s)
  • Upload infra-config.yml to the data bucket: aws s3 cp ../infra-config.yml s3://... (30s)
  • List the bucket contents with aws s3 ls s3://... (30s)
  • In the web browser, browse to the bucket and confirm the file has landed. (30s)
  • Stop the time once the transfer is successfully confirmed. (DONE!)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant