EKS Cluster

The possible infrastructure vary depending on what are the AWS services for hosting MetaDefender Core and how the PostgreSQL database is provisioned

Options:

  1. EC2 Instances + AWS RDS
  2. EC2 Instances + PostgreSQL Pod
  3. AWS Fargate + PostgreSQL Pod
  4. AWS Fargate + AWS RDS

We offer a provisioning script that depending on the selection, we automatically provision the cluster for you and install the K8S components needed for MetaDefender Core service.

MetaDefender PostgreSQL database details

Recommendations

For running MetaDefender Core in a Kubernetes cluster we recommend to use, for production environments, an external database service for PostgreSQL. In case of AWS it is AWS RDS which the script will install and configure to be accessible from the cluster.

For non-production environments or for stateless use cases, we offer the option of installing the database within the cluster using a standard PostgreSQL image.

EC2 Instances + AWS RDS / PostgreSQL Pod

AWS Fargate + AWS RDS / PostgreSQL Pod

Resources Inventory

Access Management

Service TypeResource NameDescription
IAM Roleterraform-<CLUSTER_NAME>-cluster-ServiceRoleIAM Role for the cluster to assume the policies attached to it
IAM Roleterraform-<CLUSTER_NAME>-cluster-NodeInstanceRoleIAM Role for the nodes to assume the policies attached to it
IAM Policyterraform-<CLUSTER_NAME>-cluster-PolicyELBPermissionsPolicy for the EKS cluster to be able to get networking information for configurations
IAM Policyterraform-<CLUSTER_NAME>-cluster-PolicyCloudWatchMetricsPolicy for the EKS cluster to be able to put metrics in CloudWatch
IAM Policyterraform-<CLUSTER_NAME>-cluster-PolicyAWSLoadBalancerControllerPolicy for the nodes to be able to modify the load balancer settings
TLS Private KeyNAGenerates a secure private key stored in the Terraform state file
AWS Key Pair<CLUSTER_NAME>Upload to AWS the OpenSSH public key format to logging-in to the Worker Nodes.
EKS Cluster Auth configterraform-<CLUSTER_NAME>-cluster-Generates the kubeconfig file for accessing to the cluster with Kubectl

Networking

Service TypeResource NameDescription
AWS Network Load BalancerAWS AutogeneratedNetwork load balancer (Not created from terraform, created using eks_install_lb_controller.sh )
VPCterraform-<CLUSTER_NAME>-cluster/VPCVPC for the whole architecture to be deployed in
3 Public Subnetsterraform-<CLUSTER_NAME>-cluster/SubnetPublicX3 public subnets deployed in 3 different availability zones
3 Private Subnetsterraform-<CLUSTER_NAME>-cluster/SubnetPrivateX3 private subnets deployed in 3 different availability zones
Internet Gatewayterraform-<CLUSTER_NAME>-cluster/InternetGatewayInternet Gateway service to allow the cluster to access to internet
Public NAT Gatewayterraform-<CLUSTER_NAME>-cluster/NATGatewayPublic NAT gateway for the services in the private network to access to the public network and route the traffic to the internet gateway to access to internet
Elastic IPterraform-<CLUSTER_NAME>-cluster/NATIPPublic IP attached to the NAT gateway for accessing to internet

Security

Service TypeResource NameDescription
Security Groupterraform-<CLUSTER_NAME>-cluster-ClusterSharedNodeSecurityGroupCommunication between all nodes in the cluster
Security Groupterraform-<CLUSTER_NAME>-cluster-ControlPlaneSecurityGroupCommunication between the control plane and worker nodegroups
Security Groupterraform-<CLUSTER_NAME>-cluster-remoteAccessAllow SSH access to the managed Worker Nodes in the Node Group
Security Groupterraform-<CLUSTER_NAME>-cluster-PostgreSQLSecurityGroupAllow access to postgres db

Compute

Service TypeResource NameDescriptionOption
EKS Cluster<CLUSTER_NAME>EKS Cluster service for managing the Kubernetes ClusterAll
EKS Node Groupterraform-<CLUSTER_NAME>-nodegroupNode group configuration of the Worker nodes of the EKS ClusterEC2 Instances
RDS Instance<CLUSTER_NAME>-postgres-dbPostgreSQL engine in RDS instanceAWS RDS
EKS Fargate Profilefp-<CLUSTER_NAME>Fargate Profile configurationAWS Fargate
Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard