How To Set Up GitHub Enterprise on AWS (Video Tutorial)

Checking in code has never been easier than it is when using GitHub. In this free video tutorial, you’ll learn step by step how to set up GitHub Enterprise with AWS.

Setting up GitHub Enterprise on AWS - Video Transcription

Hi, I’m Brent Beer with Github’s training team. Millions of developers in the world’s best companies use GitHub to streamline the way they build and ship software. Now with support for Amazon Web Services or AWS, GitHub Enterprise offers the same great experience to system administrators. In this video we’re going to take a look at how to acquire the GitHub AMI to deploy our instance, setting things up from the AWS Web Console, and lastly, starting up our instance to begin building and shipping great software. To get started, let’s visit and click Try for Free in the upper right-hand corner. On this screen, we need to fill out some information about our organization which is typically the name of our company, our full name, and some contact email address.

This information will be used to sign in to our GitHub Enterprise web account. Fill out my full name. I’m going to go ahead and select GitHub on AWS as our installation type. Then lastly, we’re going to fill out some common questions here for our GitHub support, so they know best how to help us if we run into any issues along the way. Click the terms of use, and then Continue. On this screen, we have three options of how to launch our GitHub Enterprise on AWS trial. The method that we’re going to be used in this screencast will be the last option we see down here in the very bottom section. If we want a different AMI ID, we can select a different region with the Edit button in the upper corner. Simply select your own region from this option, and save changes. We’re going to be using US East 1 in this screencast. Let’s go ahead and copy that AMI ID, put that on our clipboard, and also click the Download your License button on the right-hand portion of the screen.

Then go ahead and open a new tab to go to Once here, click Sign into the console so that we can visit our console to launch our instances. Enter your password, and click EC2 in the upper left-hand corner. This is where we’re going to be launching all of our Amazon web service instances from. From here, click Launch Instance to start creating our instance. We’re going to click Community AMI so we can search for that AMI ID that was presented to us after we signed up with GitHub Enterprise. Search for that AMI ID that you had by typing it in into the Search field. and click Enter. Click Select once you see that AMI presented to you. We recommend starting with an r3.large instance type. On the next screen we don’t have any custom configuration details, so we can skip this and add storage. We do need to add an additional volume here. This EVS volume needs to be at least 10 GB. I’m going to set it to 12, just for growth purposes.

This EVS volume is going to be used for Git data as well as general user data. Next, we’re going to tag the instance. We’re want to give this a name and value scheme so that it’s easy to identify this instance when looking at our dashboard. I’m going to call this ghe-aws. Next, we have our security groups. These security groups are going to be so that we can control what ports have access to our instance, as well as which ports we can use when doing management console activities. I have an existing security group configured already and I want to talk about some of these settings. A number of these settings are going to be used for Git data, and Git traffic, as well as emails, or email servers, as we can see, SMTP and SMTPS, as well as access to our Management Console Overage Report, as well as a custom SSH port to port 122.

This is going to be used for when we need to SSH into this machine. After we have all of these custom ports as well as default ports selected, we can review and launch our instance. We have one last step to review everything here. Once we’re OK with it, we can click Launch. Before we actually launch our instance, we need to create an SSH key pair. I’m going to name this ghe-aws as well, and click Download.

That’ll download to my computer, then I can use that as I need to when I need to SSH into this machine. Once that’s downloaded, click Launch Instance. This should be launching and initialized in a few minutes so we’ll go ahead and give that a little bit to finish up and then we can visit our instance to finish the configuration. When ready, let’s grab the public DNS presented to us at the bottom of the screen here. I’m going to put that on my clipboard and open a new tab and visit this address.

Now, because we have a self-signed SSL certificate, we do want to give everyone a little bit of a heads-up here that on the next screen we will be prompted with a little bit of a warning here. So depending on Safari, Firefox or Chrome, we can see different prompts. We will go ahead and detect which browser you’re currently viewing this in and instruct you on the next steps to get past that screen.

If you really wanted to double-check this, we can SSH into the machine to verify this certificate. We have steps for that below. Click Continue to Set up. Continue past the prompt. Now we need to upload our GitHub Enterprise license that we got when we signed up for GitHub Enterprise. So, click License file, grab that license, that .ghl file, and finish the installation. Before we finish configuring our instance, we need to create a management console as well as API password. This means even our site admins, as they choose to browse into the management console to alter configuration settings, they will need to type this password to get in. Choose a password that you know everyone else will be able to share, as well as using a password generator to generate this. I’m going to choose New Install for this screencast.

Lastly, we have one last step before we start our instance configuration We get to review all of our steps. If we have any DNS, we want to change our hostname, our authentication as we choose to set up an LDAP or SAML server for authentication into this instance, we can add those here. We can also revisit these settings after our instance is up and running.

Let’s go ahead and scroll down to the bottom and Save Settings so that we can start configuring the instance. Let’s go ahead and speed this up so we can move forward with this demo. Once your instance is finished, click Visit Your Instance to begin. Before we can get started inviting people to our instance, because we have built-in authentication, we need to create our first admin account. This is, of course, true for regardless of which authentication we have. Pick a username and an email address, as well as a password that is generated from some auto-generating password application for you. Next, we want to start out with at least one organization so that new members of this instance can have the collaboration around a different project together. We’re going to call this organization name internal-tools. And the email for this should be set as well, and create that organization. Now, if we had other people in our instance already, we could invite additional team members to this, but for now, we’ll just start out with services admin in this.

Now that our instance is up and running, we can go back and revisit that management console if we need to finish some configuration, or we could start inviting people to join into this enterprise instance to start building great software. For more information about GitHub Enterprise and GitHub Enterprise on AWS, visit Thanks for watching this episode on getting started with GitHub Enterprise on Amazon Web Services. With GitHub Enterprise on AWS software developers and system administrators can both use the tools they know and love.

Leave a Reply