AWS and all computer systems divide networking traffic by IP address and subsequent ports. Ports are designed to subdivide network traffic to a specific protocol, application or process being used. It is helpful to know the most common ports used in modern information systems and below are the ones you should know for AWS certification.
AWS ElastiCache are in memory databases with very high performance and low latency. They designed to reduce the load on databases for high levels of reads. They allow your application to be stateless by placing the placing the current state of the data into ElastiCache. AWS takes care of OS maintenance, optimization, setup, configuration, monitoring, recovery and backup of the ElastiCache making it transparent to customer. Normally you have to perform a lot of code changes for existing application to use the ElastiCache option.
ElastiCache Security characteristics:
For Redis IAM Authentication is support
All other ElastiCache options require username and password
IAM policies are only used for AWS API level security
Redis AUTH
You can set password/token where creating a Redis cluster
Providing extra layer of security for you cache above you security group
Support SSL for network encryption.
Memcached
Supports SASL based authentication
ElastiCache – Redis Use Case:
Establishing the leader in a game.
Each time a new score is added, it is ranked against all other scores (sorted) and presented in correct order.
This guarantees that the leader is always displayed at the top and in descending order.
AWS ElastiCache are in memory databases with very high performance and low latency. They designed to reduce the load on databases for high levels of reads. They allow your application to be stateless by placing the placing the current state of the data into ElastiCache. AWS takes care of OS maintenance, optimization, setup, configuration, monitoring, recovery and backup of the ElastiCache making it transparent to customer. Normally you have to perform a lot of code changes for existing application to use the ElastiCache option. Here we will build an ElastiCache service for use in your AWS environment.
AWS ElastiCache are in memory databases with very high performance and low latency. They designed to reduce the load on databases for high levels of reads. They allow your application to be stateless by placing the placing the current state of the data into ElastiCache. AWS takes care of OS maintenance, optimization, setup, configuration, monitoring, recovery and backup of the ElastiCache making it transparent to customer. Normally you have to perform a lot of code changes for existing application to use the ElastiCache option.
The architecture to use ElastiCache for RDS interaction:
Application query the ElastiCache
If ElastiCache has required data it returns to Application
If ElastiCache does not have required data it queries the RDS and returns it to Application (storing internally for next use).
This helps reduce the frequency of access to RDS proper
The application has to have a ElastiCache validation method to ensure data is most up to date.
The architecture to use ElastiCache for User Session Store:
User logon to application
Application writes user session data to ElastiCache
User hits a different application instance and their user session data is still valid.
Thus reducing the number of logins required by end user.
Compare Redis vs Memcached:
Redis:
Multi AZ with auto-failover
Provides read replicas to scale reads and give you high availability
Provides backup and restore
Support sets and sorted sets
Memcached:
Multi-node for partitioning of data providing sharding
Does not provide read replica
It is not persistent
provides backup and restore only with serverless version
provides multi-threaded architecture which increases performance.
AWS Relational Database Service (RDS) Proxy are a way to access your RDS databases via a managed service rather than a direct connection to RDS.
This gives you the following benefits:
Allow application pooling and sharing of database connections.
Improves the database efficiency by reducing the burden of managing large number of open connections. Thus reducing the amount of CPU and RAM requirements.
RDS proxy is serverless
Autoscaling
provides high availability through multi-AZ configuration
Reduces the time of failover by up to 66%
RDS Proxy is supported by:
MySQL
PostgreSQL
MariaDB
MS SQL Server
Aurora
No code change is required on you applications.
It enforces the use of IAM authentication for database access
It requires the credentials to be stored in AWS Secrets Manager
RDS Proxy is not publicly accessible and only good within your VPC
AWS Aurora RDS is the proprietary Amazon RDBMS system fully compatible with MySQL and PostgreSQL. This document will demonstrate the build of Aurora RDS servers in the AWS environment.
2. From the Home Console type RDS in the search bar, select the star next to RDS, and select RDS. NOTE: The name of the Console has changed over time, but the key wording is RDS.
3. On the left hand menu bar select Databases.
4. Currently we have no RDS databases created and thus none are listed. Click Create database on the right hand side of the screen.
5. Select standard creation and for this example we will create a Aurora (postgreSQL) database.
6. Select the Engine Version you desire and Dev/Test
7. Enter the DB identifier, master user name, Self Managed and password
8. Enter Aurora Standard for Cluster storage.
9. Instance configuration select the standard configuration.
10. Under VPC select the standard and note the VPC selected. As well as the DB subnet. Select Yes for public accessible.
11. Accept the rest of the defaults and select Create Database
12. This completes build of Aurora RDS database service on AWS.