How to Deploy in AWS

How to Deploy in AWS

πŸ“œ Prerequisites

  • Create an AWS sub-account(optional but recommended). AWS sub-account will help monitor cost and will be more secure as there will be no interference with production or other workloads running in existing AWS accounts.

  • Create a user with the following users who should have below IAM permissions.

IAM User Permissions

πŸ‘€ Note: You can create a new IAM user or use an existing user with the above permissions to deploy Atlan CF.

  • In order to allow OutBound Emails from Atlan Product such as email notifications, user invites, users should have their SMTP server details. Details for the configurations are given below πŸ‘‡

    • SMTP Host

    • SMTP Port

    • SMTP UserName

    • SMTP User password

    • SMTP Sender email

πŸ› οΈ A Step-by-Step Guide for Atlan Cloud Deployment on AWS

STEP 1: Go to CloudFormation AWS console and select "Create a New Stack".

Could Formation AWS console

STEP 2: Fill in the required parameters that are needed by the CF template to create the resources.

Details of what to fill in each parameter field are given below.

  • A version of Cloudformation templates: A version of the CF templates that need to be deployed (Choose V4)

  • VPC Configurations: These parameters are needed to create network resources like VPC, InternetGateway, NatGateway, Subnets, and Security Groups. Defaults are already present but if you want to connect existing workloads using VPC peering, make sure the VPC CIDR range doesn’t overlap with your existing VPCs range.

  • Key Name: AWS key pair which will be used to launch EC2 machines.

  • Environment: Example - development, staging, or production.

  • Deployment Type: Keep it as a "trial" if it's for POC or "production" if it's for production.

  • License URL: Enter the License URL which is shared by the Atlan team.

  • SMTP Configs: SMTP server details in order to send outbound emails from deployment.

  • Launch Spark: If users need to run data quality jobs then enable it or else disable it.

  • High Availability: If users need to deploy services in HA mode where services will be running with 3 replicas then "enable", else "disable".

  • Monitoring: Atlan product comes bundled with monitoring solutions that include Prometheus, Grafana, and multiple service-specific exporters for metrics collectors. They are used to configure observability and alerting. As per the user requirement, you can either "enable" or "disable" it.

  • Logging: Atlan product comes bundled with a logging solution that extracts logs from the application and stores it by logging server on the product. It can be used for debugging and can also ship cluster logs to S3 bucket for historical logs. As per the user requirement, you can either "enable" or "disable" it.

The image below will help you in filling up the details.

Sample Parameter List-1
Sample Parameter List -2

STEP 3: After entering the values of the parameters, click on the "Next" button and define the Tags as per IT or Security compliance guidelines. Else, proceed to the next step by clicking on the "Next" button.

img

STEP 4: Verify all the details and enable the "IAM options" at the bottom and then click on the "Create stack" button.

img

STEP 5: It will take around 35 to 40 minutes for stack creation. Once created, please share the output of the CF stack with the Atlan team for product configuration.

img

Post- Cloudformation template is now successful πŸŽ‰

STEP 6: Setup Admin account**

Post-deployment, users need to set up the organization. Just follow the instruction given below to do that πŸ‘‡

  • Access the AtlanUrl which is displayed as output in CF stack and fill the setup page:

Setup Account Page
  • Log in with the email and password entered on the setup page.

Sign-in Page
  • You will receive a verification email. Once you verify, you will be able to access the product as an Admin user. Confirm your details and login.

img

STEP 7: Configure DNS and SSL/TLS

To invite users to the Atlan product, you need to configure the "Domain Name" and "SSL/TLS" for deployment. To do so follow the instructions given below πŸ‘‡

DNS: Create a CNAME record on your Domain Name server for the Atlan endpoint which you have received in Cloudformation Stack output.

For Example: If you got Atlan URL as a0376b0f5f0f74fcd9ef6aea05cb7e0c-6d16c0434f421af3.elb.ap-south-1.amazonaws.com and you want to access the product on https://xyz.company.com, then create a CNAME record as below on your Domain Name server.

Type: CNAME

Name: xyz.company.com

Target: a0376b0f5f0f74fcd9ef6aea05cb7e0c-6d16c0434f421af3.elb.ap-south-1.amazonaws.com​

STEP 8: Configure SSL/TLS**

Follow the instructions given below to configure SSL/TLS πŸ‘‡

  • Login to the release console with credentials (They are mentioned in Cloudformation Stack output).

Release Console Login Page
  • Go to the configuration section. Here we need to update the Product DNS and TLS/SSL.

Configuration Section
  • Update product DNS. Here, enter the DNS which we created for Atlan deployment. It will have AWS ELB DNS. Update it with the DNS which you created.

Domain Configuration Window
  • To configure TLS, upload the SSL/TLS certificates of your domain name and the key. This will help make the product accessible at https.

TLS Configuration Window
  • Next, scroll down to the bottom of the page and save the config. Your new product version has now been created. To implement the changes, click on the "Go to the new version" button

New Version Window
  • Now the system will perform the preflight checks. Click on "Deploy", once successful without any error, .

Preflight Checks Window

Once deployment of new changes completed access the product on DNS which you created. For example https://xyz.company.com.

Now you are ready to invite new users to Atlan 😊