Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Hughmoris
Apr 21, 2007
Let's go to the abyss!
A bit of a broad question here but can someone with AWS skills transition in to a comparable Azure role, and vice versa? Or is it one of those things where you commit to a ecosystem and you're not transitioning to the competitor without a lot of effort?

Adbot
ADBOT LOVES YOU

Hughmoris
Apr 21, 2007
Let's go to the abyss!
Rookie question as I try to wrap my head around AWS (cloud tech in general) and IaC using Terraform:

Amazon has a tutorial for building a basic web app. https://aws.amazon.com/getting-started/hands-on/build-web-app-s3-lambda-api-gateway-dynamodb/module-one/

The steps are basically:
1. Create a static website with Amplify
2. Build a Lambda function with Python
3. Build new Rest API to link Lambda function to web app
4. Build DynamoDB and have Lambda write to it

I've successfully built everything out using the console UI. I'm going to take another pass at it using Terraform. I'm assuming it's possible to write Terraform in such a way that I chain all that together with a single 'Terraform apply'?

I'm going to dig through the documentation but just trying to wrap my head around the mental model. I can have each stage output the parameters for the next (i.e. after the Lamba function is built it outputs the information needed to build and link the REST api)?

Hughmoris
Apr 21, 2007
Let's go to the abyss!

12 rats tied together posted:

phone posting so forgive the terse formatting: short answer yes. the terraform thing for this is called a "reference to resource attribute" and you can find it in the docs under terraform language -> expressions -> like halfway down

as long as your resource is defined in the same file (not exactly correct but trying to keep it simple), you do not need to have terraform output anything for a "next step"

the value proposition from terraform is that it is smart enough to look at all of your resource references and go "oh, $that needs to happen first so that we can realize the value for $this" and then do everything for you in the right order

Thanks for this.

After many attempts, I was able to stand up a functional Amplify site via Terraform. I had to mix and match all sorts of poo poo I found online but got it working on the 6th version. Now on to the Lambda.

Side note: seems like prime opportunity for a good tutorial here. Amazon Training walks you through all this via the console UI but it would be great to then have the same steps via Terraform. If I can complete this then I might try a Terraform write-up.

Hughmoris
Apr 21, 2007
Let's go to the abyss!

Granite Octopus posted:

If you just want to learn IAC in general and not terraform specifically, I’ve found AWS CDK to be a lot easier. Choose your language, get some IDE integration going and you can slam some poo poo out pretty fast as you learn the conventions.

Thanks, I added that to my list of things to research. I'm in that stage where I don't know what I don't know. My immediate goal is to learn some skills and build a few projects that can convince a hiring manager that I'm at least worth a phone call for a junior/associate position. I landed on learning Terraform because that seems to be a hot commodity from browsing SA and LinkedIn etc...

Hughmoris
Apr 21, 2007
Let's go to the abyss!
Rookie question... My Goal: to automate the launch of an EC2 instance and host a simple static site using nginx

I've walked through the console and launched an EC2 instance using Amazon Linux 2 AMI. I then manually installed nginx and configured it so I can reach it from a public computer. Success.

Next, I've used Terraform to launch an EC2 instance but I'll still need to manually install/configure nginx. What direction do I want to look if I want to automate the deployment of the EC2, and then automatically install and start nginx?

Am I on the right track with researching EC2 User Data, or is best practice something else?

Hughmoris
Apr 21, 2007
Let's go to the abyss!

12 rats tied together posted:

I don't think there exists a "best practice" in this space, yet. EC2 lets you run cloud-init through userdata which is one of the most portable and effective tools in this space, I highly recommend getting started with it. In larger environments it has some ergonomics issues that make it difficult to scale past a certain size, geographical, or complexity threshold, but it's very very good and even in those larger environments is often still used.

The "terraform only" answer for that is provisioners, they're pretty bad though (more info in the link). Another solution in this space is to build an AMI with your nginx stuff already configured, and then just launch that AMI. There are a bunch of ways to build AMIs but packer is a great place to start.


Agrikk posted:

Generally speaking, it is common to half-bake an AMI with the basic packages and applications preinstalled. Then one can use User Data to pull config files/scripts/whatnot from a location and run them.

Preinstalling necessary applications speeds up launch times when all you have to do is load a config file and restart.

Exactly what I was looking for. Thanks!

I pivoted from nginx to a LAMP stack since AWS has some tutorials on it. I've been able to create an EC2 instance, get LAMP up and running, then created a custom AMI from a snapshot and spun that up. I was immediately able to access static content on the new instance over http.

