(408) 800-2536 support@dasera.com

Welcome to Dasera's Knowledge Base

You will find your answers here!

    Sorry, we didn't find any relevant articles for you.

    Send us your queries using the form below and we will get back to you with a solution.

    Installing Dasera applications via AWS Terraform

    This article applies to customers who self-host a Dasera instance within their own infrastructure.

     

    Overview

    These instructions are used to configure an AWS Terraform script that provisions all AWS resources necessary for running a Dasera environment within your own AWS VPC. 

    Prerequisites

    Before beginning, the Dasera AMI needs to be shared with your organization. To request a trial AMI, please contact sales@dasera.com and supply:

    • Your AWS account number;
    • The AWS region where you will deploy the Dasera instance (which we require in order to share the image)

    In addition you should have the following pre-requisites validated prior to commencing the installation:

    • Admin privileges on the AWS user to be used for this installation. Specifically check from IAM Console under user section that your user have got AdministratorAcess and IAM FullAccess permissions assigned.
    • Note the Access key details for this AWS user from the  Security Credentials tab of IAM Console. Create a fresh one if none exist. This would be needed during the step “Setting up the installation environment” to configure your AWS environment from the AWS CLI.
    • Check from Route53 Dashboard that a hosted zone is available for the domain where the Dasera instance would be installed. Take a note of the Hosted zone ID which will be required during the installation step “Running the Terraform Script”. Scroll to the left in case the hosted zone details are not visible fully.
    • If requisite details are not visible or Hosted zone is not configured please contact your IT department for creation of the requisite zone. Refer to the Architecture diagram below and the HTTPS section for more details. The data warehouse which you would like to be scanned with Dasera post installation must also be available and accessible within the same domain.

       
    • Check from ACM Console that a valid certificate exists for the domain on which you would be deploying the Dasera instance. Note down the ARN by clicking the certificate ID. This would be needed during the installation step “Running the Terraform Script
    • Check that you have got a SSH key pair available from EC2 Console under the Network and Security section. If not create one and download and store the same in your system. This would be needed during the installation step “Running the Terraform Script
    • Confirm all the requisite software tools are installed and configured in your system. You would need to have the following toolset installed and configured to be available in the PATH while invoking them from a terminal prompt 

    In addition, ensure that you validate the latest version of these toolsets by running the following commands at your terminal prompt:

    terraform --version (Ver 1.3.2 or higher)
    aws --version (Ver 2.8.2 or higher)
    git --version (Ver 2.38.x or higher)

    Architecture Details

    HTTPS

    Our Terraform module creates an HTTPS application load balancer (ALB) in AWS ELB to ensure that all communication with the Dasera web application is encrypted with SSL/TLS. 

    The module expects that:

    • The DNS zone into which the domain name will go is hosted by AWS’s Route 53.
    • A certificate, valid for the domain name, is present in the AWS Certificate Manager (ACM).

    During installation the module creates a DNS subdomain for the new Dasera instance based on its public IP address. The module assigns this domain name to the ALB and configures the SSL certificate for the subdomain automatically.

    Note: The security group of the Dasera EC2 instance allows access on the HTTP port only from the created ALB, ensuring that connections to the Dasera web application must go through ALB. This enforces HTTPs for all connections to Dasera.

    SSH

    Our Terraform module creates a Dasera EC2 instance with a public IP address, so that it can be reached via SSH (required for upgrades and debugging). Its security group only allows access on the SSH port from designated addresses, as described below. The module expects an SSH key pair.

    Network

    By default, the Terraform module creates a new VPC for the Dasera software. Its subnets are public in order for Dasera to connect to all of the customer’s data warehouses, within or outside of the VPC (The ALB is created in this VPC.)

    The module allows for setting a CIDR for SSH ingress and a list of CIDRs for HTTPS ingress. These default to the whole Internet, but we advise setting them to more restricted values.

    Setting up the AWS Configuration

    • At the terminal prompt or  command shell type  aws configure and provide the inputs as below
    AWS Access Key ID :
    AWS Secret Access Key :
    Default region name [us-west-2]:
    Default output format [json]:

    Note : Your AWS CLI should be referenced in the PATH variable

    • Copy the following URL in your browser window to download the requisite Terraform scripts 
    https://dasera-release.s3.us-west-2.amazonaws.com/dasera-terraform.zip
    • Extract the Dasera Terraform scripts in your local system folder which will create a folder with two sub folders deploy and modules.

    Running the Terraform Script

    Navigate to one of the following directories created from the extraction above, depending on your desired outcome. For first time installations, we recommend navigating to the instance_and_roles folder.

    Deploy Instance & Create IAM Roles Create IAM Roles Only Deploy Instance Only
    deploy/instance_and_roles deploy/roles_only deploy/instance_only

    From that directory, run the following command to initiate your Terraform environment successfully. 

    terraform init

    If your initialization is successful you would see a message like “Terraform has been successfully initialized!”

     

    To validate that you have all the pre-requisites configuration details available for the installation, run the following command

    terraform plan

    When prompted, enter the following variables:

    # Variable Details
    1 acm_certificate_arn ARN of the AWS Certificate Manager (ACM) certificate to use for SSL termination on the load balancer as noted in the Pre-requisites section above. The certificate must be valid for subdomains of the parent_domain_name variable (see below).
    2 ami_id AMI ID of the Dasera image shared with your organization. This value can be found in your AMI Catalog when filtering by Owner = “Shared With Me”.
    3 availability_zone AWS Availability Zone (AZ) in which to launch the Dasera instance. The data warehouse must also be present in this AZ.
    4 hosted_zone_id ID of the AWS Route 53 Hosted Zone into which the subdomain for the instance will be added.
    5 key_name Name of an existing SSH key pair for the EC2 instance.
    6 parent_domain_name Name of the DNS domain in which a subdomain for the instance will be created. This must be in an AWS-hosted zone.

    If any of these details are not available with you or you receive an error please revisit the Prerequisites section at the start of the document before continuing further.

     

    To initiate the Terraform installation run the following command from the deploy/instance_and_roles folder.

    terraform apply

    The script will begin and perform the following actions:

    1. Prompt you to input - Provide the same set of 6 configuration details in sequence  as listed in the table above.
    2. Check for errors - In the event an error occurs, follow the on-screen instructions for correcting & resuming. 
    3. Outputs a resource modification list. To learn more about the resources created by the script, please expand the section below.
    4. Prompt you to confirm before executing. To confirm you must type yes.

    When the script completes successfully and the AWS resources are provisioned correctly, the output will similar to the following example. Take a note of the https_fqdn value and type the same in the browser and you would be able to access the Dasera signin page.

     
    Apply complete! Resources: XX added, 0 changed, 0 destroyed.
    
    Outputs:
    https_fqdn = "dasera.dasera.in"
    ids = "i-0d5f0f9e5b6587f38"
    ssh_ip = [
        "XXX.XXX.XXX.XXX",
    ]
    vpc_id = "vpc-00d9c34cbfad6cc50"
    

    Resources Created

    In the console output, the following resources are listed (depending on which deploy/ sub-directory was chosen above:

    Resource Type Resource Name
    EC2 Instance (m5.2xlarge) DaseraInstance
    IAM Role DaseraRole
    IAM Role DaseraGlueServiceRole
    IAM User DaseraUser

    Excerpt: Configure CloudFormation Stack: Roles

    In addition, the following permissions are assigned to the new IAM Roles:  Role N

    In addition, the following permissions are assigned to the new IAM Roles: 

    Role Name: DaseraRole

    Permission Name Purpose
    AWSGlueConsoleFullAccess Provides full access to AWS Glue via the AWS Management Console
    AmazonEC2ReadOnlyAccess For getting regions and instance IDs
    AmazonRDSReadOnlyAccess For discovering RDS clusters
    AmazonRedshiftReadOnlyAccess Required for discovering RedShift clusters
    AmazonAthenaFullAccess Required for discovering Athena clusters and running scans
    AmazonS3ReadOnlyAccess Required for scanning S3
    AmazonDynamoDBReadOnlyAccess Required for scanning DynamoDB

    Role Name: DaseraGlueServiceRole

    Permission Name Purpose
    AmazonS3ReadOnlyAccess Required for scanning S3
    AWSGlueServiceRole Required to allow access to related services including EC2, S3, and Cloudwatch Logs
     
     

    Generate API Keys

    Once your deployment is complete, you will need API keys for later use in connecting Dasera to the current AWS Account. Generate a new pair using the following instructions:

    Excerpt: AWS: Generate API Keys

    Navigate to the IAM Management Console > Users section . The Users list is dis

    1. Navigate to the IAM Management Console > Users section.
    2. The Users list is displayed.
    3. In the User name column, click on the DaseraUser hyperlink.
    4. The User Summary screen is displayed.
    5. Navigate to the Security credentials tab.
    6. Under the Access Key section, click the Create access key button.
    7. The Create access key modal is displayed.
    8. Download or copy the following values to your local machine for later use:
      1. Access key ID
      2. Secret access key

    Next Steps

    Was this article helpful?

    Still can't find what you are looking for?

    Contact Support