Second Day – AWS (See project overview here)
Continuing on Plurasight’s “AWS Certified Developer – Associate (DVA-C01)” path. I have to admit, I’m not working extremely hard. I’ve been taking frequent breaks and many side routes. I really don’t get very many opportunities to just learn something for fun. Usually, I have to learn something quickly because it’s on the road to a deadline I have to meet. I’m having fun!
This course is based on a Node.js Pizza App. I’m going to use the plain vanilla Vagrant machine we I learned how to build in Wes’s course (I don’t really know Wes, but I’m going to pretend like we’re friends and call him by his first name).
My plan is to apply the principals he taught with regard to automating the configuration and keeping the Vagrantfile in git so that I can keep a running log of how the machine and everything else morphed from nothing into a useable app.
The first things I needed to do for this course were to install Nodejs and awscli. I quickly discovered that the version of Ubuntu I was getting from Hashicorp was maybe not ideal (Precise64). So, I changed to Trusty64 i my base box (this line in the Vagrantfile):
config.vm.box = “ubuntu/trusty64”
After doing that, the install of node and awscli went smoothly. Here’s what I’m installing in provision.sh:
apt-get -y update
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
apt-get install -y nodejs
apt-get install -y unzip
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
And here’s my Vagrantfile:
# -*- mode: ruby -*-
# vi: set ft=ruby :
# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.provider "virtualbox" do |v|
v.name = "Angry Old Woman"
end
config.vm.provision "shell", path:"provision.sh"
end
Next, we configured awscli with the “aws configure” command. I didn’t add this to my .sh file because it has credentials and I’m not sure how to do it, so this is something I’m putting off until I know more. My plan is to not put off much since we all know stuff we put off never gets done. Something else I don’t want to do is have any secret information in git. I assume at some point in the course, we’ll get to AWS Secret’s Manager and I’ll learn how to accomplish this.