I know this is all the basics but its some pretty cool stuff.

Hughmoris
Apr 21, 2007
Let's go to the abyss!
Agrikk (and anyone else):

I've been using an old post of yours to roughly guide my AWS learning. You had recently mentioned that you would approach it now days with containers and container registry.

At a high level, would you be willing to point out where/why you would use containers on this path? I understand the gist of containers and have done simple Hello World projects with Docker but I'm not sure how to interweave it in to this pipeline and deliver a better solution.

quote:

Because at the free tier to build a web site on a t3micro in a VPC with public/private subnets and an ELB acting as a NAT gateway and firewall. The web site can be something simple, like displaying the host name and local time.

From there use your scripting language of choice to add database functionality, like RDS MySQL or Aurora MySQL. Make your database store poo poo, like Apache web logs, and use your web site to display aggregated details from those logs.

Throw S3 in to store the Apache logs after they’ve been processed.

Use Lambda as the agent to move the logs from your Ec2 host to S3.

Add pictures to your web page and host them in S3.

Move your web server files to EFS and attach the EFS instance to your web server

Create an image of tour web server and have it auto attach to EFS upon boot

Create an autoscale group with your image that auto attaches to EFS and registers with your ELB

Make your web farm multi AZ

Put a CloudFront distribution in front of your web server

Put elasticache in front of your web servers to cache dynamic content

With ROute53 make your web site Multi-Region

Congratulations! You’ve just built a time-telling web site that can scale to accept millions of hits per day.

Hughmoris
Apr 21, 2007
Let's go to the abyss!

Agrikk posted:

Anywhere you have EC2 running, really.

Build an Apache container (or containers- for HA) fir your web site.

Build a container to host the app that parses the Apache web logs and inserts them into your database.

Stuff like that. Raise your game by converting anywhere there is compute with Lambda or ECS.

Ahhhh. Ok, I was looking at it from the completely wrong angle. I was thinking that I would build out my own custom EC2, deploy that, then kick off a container inside that... :doh:

Just watched an Amazon ECS video and now better understand what you're hinting at. Thanks!

Hughmoris
Apr 21, 2007
Let's go to the abyss!

BaseballPCHiker posted:

Are there jobs with AWS that just revolve around a single service?

Like I eat and breath GuardDuty at my current position. I'm the go to person on our team with questions about findings, logs being read by GuardDuty, etc. I think I'd really enjoy doing work around that service most of the day. Helping orgs spin it up, or troubleshoot for example.

Or would I be better off just working for some MSP doing that?

I know Agrikk answered your question but it got me thinking: In trying to land my first gig, am I better off going a mile deep on one or two particular services? Or should my knowledge be a foot deep and a mile wide? What would be useful as a newcomer to the team?

I passed my AWS Cloud Practioner cert yesterday, and have been flipping through this 450 pg Solution Architect book. Maybe I can become the ECS guy, or the CloudWatch guru?

Hughmoris
Apr 21, 2007
Let's go to the abyss!
Working my way through this SAA book to try and build a solid foundation of knowledge. EC2s, Databases, Security all kind of make natural sense from working with computers. Networking is a whole different world.

Setting up home WIFI is the extent of my current networking knowledge. So all of this VPC, VPNs, NATs, Routing etc... is a lot of new crap to straight up memorize.

I know this is a broad question, and excluding the network engineers, how would you all rate your AWS Networking knowledge? Are you using it daily in your engineering/DevOps work, or is it something you typically don't dig in to much poo poo is broke?

Hughmoris
Apr 21, 2007
Let's go to the abyss!

12 rats tied together posted:

Network stuff...

e: My biggest recommendation for OP is to actually read the documentation. They worked very hard on it, and it's very good.

The AWS documentation really is fantastic. As I'm starting from scratch and poking about, I don't think I've yet run into a situation where I thought the documentation should be better. A lot of that couple be the fact that I don't know jack but I've appreciated it so far.

Hughmoris
Apr 21, 2007
Let's go to the abyss!
Any advice on getting my foot in the door for an entry-level / junior AWS job? I'm slowly working my way through a SysOps Administrator course but would love to land a gig where I can actually work with AWS, even at a Tier 1 level. LinkedIn searched for "AWS Help Desk" turns up next to nothing. What type of job titles should I be looking for?

Hughmoris
Apr 21, 2007
Let's go to the abyss!

Agrikk posted:

Cloud Support Associate
Cloud Support Engineer

