From 7a40204e759ad6a4394a867a349e0e963d9b7e34 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Mon, 24 Sep 2018 21:44:08 +0200 Subject: [PATCH] Merge content from university AWS docs https://docs.gitlab.com/ee/university/high-availability/aws --- .../aws/img/associate_subnet_gateway_2.png | Bin 8455 -> 10617 bytes doc/install/aws/img/create_security_group.png | Bin 23218 -> 12594 bytes doc/install/aws/img/create_subnet.png | Bin 16349 -> 16679 bytes doc/install/aws/index.md | 306 +++++++++++++++--- 4 files changed, 266 insertions(+), 40 deletions(-) diff --git a/doc/install/aws/img/associate_subnet_gateway_2.png b/doc/install/aws/img/associate_subnet_gateway_2.png index 17a3a87ac756c091866e09837e7220b058741158..76e101d32a3edac3ecbb3ae59a03cd7873f7c017 100644 GIT binary patch literal 10617 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 UxP{^6lS()l2}NV!Z literal 8455 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 literal 23218 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 NxUZ(8TB2eR_#bgU7i0hc diff --git a/doc/install/aws/img/create_subnet.png b/doc/install/aws/img/create_subnet.png index ee4893bf6b1e52c49a55c7830d81abac7463b0e6..26f5ab1b62580aafca5642fd1c9ff3407b78366a 100644 GIT binary patch literal 16679 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 H4S)U*P0h&d diff --git a/doc/install/aws/index.md b/doc/install/aws/index.md index 2069c2bde03..4134e822579 100644 --- a/doc/install/aws/index.md +++ b/doc/install/aws/index.md @@ -5,13 +5,16 @@ AMIs provided with each release. ## Introduction -In this guide, we will explore the simplest way to install GitLab on AWS using -the [Omnibus GitLab package](https://docs.gitlab.com/omnibus). -That means that this will be a single EC2 node, and all GitLab's components, -including the database, will be hosted on the same instance. +GitLab on AWS can leverage many of the services that are already +configurable with High Availability (HA). These services have a lot of +flexibility and are able to adopt to most companies, best of all is the +ability to automate both vertical and horizontal scaling. -If you are interested for a highly available environment, check the -[high availability docs](../../administration/high_availability/README.md). +In this guide we'll go through a basic HA setup where we'll start by +configuring our Virtual Private Cloud and subnets to later integrate +services such as RDS for our database server and ElastiCache as a Redis +cluster to finally manage them within an auto scaling group with custom +scaling policies. ## Requirements @@ -30,9 +33,6 @@ Below is the diagram of the architecture. ## Costs -Based on [GitLab's requirements](../requirements.md#hardware-requirements), the -instance type should be at least `c4.xlarge`. This is enough to accommodate 100 users. - Here's a list of the services we will use and their costs: - **EC2**: GitLab will deployed on shared hardware which means @@ -42,17 +42,15 @@ Here's a list of the services we will use and their costs: information on the cost. - **EBS**: We will also use an EBS volume to store the Git data. See the [Amazon EBS pricing](https://aws.amazon.com/ebs/pricing/). -- **S3**: We will use S3 to store backups. See the +- **S3**: We will use S3 to store backups, artifacts, LFS objects, etc. See the [Amazon S3 pricing](https://aws.amazon.com/s3/pricing/). - **ALB**: An Application Load Balancer will be used to route requests to the GitLab instance. See the [Amazon ELB pricing](https://aws.amazon.com/elasticloadbalancing/pricing/). +- **RDS**: An Amazon Relational Database Service using PostgreSQL will be used + to provide database High Availability. See the + [Amazon RDS pricing](https://aws.amazon.com/rds/postgresql/pricing/). -## Security - -We will create a new IAM role specifically for deploying GitLab, a new VPC, as -well as a security group with limited port access to the instance. - -### Creating an IAM EC2 instance role and profile +## Creating an IAM EC2 instance role and profile To minimize the permissions of the user, we'll create a new IAM role with limited access: @@ -69,39 +67,65 @@ limited access: ![Create role](img/create_iam_role_review.png) -### Configuring the network +## Configuring the network + +We'll start by creating a VPC for our GitLab cloud infrastructure, then +we can create subnets to have public and private instances in at least +two AZs. Public subnets will require a Route Table keep and an associated +Internet Gateway. -We'll start by creating a VPC for our GitLab cloud infrastructure, then we can -create subnets to have public and private instances. Public subnets will require -a Route Table and an associated Internet Gateway. +### VPC Let's create a VPC: 1. Navigate to https://console.aws.amazon.com/vpc/home 1. Select **Your VPCs** from the left menu and then click on **Create VPC**. At the name tag enter `gitlab-vpc` and at the IPv4 CIDR block enter `10.0.0.0/16`. + If you don't require dedicated hardware, you can leave tenancy as default. Click **Yes, Create** when ready. ![Create VPC](img/create_vpc.png) -Now, onto creating a subnet: +### Subnet + +Now, let's create some subnets in different Availability Zones. Make sure +that each subnet is associated the the VPC we just created and +that CIDR blocks don't overlap. This will also +allow us to enable multi AZ for redundancy. + +We will create private and public subnets to match load balancers and +RDS instances as well: 1. Select **Subnets** from the left menu. 1. Click on **Create subnet**. Give it a descriptive name tag based on the IP, - for example `gitlab-subnet-10.0.0.0`, select the VPC we created previously, + for example `gitlab-public-10.0.0.0`, select the VPC we created previously, and at the IPv4 CIDR block let's give it a 24 subnet `10.0.0.0/24`: ![Create subnet](img/create_subnet.png) -Since the newly created subnet is private, we need to create a Route Table to -associate an Internet Gateway: +1. Follow the same steps to create all subnets: + + | Name tag | Availability Zone | CIDR block | + | -------- | ----------------- | ---------- | + | gitlab-public-10.0.0.0 | us-west-2a | 10.0.0.0 | + | gitlab-private-10.0.1.0 | us-west-2a | 10.0.1.0 | + | gitlab-public-10.0.2.0 | us-west-2b | 10.0.2.0 | + | gitlab-private-10.0.3.0 | us-west-2b | 10.0.3.0 | + +### Route Table + +Up to now all our subnets are private. We need to create a Route Table +to associate an Internet Gateway. On the same VPC dashboard: 1. Select **Route Tables** from the left menu. 1. Click **Create Route Table**. 1. At the "Name tag" enter `gitlab-public` and choose `gitlab-vpc` under "VPC". 1. Hit **Yes, Create**. -Now, create the Internet gateway: +### Internet Gateway + +Now, still on the same dashboard head over to Internet Gateways and +create a new one: 1. Select **Internet Gateways** from the left menu. 1. Click on **Create internet gateway**, give it the name `gitlab-gateway` and @@ -111,11 +135,14 @@ Now, create the Internet gateway: ![Create gateway](img/create_gateway.png) -1. Choose `gitlab-vpc` from the list and hit **Create**. +1. Choose `gitlab-vpc` from the list and hit **Attach**. + +### Configuring subnets -Now it's time to add the route to the subnet: +We now need to add a new target which will be our Internet Gateway and have +it receive traffic from any destination. -1. Select **Route Tables** from the left menu and click on the `gitlab-public` +1. Select **Route Tables** from the left menu and select the `gitlab-public` route to show the options at the bottom. 1. Select the **Routes** tab, hit **Edit > Add another route** and set `0.0.0.0/0` as destination. In the target, select the `gitlab-gateway` we created previously. @@ -123,23 +150,27 @@ Now it's time to add the route to the subnet: ![Associate subnet with gateway](img/associate_subnet_gateway.png) +Next, we must associate the **public** subnets to the route table: + 1. Select the **Subnet Associations** tab and hit **Edit**. -1. Check the subnet and hit **Save**. +1. Check only the public subnet and hit **Save**. ![Associate subnet with gateway](img/associate_subnet_gateway_2.png) +--- + Now that we're done with the network, let's create a security group. -### Creating a security group +## Creating a security group The security group is basically the firewall. 1. Select **Security Groups** from the left menu. 1. Click on **Create Security Group** and fill in the details. Give it a name, - add a description, choose the VPC we created previously, and finally, add - the inbound rules. - You will need to open the SSH, HTTP, HTTPS ports. Leave the outbound traffic - as is. + add a description, and choose the VPC we created previously +1. Select the security group from the list and at the the bottom select the + Inbound Rules tab. You will need to open the SSH, HTTP, and HTTPS ports. Set + the source to `0.0.0.0/0`. ![Create security group](img/create_security_group.png) @@ -148,11 +179,70 @@ The security group is basically the firewall. host or CIDR block. In that case, change the SSH source to be custom and give it the IP you want to SSH from. -1. When done, click on **Create**. +1. When done, click on **Save**. ---- +## PostgreSQL with RDS + +For our database server we will use Amazon RDS which offers Multi AZ +for redundancy. Lets start by creating a subnet group and then we'll +create the actual RDS instance. + +### RDS Subnet Group -Now that we have set up security, let's deploy GitLab. +From the RDS dashboard select Subnet Groups. Lets select our VPC from +the VPC ID dropdown and at the bottom we can add our private subnets. + +![Subnet Group](img/db-subnet-group.png) + +### Creating the database + +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](img/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. + +![Network and Security](img/rds-net-opt.png) + +Make sure to choose our gitlab VPC, our subnet group, not have it public, +and to leave it to create a new security group. The only additional +change which will be helpful is the database name for which we can use +`gitlabhq_production`. + +*** + +## Redis with ElastiCache + +EC is an in-memory hosted caching solution. Redis maintains its own +persistence and is used for certain types of application. + +Let's choose the ElastiCache service in the Database section from our +AWS console. Now lets create a cache subnet group which will be very +similar to the RDS subnet group. Make sure to select our VPC and its +private subnets. + +![ElastiCache](img/ec-subnet.png) + +Now press the Launch a Cache Cluster and choose Redis for our +DB engine. You'll be able to configure details such as replication, +Multi AZ and node types. The second section will allow us to choose our +subnet and security group and + +![Redis Cluster details](img/redis-cluster-det.png) + +![Redis Network](img/redis-net.png) ## Deploying GitLab @@ -170,6 +260,9 @@ configure the domain name. ### Choose instance type +Based on [GitLab's requirements](../requirements.md#hardware-requirements), the +instance type should be at least `c4.xlarge`. This is enough to accommodate 100 users: + 1. Choose the `c4.xlarge` instance. ![Choose instance type](img/choose_instance_type.png) @@ -219,11 +312,141 @@ select the SSH key pair you have created previously. Finally, click on **Launch instances**. +### RDS and Redis Security Group + +After the instance is being created we will navigate to our EC2 security +groups and add a small change for our EC2 instances to be able to +connect to RDS. First copy the security group name we just defined, +namely `gitlab-ec2-security-group`, and edit select the RDS security +group and edit the inbound rules. Choose the rule type to be PostgreSQL +and paste the name under source. + +![RDS security group](img/rds-sec-group.png) + +Similar to the above we'll jump to the `gitlab-ec2-security-group` group +and add a custom TCP rule for port 6379 accessible within itself. + +## Load Balancer + +On the same dashboard look for Load Balancer on the left column and press +the Create button. Choose a classic Load Balancer, our gitlab VPC, not +internal and make sure its listening for HTTP and HTTPS on port 80. + +Here is a tricky part though, when adding subnets we need to associate +public subnets instead of the private ones where our instances will +actually live. + +On the security group section let's create a new one named +`gitlab-loadbalancer-sec-group` and allow both HTTP ad HTTPS traffic +from anywhere. + +The Load Balancer Health will allow us to indicate where to ping and what +makes up a healthy or unhealthy instance. + +We won't add the instance on the next session because we'll destroy it +momentarily as we'll be using the image we where creating. We will keep +the Enable Cross-Zone and Enable Connection Draining active. + +After we finish creating the Load Balancer we can re visit our Security +Groups to improve access only through the ELB and any other requirement +you might have. + +## Auto Scaling Group + +Our AMI should be done by now so we can start working on our Auto +Scaling Group. + +This option is also available through the EC2 dashboard on the left +sidebar. Press on the create button. Select the new image on My AMIs and +give it a `t2.medium` size. To be able to use Elastic File System we need +to add a script to mount EFS automatically at launch. We'll do this at +the Advanced Details section where we have a [User Data](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) +text area that allows us to add a lot of custom configurations which +allows you to add a custom script for when launching an instance. Let's +add the following script to the User Data section: + + + #cloud-config + package_upgrade: true + packages: + - nfs-common + runcmd: + - mkdir -p /gitlab-data + - chown ec2-user:ec2-user /gitlab-data + - echo "$(curl --silent http://169.254.169.254/latest/meta-data/placement/availability-zone).file-system-id.aws-region.amazonaws.com:/ /gitlab-data nfs defaults,vers=4.1 0 0" >> /etc/fstab + - mount -a -t nfs + - sudo gitlab-ctl reconfigure + +On the security group section we can choose our existing +`gitlab-ec2-security-group` group which has already been tested. + +After this is launched we are able to start creating our Auto Scaling +Group. Start by giving it a name and assigning it our VPC and private +subnets. We also want to always start with two instances and if you +scroll down to Advanced Details we can choose to receive traffic from ELBs. +Lets enable that option and select our ELB. We also want to use the ELB's +health check. + +![Auto scaling](img/auto-scaling-det.png) + +### Policies + +This is the really great part of Auto Scaling, we get to choose when AWS +launches new instances and when it removes them. For this group we'll +scale between 2 and 4 instances where one instance will be added if CPU +utilization is greater than 60% and one instance is removed if it falls +to less than 45%. Here are the complete policies: + +![Policies](img/policies.png) + +You'll notice that after we save this AWS starts launching our two +instances in different AZs and without a public IP which is exactly what +we where aiming for. + ## After deployment After a few minutes, the instance should be up and accessible via the internet. Let's connect to it and configure some things before logging in. +### Configuring GitLab to connect with postgres and Redis + +While connected to your server edit the `gitlab.rb` file at `/etc/gitlab/gitlab.rb` +find the `external_url 'http://gitlab.example.com'` option and change it +to the domain you will be using or the public IP address of the current +instance to test the configuration. + +For a more detailed description about configuring GitLab read [Configuring GitLab for HA](http://docs.gitlab.com/ee/administration/high_availability/gitlab.html) + +Now look for the GitLab database settings and uncomment as necessary. In +our current case we'll specify the adapter, encoding, host, db name, +username, and password. + + gitlab_rails['db_adapter'] = "postgresql" + gitlab_rails['db_encoding'] = "unicode" + gitlab_rails['db_database'] = "gitlabhq_production" + gitlab_rails['db_username'] = "gitlab" + gitlab_rails['db_password'] = "mypassword" + gitlab_rails['db_host'] = "" + +Next we only need to configure the Redis section by adding the host and +uncommenting the port. + +The last configuration step is to [change the default file locations ](http://docs.gitlab.com/ee/administration/high_availability/nfs.html) +to make the EFS integration easier to manage. + + gitlab_rails['redis_host'] = "" + gitlab_rails['redis_port'] = 6379 + +Finally run reconfigure, you might find it useful to run a check and +a service status to make sure everything has been setup correctly. + + sudo gitlab-ctl reconfigure + sudo gitlab-rake gitlab:check + sudo gitlab-ctl status + +If everything looks good copy the Elastic IP over to your browser and +test the instance manually. + ### Setting up the EBS volume The EBS volume will host the Git data. We need to first format the `/dev/xvdb` @@ -289,10 +512,13 @@ its data to the new `/gitlab-data` directory: Read more on [storing Git data in an alternative directory](https://docs.gitlab.com/omnibus/settings/configuration.html#storing-git-data-in-an-alternative-directory). -### LFS objects on S3 +### Using S3 for the LFS objects, artifacts and Registry images + +The S3 object storage can be used for various GitLab objects: -If you intend to use Git LFS, you can -[store the LFS objects in S3](../../workflow/lfs/lfs_administration.md#s3-for-omnibus-installations). +- [How to store the LFS objects in S3](../../workflow/lfs/lfs_administration.md#s3-for-omnibus-installations) ((Omnibus GitLab installations)) +- [How to store Container Registry images to S3](../../administration/container_registry.md#container-registry-storage-driver) (Omnibus GitLab installations) +- [How to store GitLab CI job artifacts to S3](../../administration/job_artifacts.md#using-object-storage) (Omnibus GitLab installations) ### Setting up a domain name -- GitLab