Jira Service Desk AWS CloudFormation Installation

The default EC2 instance type for Jira Data Center, Confluence Data Center, and Bitbucket Data Center application nodes on AWS is the c3.xlarge. While you are free to choose the instance type, whatever you choose must meet each product's system requirements, as noted in their sizing guide. It's critically important also to note that you must not use T2 instance types for your application nodes. T2 instances are not sufficient for production environments, and using such may cause performance issues and outages.(https://confluence.atlassian.com/enterprise/node-sizing-overview-for-atlassian-data-center-941612709.html)

Assumptions

You should understand the concepts of VPC but no specific actions are required.
You should install and configure AWS CLI. Subsequent steps rely on this.
Once you have created your key pair, stay logged in to your local Linux environment as your regular user for the following steps. Note: If git is not installed then you should install it before continuing.

Step-by-Step

If you have previously successfully installed Jira Service Desk and you wish to reinstall into a new VPC (probably after deletion of the previous VPC, but it is possible to run two ASIs in separate VPCs in the same account, perhaps in order to use one for test), skip straight to the CloudFormation Create Stack Step i.e. the EC2 Key Pair will likely exist (unless you wish to use a new key pair for this VPC/ASI) ,S3 steps will already have been completed (unless you plan to use a different version of the template) and you will already have a certificate (unless you plan to use a different DNS cname to access the service). Steps that may not need to be repeated have grey highlight below.

Clone a local copy of the Quick Start templates...

cd ~

git clone --recurse-submodules https://github.com/aws-quickstart/quickstart-atlassian-jira.git 

Create an S3 bucket...

aws s3 mb s3://mybucket --region eu-west-2

Change your region as appropriate. The command above attempts to generate a unique bucket name. Name the bucket with any unique name. Note the bucket name, we will need it later.

Upload the Quick Start templates to the S3 bucket...

cd ~

aws s3 cp quickstart-atlassian-jira s3://mybucket/quickstart-atlassian-jira --recursive --acl public-read

Update the bucket name if required

Request a Certificate using Amazon Certificate Manager (for the URL you intend to use to access JSD) and note the ARN. Either via console or CLI...

aws acm request-certificate --domain-name jsdtest.mydomain.co.uk --validation-method DNS

In the AWS Console, navigate to CloudFormation and Create Stack. 

Select "Template is ready"

For the Template Source select "Amazon S3 URL" and provide the URL of the Quick Start template in your S3 bucket.



Cut & Paste the URL below then update with your bucket name and region...

https://mybucket.s3.eu-west-2.amazonaws.com/quickstart-atlassian-jira/templates/quickstart-jira-dc-with-vpc.template.yaml

Specify stack details, referring to the Parameter Guide below...

Note that some Parameters cannot easily be Updated later without deleting and rebuilding the stack (e.g. CIDR blocks, SSL, DNS, Database Encryption)
Jira Service Desk
The BackMac tab refers to the optional "Backup Machine" backup solution provided by Atlassian.

All fields on the "Configure Stack options" page are optional.

On the "Review" page you need to tick the "Capabilities" check boxes at the bottom of the page.

The stack creation can take some time. Wait for it to complete. 

You can monitor via the Stacks page or using the CLI...aws cloudformation list-stacks --output yaml --stack-status-filter "CREATE_IN_PROGRESS" "CREATE_FAILED" "CREATE_COMPLETE" | grep -E 'StackName|StackStatus'

Update your DNS entry to point to LoadBalancerURL from the "Outputs" tab for your Stack.

Use the ServiceURL from the "Outputs" tab for your Stack to Connect to the new Jira Service Desk deployment.

ServiceURL should match your DNS entry!If you get an HTTP 503 error it generally means the Jira application is still starting. Wait 2 minutes and retry.

Enter a name for the Application (default is Jira).

Decide if the application should be Private or Public.

The Base URL should remain unchanged unless you already have a DNS alias setup. Given that we will probably want to enable SSL, we can leave the Base URL unchanged at this stage.

If you have a license key, enter it here. Use the link to generate a trial license if necessary.

(Only live Jira installations need a paid license, Test installations can be licensed with 90-day trial licenses)

When generating a license be sure that the Product and License Type are set correctly. The Server ID should be pre-propulated if you followed the link from the screen shown.

Set up an initial administrator acount when prompted. This can be changed/deleted later if necessary.

Email notifications can be set up now or later.

Choose a language. Optionally choose an Avatar.

You may be prompted to set your timezone.

You now have a working Jira Service Desk installation. But there are next steps to consider...

Next Steps

Changing the colour scheme is a good idea for a test system in order to avoid confusion.
It's a good idea to test and understand this process even if you revert back to 1 node when you are done.
Restore steps not yet successfully tested.
Single Sign On (only Azure AD tested)
Upgrade Jira Service Desk to a later version
For database upgrades, VPC changes

Bibliography

https://www.atlassian.com/software/jira/service-management/download-archives
https://aws.amazon.com/quickstart/https://aws.amazon.com/quickstart/architecture/jira/https://confluence.atlassian.com/enterprise/example-data-center-configurations-935363786.htmlhttps://confluence.atlassian.com/enterprise/node-sizing-overview-for-atlassian-data-center-941612709.htmlhttps://confluence.atlassian.com/adminjiraserver/installing-jira-data-center-938846870.htmlhttps://confluence.atlassian.com/enterprise/deploying-enterprise-scale-jira-on-aws-a-step-by-step-guide-979435325.htmlhttps://confluence.atlassian.com/enterprise/jira-data-center-sample-deployment-and-monitoring-strategy-953148860.htmlhttps://confluence.atlassian.com/enterprise/infrastructure-recommendations-for-enterprise-jira-instances-on-aws-969532459.htmlhttps://confluence.atlassian.com/enterprise/infrastructure-recommendations-for-enterprise-confluence-instances-on-aws-965544795.html
https://confluence.atlassian.com/jirakb/use-the-jira-config-properties-file-to-customize-an-aws-quick-start-deployment-993922385.htmlhttps://confluence.atlassian.com/jirakb/edit-the-jira-config-properties-file-in-jira-server-317194938.htmlhttps://confluence.atlassian.com/adminjiraserver/advanced-jira-application-configuration-938847847.htmlhttps://confluence.atlassian.com/adminjiraserver/supported-platforms-938846830.html 
Instance Typeshttps://aws.amazon.com/ec2/instance-types/ https://aws.amazon.com/ec2/instance-types/c5/ https://aws.amazon.com/ec2/instance-types/m5/ https://aws.amazon.com/blogs/aws/m5-the-next-generation-of-general-purpose-ec2-instances/ https://aws.amazon.com/rds/instance-types/ 
Atlassian Standard Infrastructure (ASI) on the AWS Cloudhttps://aws-quickstart.s3.amazonaws.com/quickstart-atlassian-services/doc/atlassian-standard-infrastructure-on-the-aws-cloud.pdf
Jira Software and Jira Service Desk Data Center on the AWS Cloudhttps://aws-quickstart.s3.amazonaws.com/quickstart-atlassian-jira/doc/jira-software-data-center-on-the-aws-cloud.pdf
Ansiblehttps://bitbucket.org/atlassian/dc-deployments-automation/src/master/https://bitbucket.org/atlassian/dc-deployments-automation/src/master/README.md