These are the helpdesk positions you are thinking of. A year or two there and you’ll be prepared to move into other roles.

I figured I was missing something. I'm getting much more results with those two, thanks!

Hughmoris
Apr 21, 2007
Let's go to the abyss!

Arzakon posted:

Look for Associate Solution Architect or Associate Professional Services Consultant as well. AWS Tech U is the program my org uses when we want to hire lots of entry level talent. Good place to keep an eye out for opportunities if you don't have any IT work history but can demonstrate some depth in a few areas. These listings typically start as 1 year paid internships that hire directly into full time associate level roles.

Thanks for this.

Was anyone affected by the (what I've heard) us-east-1 EC2 stumble this morning?

Hughmoris
Apr 21, 2007
Let's go to the abyss!
I believe we have some AWS people floating about. Anyone in the vicinity of this New World launch? If anyone could have nailed an MMO infrastructure launch I figured it would be AWS but queue times have been awful all day.

Disregard, not appropriate to ask in here.

Hughmoris fucked around with this message at 04:31 on Sep 29, 2021

Hughmoris
Apr 21, 2007
Let's go to the abyss!
Anyone have knowledge/experience with the AWS Certified Data Analytics – Specialty (DAS-C01) cert?

I've been doing data analyst work for 5+ years now in healthcare. I recently earned my AWS CCP cert and am trying to figure out what next. Plus, my new job is DOD related and I'm curious if this would open any doors.

Hughmoris
Apr 21, 2007
Let's go to the abyss!

BaseballPCHiker posted:

My coworker just got it. Seemed to be heavily focused on various DB services and things like Athena, DataLake, etc.

I cant say that I've ever seen it listed on any job postings though.

Yeah, neither have I. :smith:

Hughmoris
Apr 21, 2007
Let's go to the abyss!
This is a rookie DE/ETL question but I'm trying to wrap my head around the AWS tools I should be using...

As an exercise, I want to first download twelve gzipped CSV files from this LEGO database. Then I want to move that data in to a new AWS RDS for MySQL using the given schema. The end result being I can write queries against that db.

https://rebrickable.com/downloads/

What is a "modern AWS " way to do this? Azure Data Factory has "low code" pipelines that makes it relatively simple but I'm not sure how to go about it with AWS.

*Here is the Azure Data Factory project that I'm trying to reproduce using AWS tools: https://www.cathrinewilhelmsen.net/series/beginners-guide-azure-data-factory/page/2/

Hughmoris
Apr 21, 2007
Let's go to the abyss!

Happiness Commando posted:

Put the CSVs in S3, use a glue crawler to read the CSVs and output it to RDS, I think.

Alternatively use Athena to query the tabular data in S3 directly.

Thanks for the ideas. I'm guessing I can use AWS Lambda and write a python function that could get/copy the CSV files from the website and then place on to S3, then roll from there.

Hughmoris
Apr 21, 2007
Let's go to the abyss!

Agrikk posted:

Create a lambda function to pull the files into S3

Then either

Point Athena at the bucket

Or

Data Pipeline (or your own ETL script on a t3.micro instance) to load the CSV from S3 to RDS

And:

A lambda function to turn on/off the EC2 instance when not processing the CSV

Exactly what I was looking for, thanks!

BaseballPCHiker posted:

Oh man speaking of Glue/Athena/etc.

How cool is that new CloudTrail DataLake service! For my poo poo show of an org that will be a huge benefit. If I could only convince them to pay for it now....

EDIT: And while I'm at it. All the EKS alerts for GuardDuty are huge! Seriously nice work by that team and I hope more are in the pipeline.

The amount of services/tools available is staggering to me. Just looking at Data Engineering, there is a shitload of services/tools to wrap your head around. I can imagine Security is even more so.

We live in cool times.

Hughmoris
Apr 21, 2007
Let's go to the abyss!
My new employer has pockets and is willing to pay for good training. Is there any well-respected AWS training courses/companies that I should check out? They'd need to be data focused courses.

I'm thinking something like what SANS does for cyber training.

Hughmoris
Apr 21, 2007
Let's go to the abyss!
Does anyone have any experience, or heard of experiences, for working at an AWS DoD gig?

ClearanceJobs has a ton of openings for AWS gigs that look interesting.

Hughmoris
Apr 21, 2007
Let's go to the abyss!

Woof Blitzer posted:

I might be doing this soon. Still in the hiring process for SRE at an agency (on contract). IC/SMIL AWS does exist, I use mission apps on it every week.

Good luck!

I actually had an AWS recruiter reach out to me last week but it was for non-cleared work, some sort of Cloud Support Engineer. Passed on it for now since but can hopefully revisit the opportunity down the road.

Hughmoris
Apr 21, 2007
Let's go to the abyss!

Arzakon posted:

I've been there for 7 years and don't hate it but it is highly dependent on whether your management chain sucks as you can expect at a company so big. There are definitely cleared gigs in support/technical account management as well as jobs on airgapped networks but those are on-site only of course. I could throw your resume against the right listings if you'd like to shoot me a PM. My brother in law just got an entry level gig at Oracle in Seattle as an SRE that required clearance as well.

Thanks for the offer to help. I'm going to hold at $newJob for a bit longer but I might PM you down the road when I start looking again.

Hughmoris
Apr 21, 2007
Let's go to the abyss!
Does anyone use AWS Step Functions for anything, and if so, can you speak a little to your thoughts on it?

On the surface it sounds cool but I'm trying to think of a fun little personal project to solve with it.

Hughmoris
Apr 21, 2007
Let's go to the abyss!
Thanks for the Step Functions ideas/info. My background is data stuff so I might try a small ETL project utilizing SF.

Hughmoris
Apr 21, 2007
Let's go to the abyss!
I'm lazily studying for the SAA cert and poking about different services looking for fun little projects to build and learn on.

The one thing that keeps hitting me in the face is that I really need to just hunker down and first get a better understanding of how IAM and AWS Networking work. Those topics are a bit of a snoozefest for me (and I'm guessing lots of people) but they seem to be crucial to accomplish anything meaningful with AWS services.

I know that's likely obvious to anyone with cloud experience but it's definitely a challenge for me, coming from a data background.

Also, holy poo poo at this AWS post highlighting the fact that AWS IAM was hitting 400 million API calls per second last year.

Hughmoris fucked around with this message at 03:05 on May 17, 2022

Hughmoris
Apr 21, 2007
Let's go to the abyss!
How often do you use the AWS CLI versus CloudFormation versus Console? My goal is to build good practices while I'm self-learning, in eventual hopes of employment using AWS.

I.e. I'm walking thru a tutorial creating a VPC, subnets, IGW, SGs etc... I'm clicking thru the console but I know that isn't ideal. Should I be using the AWS CLI for these small spinups and save CF for multi-day projects?

Or should I get in the habit of using CF and learning how to build templates for anything and everything?

And please forgive me for peppering this thread with low-level questions, I don't know anyone that uses cloud tech.

Hughmoris
Apr 21, 2007
Let's go to the abyss!
That all makes sense. I'm halfway comfortable with basic CLI and Console use so I'll focus on better developing my IaC skills.

Hughmoris
Apr 21, 2007
Let's go to the abyss!

Quebec Bagnet posted:

You may know this already, but I'll point it out anyway. The CLI is automatically generated from the API specification, and the CFN schema closely wraps the underlying create/modify APIs (to the point where CFN documentation sometimes describes parameters in ways which only make sense if you consider the underlying API call). So figuring out how to do something in CLI or API will be very easy to translate to CFN.

The console also usually reflects the API fairly well, and it almost always issues the same API calls so you could sniff traffic in your browser's development tools to figure out what it's doing.

I did not know that. Thanks!

Question: is there a simple way to translate 'clicks in the console' to a CFN template? E.g. I click through the console and set up a simple EC2 with specific settings. Can AWS somehow spit out what the CFN template or stack would look like for that EC2 deployment? Or do I have to muddle through documentation to see how to recreate that from scratch in CFN?

I'm thinking along the lines of how Azure automatically generates an ARM template for export.

Hughmoris
Apr 21, 2007
Let's go to the abyss!
Speaking of databases, I just did some learning on Aurora Provisioned and Aurora Serverless.

For those who support and/or deployed solutions using those, what are your thoughts on current performance and their future? With the current Serverless push, do you think Aurora Serverless will become more and more popular? Or do they become obscenely expensive with real world use?

Hughmoris
Apr 21, 2007
Let's go to the abyss!

Pyromancer posted:

Good Aurora stuff.

Thanks!

I think I have a decent grasp on the RDS knowledge needed for the SAA certification, and hope to sit for it in the next week or two. Hopefully, having that on the resume will open up new opportunities for work.

Hughmoris
Apr 21, 2007
Let's go to the abyss!

Hughmoris posted:

Thanks!

I think I have a decent grasp on the RDS knowledge needed for the SAA certification, and hope to sit for it in the next week or two. Hopefully, having that on the resume will open up new opportunities for work.

I am now a certified AWS Solutions Architect - Associate! :yayclod:

Now, to figure out my next steps. My current position has me loosely related to data and security work. So, maybe committing to better learning the AWS Databases, Data Analytics, or Security domains?

The end goal being a position where I get to solve interesting problems and make lots of money.

Hughmoris
Apr 21, 2007
Let's go to the abyss!

The Iron Rose posted:

Databases and security are probably the most relevant in my experience, but you can obviously make anything work.

you really do need to understand databases eventually, and security’s important for obvious reasons. I’ll also take a moment here to recommend “Designing Data Intensive Applications”, which I’ve still only managed to make it a third of the way through bc it’s dense as hell, but it really does teach you some foundational principles underlying your data storage and retrieval options. Not relevant to AWS certs, but deeply relevant to understanding the data needs of any given services.

Thanks for the insight.

I've heard good things of DDIA, might have to start poking through it.

Hughmoris
Apr 21, 2007
Let's go to the abyss!
Am I correct in stating that to use a GUI with Amazon RDS (e.g. SSMS, MySQL Workbench), I either need to make the RDS Instance publicly accessible OR connect via AWS VPN or Direct Connect?

I created an RDS MySQL database and turned Publicly Available to OFF, then had a heck of a time connecting to it. Eventually created an EC2 in the same VPC and used that as a jumper and I can now connect to the db thru the CLI. I'm hesitant to turn on public accessibility because I feel like exposing your DB to the internet is bad practice.

Hughmoris
Apr 21, 2007
Let's go to the abyss!
Thanks for the ideas/tips. I'm definitely going to work some Lambdas in to the mix. I'm thinking of using Lambda to hit the USGS Earthquake API and insert quakes to the RDS every hour.

This is a personal project just to get more familiar with actually building stuff, and the learning that comes from multiple attempts to get something to work.

Hughmoris
Apr 21, 2007
Let's go to the abyss!

Agrikk posted:

Then you can put quicksight in front of it and make really cool global maps of earthquakes.

After about 60 days all of the major fault lines delineating the major plates can be traced based on the earthquakes that dot the borders. My head exploded when I saw the plots appear on the map of the earth.

:nerd:

edit: If you want, I have 3.3 million earthquake events stored in 30,000 csv files dating back to Jan 1, 1960 that I'd be willing to zip up and put somewhere if you wanted all the historical data as well as current stuff.

All that old data would be sweet. I'm going to try and get the foundation of this idea stood up first and I'll take you up on that offer if I get far enough along.

This morning I was able to successfully create a Lambda that inserts data into my RDS instance. I wasn't able to connect Lambda -> RDS for the longest time but finally got it working.The biggest challenge that I've faced with AWS since starting is understanding the networking needed for a given project. VPCs and subnets and SGs etc... :smith:

Next up, figuring out how to securely store my RDS credentials in KMS and have Lambda pull them as needed.

Hughmoris
Apr 21, 2007
Let's go to the abyss!

Happiness Commando posted:

I tried doing an earthquake tracker too, but I wanted to see if I could do the ETL with Glue.

Turns out I couldn't, so I gave up.

Yeah, I want to try and incorporate some sort of ETL for this project but I'm not sure what. Current state is all quake data residing in a MySQL RDS.

I've poked around Glue a couple of times. I stopped because the jobs were costing money, and I was mangling the jobs resulting in duplicate data. :mad:

Hughmoris
Apr 21, 2007
Let's go to the abyss!
I'm ripping my hair out and need some AWS VPC help.

I have a Lambda. The goal is for the Lambda to get info from a USGS Earthquake API and write to RDS. When I configure my Lambda to use my Earthquake VPC, it appears it is unable to reach the internet. The Earthquake API request never completes and the Lambda just times out. If I remove any VPC association from my Lambda config, it can make the Earthquake API call just fine.

I've tried every which way to configure my Earthquake VPC and SGs but have had zero luck. Any advice?

Hughmoris fucked around with this message at 15:38 on Jun 3, 2022

Adbot
ADBOT LOVES YOU

Hughmoris
Apr 21, 2007
Let's go to the abyss!
I got it working, still unsure of what was blocking me.

To get working: I created a NAT gateway, configured it properly for my private subnet. Associated my Lambda with said private subnet, created a new SG specifically for the Lambda allowing all inbound/outbound traffic, and it works!

I saw that VPC Reachability Analyzer button. I need to watch some YouTube to see how to operate it.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply