Skip to content

dtphuc/cloudformation-jira-application-templates

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Deploying Atlassian Jira with CloudFormation

NOTE: This stacks is inherited from Jira products on AWS. However, I already added supporting RDS(PostgreSQl/MySQL) so that you can have more options to choose which DB you want to use.

infrastructure-overview

Prerequisites Notes

The Security Group IP address is open by default (testing purpose). Update the Security Group Access with your own IP Address to ensure your instances security.

Before you can deploy this process, you need the following:

  • Amazon EC2 key pair
  • Domain in Route 53.
  • ACM Certificate
  • S3 Bucket

The repository consists of a set of nested templates that deploy the following:

  • A VPC with public and private subnets, spanning an AWS region.
  • A RDS PostgreSQL/MySQL with Multi-AZ or Amazon Aurora
  • Two NAT gateways to handle outbound traffic.
  • An ALB to the public subnets to handle inbound traffic.
  • Jira Application

Templates Structure

The templates below are included in this repository and reference architecture:

Template Description
templates/quickstart-jira-dc-with-vpc.template.yaml This is the master template - deploy it to CloudFormation and it includes all of the nested templates automatically.
templates/quickstart-jira-dc.template.yaml This template will create ALB, ASG, EFS, RDS, EC2, etc.. The Jira DC will be placed in EC2 and CFN will run Ansible to download/install/configure Jira Application.
templates/quickstart-vpc-for-atlassian-services.yaml This template deploys a VPC with a pair of public and private subnets spread across two Availability Zones. It deploys an Internet gateway, with a default route on the public subnets. It deploys 2 NAT gateways, and default routes for them in the private subnets, and Bastion Host to access the instances in Private subnets.
templates/quickstart-database-for-atlassian-services.yaml This template deploys a Amazon Aurora PostgreSQl or RDS PostgreSQl/MySQL based on your condition.
templates/aurora_postgres.template.yaml This template deploys Amazon Aurora PostgreSQL.
templates/quickstart-rds-for-atlassian-services.yaml This template deploys a RDS PostgreSQl or MySQL based on your condition.
templates/jira.template.yaml This template deploys Jira App into an existing VPC.

After the CloudFormation templates have been deployed, the stack outputs contain a link to the site URLs.

How to deploy

You can launch this CloudFormation stack in your account:

  1. Checkout the code, make your own changes in params/params.init and make the prerequisites updates.
  • Create Amazon EC2 key pair (If you want to deploy Bastion Host)

  • Create a domain in Route 53 (If you want to use your own domain.)

  • Create an ACM certificate (If you want to use your own certs)

  • Create S3 Bucket to store CFN templates.

    $ aws s3 mb s3://<YOUR_S3_BUCKET> --profile <YOUR_AWS_PROFILE>
  1. Need to have AWS CLI in your laptop.

  2. Upload the files in the "templates" directory into to your own S3 bucket.

$ AWS_PROFILE=<YOUR_AWS_PROFILE> BUCKET_NAME=<YOUR_S3_BUCKET> make init
  1. Deploy the whole stacks (include new VPC and Jira DC.)
$ AWS_PROFILE=<YOUR_AWS_PROFILE> STACK_NAME=<STACK_NAME> BUCKET_NAME=<YOUR_S3_BUCKET> make create-stacks
  1. Deploy the Jira DC stacks in an existing VPC.
$ AWS_PROFILE=<YOUR_AWS_PROFILE> STACK_NAME=<STACK_NAME> BUCKET_NAME=<YOUR_S3_BUCKET> make create-jira-only
  1. Delete the stacks
$ AWS_PROFILE=<YOUR_AWS_PROFILE> STACK_NAME=<STACK_NAME> BUCKET_NAME=<YOUR_S3_BUCKET> make delete-stacks
  1. Clean up CFN templates in S3
$ AWS_PROFILE=<YOUR_AWS_PROFILE> STACK_NAME=<STACK_NAME> BUCKET_NAME=<YOUR_S3_BUCKET> make clean-up

Author

Jason Dang

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published