ESET PRIVATE Scanning Solution – Table of Contents

AWS Dependency Services

This section catalogs all AWS services required for deploying ESET PRIVATE Static Scanning Engine on EKS or ECS platforms, organized by shared dependencies and platform-specific requirements. The tables detail each service's purpose and its relationship to the scanner deployment, IAM roles/policies, networking, and validation workflows from the provided guides.

Shared Services (EKS & ECS)

Service

Purpose

Relationship

AWS Marketplace

Product discovery, subscription and metering.

Users subscribe to the ESET PRIVATE Static Scanning Engine here; enables license validation (ListReceivedLicenses) and usage reporting (RegisterUsage) via Metering APIs.

Container Registry (Amazon ECR)

Stores and distributes Docker images for Scanner components.

Both platforms pull images (e.g., 709825985650.dkr.ecr...). Requires AmazonECSTaskExecutionRolePolicy + ECR read permissions.

AWS License Manager

Tracks received licenses and subscription status.

Scanner calls ListReceivedLicenses via IRSA to verify active subscription.

AWS Marketplace Metering Service

Tracks subscription usage metrics for billing and compliance tracking.

Marketplace subscription metric used to monitor and bill Scanner solution runtime costs based on actual user usage.

Amazon CloudWatch Logs

Centralized logging for troubleshooting.

EKS: Pod stdout → Logs via sidecar. ECS: awslogs driver to /ecs/scanner group. Essential for license/metering verification.

ESET Update Servers

Delivers continuously updated malware signatures, definitions, and scanning modules.

Scanner downloads periodically; requires outbound HTTPS to *.eset.com.

Without connectivity and successful downloads, core detection functions fail.

EKS-Specific Services

Required for Kubernetes-based deployments using IRSA credential injection.

Service

Purpose

Relationship

IAM Policy & Roles

 

EKS policy name: EKSListReceivedLicenses

Secure AWS API access.

Custom EKSListReceivedLicenses + AWSMarketplaceMeteringRegisterUsage attached to IRSA marketplace-sa in marketplace namespace.

 

Missing policy block scanner launch and license checks.

IAM Roles for Service Accounts (IRSA)

Pod-level AWS credential injection.

eksctl create iamserviceaccount  → Scanner pod: provisions marketplace-sa with policies above.

 

Scanner pod uses serviceAccountName: marketplace-sa for API calls.

 

Requires cluster OIDC provider.

Amazon EKS

Managed Kubernetes orchestrator for Scanner deployment.

Minimum single-node cluster with OIDC for IRSA. Deploys Scanner deployment + ClusterIP Service on ports 50051/50053.

ECS-Specific Services

Required for Fargate serverless deployments with task IAM roles and external NLB exposure.

Service

Purpose

Relationship

IAM Policy & Roles

 

ECS policy name: ECSListReceivedLicenses

Secure AWS API access.

Custom ECSListReceivedLicenses + AWSMarketplaceMeteringRegisterUsage attached to task role ecs-scanner-task-role; execution role ecs-scanner-execution-role for ECR/Logs.

 

Missing policy block scanner launch and license checks.

Amazon ECS

Managed container orchestrator (Fargate/EC2).

Fargate tasks (awsvpc mode, 1 vCPU/2GB) + service with NLB integration.

 

No IRSA needed.

Elastic Load Balancing (NLB)

External access to scanner.

TCP listener port 50051 → IP target group. Public endpoint for agent validation (${NLB_DNS}:50051).

VPC / Security Groups

Network isolation/access control.

Default VPC subnets + scanner-sg (inbound TCP/50051 from 0.0.0.0/0, public IP enabled).


note

Only services explicitly listed in the tables above are mandatory for ESET PRIVATE Scanning Engine deployment on AWS EKS/ECS. Anything not listed is not required, though customer-specific implementations and integrations may vary based on unique use cases, additional networking, monitoring, or custom configurations.