Skip to content
Snippets Groups Projects
Commit a9d8bbdd authored by balameb's avatar balameb
Browse files

Add RDS to HA

parent 51389c2c
No related branches found
No related tags found
1 merge request!46High Availability on AWS
---
title: University | HA AWS
---
# High Availability on AWS
We'll assume you have an AWS account setup already and you're able to
login to the AWS console. If you don't have access to some services make
sure your AMI user has enough privileges.
Login to your AWS account through the `My Account` dropdown on
`https://aws.amazon.com` or through the URI assigned to your team such as
`https://myteam.signin.aws.amazon.com/console/`. You'll start on the
Amazon Web Services console from where we can choose all of the services
we'll be using to configure our cloud infrastructure.
## Database with RDS
Select the RDS service from the Database section and create a new
PostgreSQL instance. After choosing between a Production or
Development instance we'll start with the actual configuration. On the
image bellow we have the settings for this article but note the
following two options which are of particular interest for HA:
1. Multi-AZ-Deployment is recommended as redundancy. Read more at
[High Availability (Multi-AZ)](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html)
1. While we chose a General Purpose (SSD) for this article a Provisioned
IOPS (SSD) is best suited for HA. Read more about it at
[Storage for Amazon RDS](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html)
![RDS Instance Specs](/images/high-availability/instance_specs.png)
The rest of the setting on this page request a DB identifier, username
and a master password. We've chosen to use `gitlab-ha`, `gitlab` and a
very secure password respectively. Keep these in hand for later.
net and sec
![Network and Security](/images/high-availability/network_sec.png)
db options
![DB Options](/images/high-availability/db-options.png)
Finally connect to your new RDS instance to verify access and to install
a required extension. We can find the host or endpoint by selecting the
instance and we just created and after the details drop down we'll find
it labeled as 'Endpoint'; do remember not to include the colon and port
number.
psql -U 'gitlab' -d 'gitlabhq_production' -h '<endpoint-no-port>'
psql (9.4.7)
Type "help" for help.
gitlab=# CREATE EXTENSION pg_trgm;
gitlab=# \q
***
## ElastiCache with Redis
Let's choose the ElastiCache service in the Database section from our
AWS console. Press the Launch a Cache Cluster and choose Redis for our
DB engine.
Config 1 + img
Config 2 + img
## Elastic File System for Project Data
## GitLab Application Server
## Load Balancer
source/images/high-availability/db-options.png

130 B

source/images/high-availability/instance_specs.png

130 B

source/images/high-availability/network_sec.png

130 B

Loading
Loading
@@ -40,6 +40,7 @@ _University materials don't replace our [Documentation](http://docs.gitlab.com)
+ [OPS6] [High Availability Documentation](https://about.gitlab.com/high-availability/)
+ [OPS7] [Managing LDAP, Active Directory](https://www.youtube.com/watch?v=HPMjM-14qa8)
+ [OPS8] [Scalability and High Availability](https://www.youtube.com/watch?v=cXRMJJb6sp4&list=PLFGfElNsQthbQu_IWlNOxul0TbS_2JH-e&index=2)
+ [OPS9] [High Availability on AWS](/high-availability/aws)
 
---
 
Loading
Loading
@@ -49,7 +50,7 @@ _University materials don't replace our [Documentation](http://docs.gitlab.com)
+ [GLB4] [Create and Add your SSH key to GitLab](https://www.youtube.com/watch?v=54mxyLo3Mqk)
+ [GLB5] [Repositories, Projects and Groups](https://www.youtube.com/watch?v=4TWfh1aKHHw&index=1&list=PLFGfElNsQthbQu_IWlNOxul0TbS_2JH-e)
+ [GLB6] [Creating a Project in GitLab](https://www.youtube.com/watch?v=7p0hrpNaJ14)
+ [GLB7] [Issues and Merge Requests](https://www.youtube.com/watch?v=raXvuwet78M)]
+ [GLB7] [Issues and Merge Requests](https://www.youtube.com/watch?v=raXvuwet78M)
+ [GLB8] [Big files in Git (Git LFS, Annex)](https://gitlab.com/gitlab-org/University/blob/master/classes/git_lfs_and_annex.md)
 
---
Loading
Loading
@@ -129,7 +130,7 @@ _University materials don't replace our [Documentation](http://docs.gitlab.com)
 
+ Others (not created by GitLab)
+ [Dev Ops terminology](https://xebialabs.com/glossary/)
+ [CI vs CD] [Continuous Delivery vs Continuous Deployment](https://www.youtube.com/watch?v=igwFj8PPSnw)
+ [Continuous Delivery vs Continuous Deployment](https://www.youtube.com/watch?v=igwFj8PPSnw)
+ [Periodic Table of DevOps Tools](https://xebialabs.com/periodic-table-of-devops-tools/)
+ [State of Dev Ops 2015 Report by Puppet Labs](https://puppetlabs.com/sites/default/files/2015-state-of-devops-report.pdf) Insightful Chapters to understand the Impact of Continuous Delivery on Performance (Chapter 4), the Application Architecture (Chapter 5) and How IT Managers can help their teams win (Chapter 6).
+ [2011 WSJ article by Mark Andreeson - Software is Eating the World](http://www.wsj.com/articles/SB10001424053111903480904576512250915629460)
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment