Semana 5

Una semana que no inicio tan bien pero bueno el punto es que tenia que tener ya mi problema propuesta dada al profesor al cual fue el uso de la piel animal para las industrias de la moda, es más como…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




Deploy Crystal Report Infrastructure on AWS using Packer and Terraform

Deploy elastic crystal report infrastructure using Packer & Terraform on AWS

If you are using Crystal Reports part of your product stack in AWS then this tutorial might help you to deploy infrastructure in almost no time with some configuration changes based on your need.

Even if you are not using crystal and trying to figure out Image creation and deployment of instances in the automated method then this will provide you a high-level idea. You can eliminate crystal specific resources from both of the repositories provided and make it work for your needs.

This tutorial is to create an Elastic crystal report infrastructure in AWS. Having a CI/CD pipeline for building images and deploying EC2 instances helps towards the goal of Infrastructure as a Code (IaaC). You can use any CI/CD tool of your choice like GitLab, Jenkins, or any other. This tutorial is based on two repositories. First to build AWS Image and a second one to deploy EC2 instances using the Image built-in step 2.

High level overview of CI/CD Pipeline:

AWS Keys are used as a variable only for this blog and tutorial purpose. Recommended approaches are using Vault to get credentials from there or use Role to assume for automated infrastructure deployment.

Install Packer

Install Yacker

Install Terraform

Packer configuration in YAML Format

Packer configuration in JSON Format

Follow README markdown file for instruction. Update all elements per your AWS network configuration. Setup environment variables before executing any Packer commands.

Packer project structure

Environment Variables needed to create image-based on above configuration

Validate → Inspect → Build

Validate: check that a template is valid

Inspect: see components of a template

Build: build image(s) from template

Login to your AWS account through the browser of your choice and Navigate to EC2 Service. Click on AMIs link from side nav bar and search by any tag or name given for the image. Once you have the AMI ID, use that for Terraform deploy.

Terraform Project Files

**NOTE: Cloud watch and Auto Scaling Group (ASG) configuration with Launch Template will help to scale Crystal Report instances elastically as needed. Cloud watch also important for the Monitoring of Crystal EC2 Instances.

**NOTE: Identity and Access Management (IAM) and Security Groups (SG) will help in securing infrastructure in terms of what is exposed and how to communicate with services deployed on Crystal EC2 instances once it is deployed.

Init → Plan → Apply → Destroy

Init: Initialize a Terraform working directory

Plan: Generate and show an execution plan

Apply: Builds or changes infrastructure

Destroy: Destroy Terraform-managed infrastructure

Login to your AWS Account through the browser of your choice and Navigate to EC2 Service. Click on Instances link from side nav bar and search for instances by any tag or name given through terraform. Once you find your instances you can use instance information to remote desktop in.

Please feel free to send Pull Requests to these repositories if you can assist with any improvements.

Add a comment

Related posts:

Anybody Thinking Out There?

The world is a dangerous place even when you’re blessed with good genes. Good genes means your coding is so bulletproof that cells just keep reproducing perfectly like an aircraft that constantly…

Buy Verified Binance Accounts

Binance is one of the most popular cryptocurrency exchanges in the world. And it’s no surprise that many people are looking for ways to get verified accounts on the platform. There are a few benefits…

Mental Floss

There should be a product called Mental Floss so all the dummies can use it to get rid of all the shit in their brains.. “Mental Floss” is published by Richard Catto.