Day 4 - Student Profile Path

Posted on September 12, 2022 by David Rowe ‐ 7 min read

Day 4 - Student Profile Path

Day 4 of workshops

Onto my fourth workshop. I’ll be working through Student Profile Path, which includes the topics of analytics and a high overview of QuickSight.

Initial thoughts

This is another workshop where I do not know what I’m getting into. I hope that this walks through deploying all these pieces because this labs says I need to commit 8 hours of my life to this one.

~ Here we go! ~

Jumping to Conclusions - How’d it go

What did I think about this lab and how did it run for me with zero prior experience with Student Profile systems?

  1. Cloudformation integrated with this workshop would have saved TONS of time and made this workshop so much better.
  2. The KMS portions weren’t necessary for this workshop. The knowledge you get from setting up KMS is useful for all your production workloads.
  3. I had the hardest time finding the tabs that I opened for this workshop. The tab name was ‘dataedu’ which didn’t mean much to me when I was jumping back and forth between lab and AWS Account.
  4. I wasn’t aware that you could limit a service to a trust policy to a SINGLE REGION. That’s a cool item to pick up.
  5. The workshop never told me to link the Quicksight service role to be a user of the KMS key. The Quicksight module does not work unless that is completed. (ie: aws-quicksight-service-role-v0)

Introduction

AWS services I’m about to dive into : AWS DBMS, S3, KMS, Athena, Quicksight (yay) and AWS Glue for ETL. I don’t normally use DBMS or ETL type items in my daily job, so this should be interesting.

reference architecture

Also based on this page, I have neither of the data prerequisites… uh oh.

Basic Setup

As I’m starting with setting up of my environment, I can tell you that this walk through is very text driven. There are no pictures for someone to confirm what they are configuring. This is a bit lackluster compared to the previous workshops I’ve done.

Oh nay nay. I clicked on a link in the walk through on the S3 page and it took me to a guide on “Creating a bucket page” instead of going to the S3 console. That was a bit user unfriendly. This page continues to rub me into frustration. The bucket policy in this page that it tells you to copy has escape characters. These escape characters make the policy invalid and unusable unless you know how to fix it. This is not an entry level thing if you have never modified JSON Policies. Step 7 also makes it unclear if I have to change the policy resource on each of the policies. Overall this page was a bit off.

The Athena page is nearly as bad as the S3 setup page. I THINK I did what the workshop told me to do. I’m not entirely sure because this page on the workshop didn’t use the proper names for the web pages that I was navigating to.

I had no issues with the Quicksight items that followed Athena. Onto the data load.

Overall view: Lower than Average Skill Level: Mid 100s

Module 1

I’m about halfway through this section and just realized there are no diagrams to tell me where I am in the build process. I would LOVE some diagrams with something highlighted that would tell me where I am on the architecture during this section.

When creating roles, I had some hidden character after I copied and pasted into the AWS console. This came from 02:Step 2: ‘IAM role to permit DMS to write data to S3’ I couldn’t figure out why I could not create a role. I simply typed the description in instead.

03 Explore SIS Data

The first part of this step is verifying data that exists in your S3 bucket. I had trouble following instructions for the Glue Crawler. After a few bad clicks, I was able to find the right place in the console. I left and came back to this workshop on a later day, and clicked and got to the Glue Crawler page without any issue. I’m not sure why I miss stepped the other day.

When I clicked to create the Crawler, I got a massive error that spanned a scrolls worth. It was all json jibberish, so i clicked “finish” again. This time it went through without an issue. At this point I am starting to run the Glue Crawler and I hope to feel like a champ in a moment

glue crawler

After the crawler ran, my database remained empty. I do not know why and I reran and reran my Crawler hoping for something to end up in the database. My results are as follows.

< EMPTY >

Sad. What did I do wrong? I had a parenthesis instead of a slash on my Glue Crawler. Once I fixed that I was off to the next step.

And with this next step I had an error too. I didn’t properly set Athena to use a SSE_KMS key. I had it using a CSE_KMS key. I swapped it over to SSE_KMS and was able to use Athena query editor successfully.

glue crawler data connection

Wowsa, that 03 step was long, but it was packed full of Glue Crawler material that I find very useful. Off to the next step.

04: Curate SIS datasets

Alright, once again the instructions fail to say “UPDATE CODE WITH YOUR UNIQUE VALUES.” At this time I’m getting used to it, and I’ll update the statement before running. But… the instructions dont say where or how to run this code. I’ll click around a bit to figure this out.

Heck, lets try it in Athena.

AAAAnd it worked.

05: Visualize student demographics

Alright this section is loaded with issues so I’ll go into my biggest one and how I fixed it. You can’t set a theme on the dashboard without doing it through the CLI. As finding all the information and deciphering the update-analysis function is a bit beyond the 100 level, I gave the code an attempt but was unable to update the theme. Womp Womp.

Module 1 Finally Completed

This took a bit-o-time, maybe 4-6 hours. Overall I got some good insight into AWS Glue and Athena and Quicksight integration. At this point I doubt my abilities to build a fully working system like the one created in this workflow.

Key piece of information that I learned during this module was that you can create trust policies to only allow AWS services to assume roles from single AWS regions.

Module 2

profile load architecture

  • Step 1: Lambda and cloudformation setup. Done quickly
  • Step 2: Add role to KMS - Done Quickly. Then hurry up and wait 30 minutes. Time to take a break
  • Step 3: 30 minutes later…

Nothing is loading into the bucket as instructed. Checking into the cloudwatch logs I can see that the workshop is aiming to get data from: https://s3.console.aws.amazon.com/s3/buckets/ee-assets-prod-us-east-1?region=us-east-1&prefix=modules/f7ff818991a14cfb80e2617aad4431d1/v1/mockdata/lms_demo/&showversions=false. Somewhere in the application it is appending “mockdata/lms_demo/v1/” to the url and unfortunately that is a false link. I think I’m dead in the water right here and cannot finish this workshop.

I’m stubborn and attempted to modify the cloudformation script that deploys this module. However I could not get it to work, and I had to quit in the middle of this module.

Fin

I was unable to finish this and met a hard wall in the middle of Module 2. I wouldnt recommend this entire workshop to others, but I would recommend pieces in it to read to get an understanding of the services.

  • Overall view of workshop: 2 out of 5 stars
  • My rating of skill needed to complete: 200 level.

With that I am onto the next 100 level workshop.

For an overview of all the workshops I’m doing,

Please view 100 Days of AWS Workshops →

Tags