Just a place to put
some notes on the “AWS Essentials” course from https://linuxacademy.com
6) Databases
6.1) RDS and DynamoDB Basics
Two main categories of databases:
(1) Relational
Databases - “SQL”
(2) Non-Relational
Databases - “NoSQL”
RDS (Relational
Database Service) for SQL
databases
DynamoDB for NoSQL databases
Image: AWS Console
> AWS Services > Database
RDS is a SQL database service that provides a
wide range of SQL database options to select from:
Amazon Aurora, MySQL, MariaDB, PostgreSQL, Oracle, and Microsoft SQL Server
Image: AWS Console
> AWS Services > Database: RDS > Instances > Launch DB Instance
DynamoDB is a
fast and flexible NoSQL database service
for all applications that need consistent, single-digit-millisecond latency at
any scale.
DynamoDB can
replace (is similar to): MongoDB, Cassandra DB, Oracle NoSQL
Image: AWS Console
> AWS Services > Database: DynamoDB > Create Table (no ‘Select
Engine’)
RDS (SQL) vs DynamoDB (NoSQL)
Stores related data
in: tables vs JSON-like, name-value documents
Typically used for:
very structured data (such as
content lists) vs
non-structured data (such as cataloguing documents)
RDS
Pricing/Cost Overview
Free Tier is
available for all RDS options except Aurora.
How are you charged
for using RDS?
(1) The RDS
“engine”
(2) RDS Instance
Classes
(3) Purchasing
Terms: On-Demand or Reserved
(4) Database
Storage
(5) Data Transfer
(in/out of RDS)
DynamoDB
Pricing/Cost Overview
Free Tier use
is available for DynamoDB.
How are you charged
for using DynamoDB?
(1) Provisioned
Throughput Capacity
(2) Indexed Data
Storage
(3) DynamoDB
Streams
(4) Reserved
Capacity
(5) Data Transfer
(in/out of DynamoDB)
6.2) Provisioning an RDS MySQL Database
(1) Creating a DB Subnet Group
Image: AWS Console
> AWS Services > Database:RDS > Subnet Groups
(2) AWS Console > AWS Services > Database: RDS >
Instances > Launch DB Instance
Select: MySQL:
MySQL Community Edition
Specify DB Details
> Next Step
Image: Step 2:
Specify DB Details
(3) Configure
Advanced Settings > Launch DB
Instance
Image: Step 3:
Configure Advanced Settings
Note: The course
shows an example using SSH tunnelling - via an EC2 instance - to connect to the
database (which is in a private subnet).
Note: Whenever you
see a failed to connect issue, first thing you want to take a look at is: Security Groups, NACLs, route tables, and
Internet Gateway.
6.3) Quiz: RDS/DynamoDb Essentials
Q: What term describes the practice of using SSH to
access a resource without a public IP address via a resource with a public IP
address (inside of a VPC)?
A: SSH tunnelling.
T: RDS stands for Relational Database Service
T: Amazon RDS databases do not have a GUI in the AWS
console
T: RDS databases store data in tables using columns and
rows, while DynamoDB stores data in JSON-like, name-value documents.
T: There are free tier options available for all other
RDS engines and DynamoDB, but not for Aurora.
Comments
Post a Comment