Ответ
AWS предлагает обширный портфель сервисов. С точки зрения DevOps я активно работаю со следующими ключевыми группами:
1. Вычислительные ресурсы (Compute):
- EC2 (Elastic Compute Cloud): Виртуальные серверы. Использую для управления инстансами через Auto Scaling Groups, Launch Templates с AMI.
- Lambda: Бессерверные функции. Настраиваю триггеры от S3, API Gateway, CloudWatch Events.
- ECS/EKS (Elastic Container Service/Kubernetes Service): Оркестрация контейнеров. Разворачивал кластеры EKS, настраивал Fargate для serverless-контейнеров.
2. Хранилище (Storage):
- S3 (Simple Storage Service): Объектное хранилище. Настраивал lifecycle policies, версионирование, статический хостинг и политики доступа (Bucket Policies, CORS).
- EBS (Elastic Block Store): Блочные тома для EC2. Работал с snapshots для резервного копирования.
- EFS (Elastic File System): Сетевая файловая система NFS для совместного доступа между инстансами.
3. Сети и доставка контента (Networking & CDN):
- VPC (Virtual Private Cloud): Фундамент сетевой изоляции. Создавал публичные/приватные подсети, NAT Gateways, VPC Peering, Transit Gateway.
- ALB/NLB (Application/Network Load Balancer): Маршрутизация трафика. Настраивал target groups, health checks, SSL termination.
- CloudFront: CDN. Интегрировал с S3 и Lambda@Edge для кастомизации ответов.
- Route 53: DNS-сервис. Настраивал хостинг зон, различные типы записей (A, CNAME, Alias) и health checks для failover.
4. Управление инфраструктурой как код (IaC) и CI/CD:
- CloudFormation: Декларативное описание всей инфраструктуры в YAML/JSON. Использую nested stacks, Change Sets.
- AWS CDK (Cloud Development Kit): Определение инфраструктуры на Python/TypeScript, что затем синтезируется в CloudFormation.
- CodePipeline, CodeBuild, CodeDeploy: Полный managed CI/CD пайплайн. Настраивал сборку Docker-образов в CodeBuild и деплой на ECS через CodeDeploy.
5. Мониторинг и логирование (Monitoring & Logging):
- CloudWatch: Метрики, алерты, дашборды. Настраивал алерты на CPUUtilization, статус Health Checks. Использую Logs Insights для анализа логов из VPC Flow Logs, Lambda.
- CloudTrail: Аудит всех API-вызовов в аккаунте. Включал для соответствия требованиям безопасности.
Пример CloudFormation для создания безопасного VPC с публичной и приватной подсетями:
AWSTemplateFormatVersion: '2010-09-09'
Resources:
MyVPC:
Type: AWS::EC2::VPC
Properties:
CidrBlock: 10.0.0.0/16
EnableDnsSupport: true
EnableDnsHostnames: true
Tags:
- Key: Name
Value: Production-VPC
PublicSubnet:
Type: AWS::EC2::Subnet
Properties:
VpcId: !Ref MyVPC
CidrBlock: 10.0.1.0/24
MapPublicIpOnLaunch: true
AvailabilityZone: !Select [0, !GetAZs '']
InternetGateway:
Type: AWS::EC2::InternetGateway
VPCGatewayAttachment:
Type: AWS::EC2::VPCGatewayAttachment
Properties:
VpcId: !Ref MyVPC
InternetGatewayId: !Ref InternetGateway
PublicRouteTable:
Type: AWS::EC2::RouteTable
Properties:
VpcId: !Ref MyVPC
PublicRoute:
Type: AWS::EC2::Route
Properties:
RouteTableId: !Ref PublicRouteTable
DestinationCidrBlock: 0.0.0.0/0
GatewayId: !Ref InternetGateway
PublicSubnetRouteTableAssociation:
Type: AWS::EC2::SubnetRouteTableAssociation
Properties:
SubnetId: !Ref PublicSubnet
RouteTableId: !Ref PublicRouteTable