Запуск робочих навантажень на AWS може бути дорогим, особливо коли ваша архітектура включає кластери EKS, NAT Gateways і часті завантаження з ECR (Elastic Container Registry). Нещодавно я виявив, що значна частина моїх витрат на AWS приходила з витрат на передавання даних через NAT Gateway. Після швидкого розслідування мені вдалося заощадити 30 доларів на день, зробивши маленьку, але важливу зміну: увімкнувши VPC Endpoints для ECR.
Ось як ви можете досягти таких самих заощаджень всього за 5 кліків.
💸 Проблема: Високі витрати на NAT Gateway
При запуску кластеру EKS через різні зони доступності (AZs), кожен вузол завантажує контейнерні образи з ECR під час розгортання та перезапусків. За замовчуванням ці завантаження образів проходять через публічний інтернет, навіть якщо ваші вузли EKS і ECR знаходяться в тій самій AWS-області. Це призводить до непотрібних витрат на NAT Gateway.
Після увімкнення VPC Endpoints я зменшив ці витрати до майже нуля.
✅ Рішення: Увімкнення VPC Endpoints для ECR
AWS пропонує VPC Endpoints, які дозволяють вашим ресурсам комунікувати внутрішньо в мережі AWS без використання публічного інтернету. Створивши VPC Endpoints для ECR, ваші вузли EKS можуть завантажувати образи приватно, усуваючи витрати на NAT Gateway.
🎯 Що потрібно створити
Вам потрібно створити два типи VPC Endpoints:
- ECR API Endpoint (
com.amazonaws..ecr.api
) - ECR Docker Endpoint (
com.amazonaws..ecr.dkr
)
Ці точки доступу забезпечують:
- Ваші вузли EKS завантажують образи з ECR приватно.
- Відсутній публічний інтернет-трафік під час завантажень образів.
5 простих кліків для заощадження $30 на день
Ось як ви можете увімкнути VPC Endpoints всього за 5 кліків:
1️⃣ Перейдіть до консолі VPC
- Перейдіть у VPC в консолі управління AWS.
- У лівій панелі натисніть на Endpoints.
2️⃣ Клікніть на “Create Endpoint”
- Натисніть кнопку Create Endpoint, щоб розпочати налаштування ваших VPC Endpoints.
3️⃣ Виберіть служби ECR
- Знайдіть ECR в списку сервісів.
- Виберіть обидва:
- com.amazonaws..ecr.api
- com.amazonaws..ecr.dkr
4️⃣ Виберіть ваші приватні підмережі
- Виберіть Приватні підмережі, де розгорнуті ваші вузли EKS.
- Переконайтеся, що VPC Endpoints створюються в тій самій AZ що й ваші вузли.
5️⃣ Увімкніть приватний DNS
- Поставте галочку на Enable Private DNS Name, щоб ваші вузли EKS могли отримувати доступ до ECR, використовуючи стандартні доменні імена.
Натисніть Create Endpoint, і все готово!
🔍 Що відбудеться після змін?
Після налаштування VPC Endpoints:
- Ваші вузли EKS будуть завантажувати образи з ECR внутрішньо.
- Ви побачите нульові витрати на NAT Gateway пов’язані з завантаженням образів.
У моєму випадку я помітив зміни протягом 24 годин. Витрати на передавання даних через NAT Gateway знизились до майже нуля, і я заощадив близько 30 доларів на день.
Перекладено з: How I Saved $30/Day on AWS with These 5 Simple Clicks