h1. Request Details
h2. Background
TAP application will be scheduled for decommission. Therefore, each product service should create their own administration service in order to change their application as a replacement for TAP application. This cluster will only be intended as a way for Accommodation Pricing Operation team managing their application that currently still resides on TAP.
Refer to : https://29022131.atlassian.net/browse/TOSD-3960 as last Design Review with Site Infra, it would be another request for HPT Migration part but this request intended to be AINOPS stack only.
h2. Purpose
To host back-end service API for Accommodation Pricing administrative tools towards micro services architecture, which will allow more flexible development and scaling for the service, and more maintainability for both service and infrastructure.
h2. Impact
Since TAP application will be scheduled for decommission, it should be any replacement for TAP backend part
h2. Risk
There will be additional load in current internal service AINGINE as Operation team moving from TAP to Accom Dashboard
h3. EC2
h4. Configuration
{code}
count = "2"
instance_type = "m4.large"
ebs_optimized = "false"
disable_api_termination = "false"
root_block_device = {
volume_type = "gp2"
volume_size = "8"
delete_on_termination = "true"
}
tags = {
Service = "ainops"
Cluster = "ainops-app"
ProductDomain = "ain"
Application = "java-7"
Environment = "production"
Description = "Accom Pricing Operations"
}
{code}
h3. ALB
h4. Configuration
{code}
name ="ainops-lbint-<random_id>"
security_groups = "ainops-lbint"
internal = "true"
idle_timeout = "60"
enable_deletion_protection = "false"
tags = {
Name = "ainops-lbint-01"
Service = "ainops"
ProductDomain = "ain"
Environment = "production"
Description = "ainops-app internal load balancer"
}
{code}
h4. Listener
{code}
port = "443"
protocol = "HTTPS"
default_action {
target_group_arn = "ainops-app"
type = "forward"
}
{code}
h4. Target Group
{code}
name = "ainops-app"
port = "61202"
protocol = "HTTP"
deregistration_delay = "300"
tags = {
Name = "ainops-app"
Service = "ainops"
ProductDomain = "ain"
Environment = "production"
Description = "Target Group for Accom Pricing Operations"
}
health_check = {
interval = "30"
path = "/healthcheck"
port = "traffic-port"
protocol = "HTTP"
timeout = "5"
healthy_threshold = "5"
unhealthy_threshold = "2"
matcher = "200"
}
{code}
h4. DNS Record
ainops.main.tvlk.cloud
h3. Connectivity
https://docs.google.com/spreadsheets/d/1lE3Y19s2B2gRSiUyW4tTDFZHF4S8RbKfWtdi2q-B2L4/edit?usp=sharing