AWS Immuta Deployment

Prerequisites

This article uses skopeo to copy container images betweeen registries. Please install for your host OS according to the documentation here:

Deployment Steps

Create Immuta image repositories in ECR

Authenticate to ECR

Copy images to ECR

Deploy EKS Cluster

Run eksctl create cluster with a file like the one below but updated with appropriate values for the destination environment

Cluster Config

Create service account for the EBS CSI Driver and AWS Load Balancer Controller

This creates an IAM role and associates it with a kubernetes service account. For the ebs-csi-controller we only create the IAM role and allow the addon to create the service account.

Prerequisites

Enable the EBS CSI Driver Addon

Deploy the AWS Load Balancer Controller

Deploy external-dns

If you control the DNS zone your application is being deployed to from the existing AWS account, you can automatically make DNS updates by installing external-dns

Create RDS Instance in EKS VPC

Create Bastion EC2 to configure RDS

Allow inbound SSH to the shared node security group. Recommend limiting CIDR to something more narrow than in this example:

Launch an instance using the latest Amazon Linux 2023 image

SSH Into the EC2 instance and install postgresql client

Connect to the RDS endpoint using the credentials set when creating the instance

Complete the steps in the Immuta documentation for first time database setup

Create an Opensearch Domain

Install Immuta

Example values

Additional Annotations for ALB

All available annotations for the AWS Load Balancer Controller can be found at the link below. It may be worth noting enabling deletion protection via:

Last updated