Введение в контейнеры AWS

Контейнеры - это стандартизированные модули разработки программного обеспечения, которые позволяют упаковать код, конфигурации и зависимости вашего приложения в один объект. Контейнеры основаны на принципах виртуализации на уровне ОС. Он позволяет запускать приложение и его зависимости в процессах с изолированными ресурсами, что обеспечивает быстрое, надежное и согласованное развертывание в любой среде.

Типы Контейнеров

Инструменты управления контейнером можно разделить на три типа: реестр, оркестровка и вычисления. Услуги реестра помогут вам безопасно хранить и управлять изображениями контейнеров. Оркестровка управляет, когда и где работают ваши контейнеры. И вычислительные двигатели приводят в действие ваши контейнеры. Все базовые инфраструктуры позаботились об AWS. Контейнеры делают разработку и внедрение простыми и эффективными.

1. Реестр

Amazon Elastic Container Registry (ECR)

Это легко масштабируемый, высокодоступный, защищенный и полностью управляемый реестр контейнеров Docker. Это помогает разработчикам эффективно хранить, управлять и развертывать образы контейнеров Docker. Amazon ECR интегрирован с Amazon Elastic Container Service (ECS), что упрощает развертывание. Amazon ECR оплачивается только за объем данных, которые вы храните в своих хранилищах, и за данные, передаваемые в Интернете.

Пример создания образа Docker простого веб-приложения и помещения его в Amazon ECR:

  1. Создайте файл, Dockerfile.

  1. Отредактируйте Dockerfile.

  1. Создайте образ Docker.

  1. Проверьте образ Docker, запустив его.

Выход:

  1. Запустите недавно созданный образ.

  1. Направьте ваш браузер на http://locallhost.com/, и результат будет:

  1. Остановите контейнер Docker, набрав Ctrl + c.
  2. Вставьте ваше изображение в Amazon ECR. Создайте репозиторий Amazon ECR для хранения изображения.

Выход:

  1. Пометьте изображение примера ecr значением Uri.

  1. Запустите команду аутентификации входа Docker для вашего реестра.

  1. Запустите команду входа в Docker.
  2. Вставьте изображение в Amazon ECR с помощью хранилища Uri

2. Оркестровка

Amazon Elastic Container Service (ECS)

Это полностью управляемая, масштабируемая и высокопроизводительная служба управления контейнерами. Он поддерживает контейнеры Docker и позволяет пользователям эффективно запускать приложение в управляемом кластере экземпляров EC2. Установки и операции оркестровки контейнеров управляются AWS.

Пример развертывания контейнеров Docker в Amazon ECS:

  1. Amazon ECS - настройка при первом запуске. Позволяет создавать кластеры и запускать примеры веб-приложений. Вы войдете в консоль Amazon ECS и запустите мастер. Вы также можете использовать Amazon ECR, чтобы создать репозиторий изображений и вставить в него изображение.

Выберите опцию и выберите Продолжить.

  1. Создание определения задачи: это проект вашего приложения. Просмотрите значения по умолчанию и выберите следующий шаг.

  1. Конфигурация службы. Служба запускает и поддерживает копии определения задачи в кластере.
  • Имя службы. По умолчанию AWS предоставляет образец веб-приложения Hello World.
  • Требуемое количество задач: По умолчанию установлено значение 1 для уровня бесплатного пользования AWS.
  • Упругая балансировка нагрузки: вы можете использовать балансировщик нагрузки с вашим сервисом.
  • Имя контейнера: Порт хоста: выберите Simple-app : 80 и оставьте по умолчанию остальные поля.

Выберите Service IAM Role, если он у вас уже есть, из раскрывающегося списка, или Amazon ECS создаст роль службы ECS по умолчанию.

Просмотрите ваши входные данные и выберите следующий шаг.

  1. Конфигурация кластера
  • Имя кластера: имя по умолчанию - образец-кластер .
  • Тип экземпляра EC2: Тип по умолчанию - t2.micro для уровня бесплатного пользования AWS.
  • Число экземпляров: значение по умолчанию равно 1 для уровня бесплатного пользования AWS.
  • Пара ключей: вы можете продолжить, выбрав один - Unable to SSH .
  • Группа безопасности: везде по умолчанию. Это позволяет получить доступ ко всему интернету.
  • Роль IAM контейнера: выберите его, если он у вас уже есть, из раскрывающегося списка или

Amazon ECS создаст один по умолчанию.

Выберите Просмотр и запуск.

  1. Запустить и просмотреть ресурсы

Вы можете просмотреть определение задачи, конфигурацию задачи и конфигурации кластера перед запуском.

Выберите Запустить экземпляр и запустить сервис.

После завершения запуска выберите Просмотр службы.

  1. Откройте образец приложения. Вы можете проверить и запустить пример приложения, указав в браузере DNS-имя балансировщика нагрузки.

Откройте страницу примера веб-приложения и выберите имя своего балансировщика нагрузки.

Скопируйте DNS-имя ELB, вставьте его в новый браузер и нажмите Enter на клавиатуре.

Вы можете просмотреть пример приложения.

Вы также можете очистить свои ресурсы в любое время, чтобы избежать ненужных расходов.

Амазон Эластик Кубернетес Сервис (EKS)

Он позволяет легко управлять, развертывать и масштабировать приложения в контейнерах с помощью Kubernetes в AWS. Служба Kubernetes работает в нескольких зонах AWS, чтобы исключить единую точку ошибки. Amazon EKS - это сертифицированная интеграция Kubernetes, вы можете легко перенести приложение, работающее в любой стандартной среде Kubernetes, на AWS EKS.

3. Вычислить

Amazon Elastic Compute Cloud (Amazon EC2)

Это безопасная вычислительная емкость с изменяемым размером в облаке, которая запускает контейнеры в инфраструктурах виртуальных машин с полным контролем масштабирования и конфигурации. Это дает вам полный контроль над своими вычислительными ресурсами. Это сокращает время, необходимое для получения и загрузки новых экземпляров сервера, до нескольких минут. Amazon EC2 предоставляет разработчикам инструменты для создания отказоустойчивых приложений.

Пример. Установите веб-сервер LAMP с помощью Amazon Linux AMI.

Этот пример помогает вам установить веб-сервер Apache с поддержкой PHP и MySQL на ваш экземпляр Amazon Linux (также называемый веб-сервером LAMP).

  1. Подключитесь к экземпляру Linux.
  2. Обновите пакеты программного обеспечения, если таковые имеются.

  1. Установите пакеты веб-сервера Apache, MySQL и PHP с помощью команды yum install.

  1. Запустите веб-сервер Apache.

  1. Настройте веб-сервер Apache для запуска при каждой загрузке системы.

  1. Убедитесь, что httpd включен.

  1. Добавьте новое входящее правило безопасности со следующими значениями:
  • Тип: HTTP
  • Протокол: TCP
  • Диапазон портов: 80
  • Источник: Custom
  1. Протестируйте веб-сервер, введя адрес DNS в веб-браузере.
  2. Установите необходимые разрешения для файлов, если это необходимо.
  3. Проверьте свой сервер LAMP.
  4. Защитите сервер базы данных.

AWS Fargate

Это серверный вычислительный механизм для Amazon ECS, который позволяет запускать контейнеры без управления серверами. Amazon заботится обо всех основах управления серверами, позволяя вам сосредоточиться на разработке и создании ваших приложений

Имеет два режима:

Тип запуска Fargate: Упакуйте свое приложение в контейнеры, укажите требования к процессору и памяти, определите сетевые политики и политики IAM и запустите приложение.

Тип запуска EC2: позволяет на уровне сервера контролировать объект, который запускает ваши контейнерные приложения.

Преимущества контейнеров AWS

  • Запускается везде: контейнеры упаковывают ваш код с файлами конфигурации и зависимостями, которые ему необходимы для последовательной работы в любой среде.
  • Улучшение использования ресурсов. Контейнеры обеспечивают изоляцию процессов, что позволяет настроить использование ЦП и памяти для более эффективного использования вычислительных ресурсов.
  • Быстрое масштабирование: каждый контейнер работает как отдельный процесс, который разделяет ресурсы базовой операционной системы. Это позволяет контейнерам запускаться и останавливаться быстро.

Как это работает?

  1. Создайте образ контейнера: упакуйте свой код и все его зависимости в контейнер.
  2. Автоматизация тестирования и развертывания: стандартизированная единица кода, контейнер действует как единое целое
  3. Запуск в любом месте: ваш контейнер будет работать в любой среде последовательно.
  4. Быстрое масштабирование: контейнеры запускаются и заканчиваются быстро, поэтому ваше приложение может масштабироваться вверх и вниз

Вывод - контейнеры AWS

Amazon предоставляет широкий спектр услуг для хранения, управления и запуска контейнеров. Контейнеры облегчают разработку и развертывание для разработчиков, поскольку Amazon заботится обо всех базовых инфраструктурах, включая управление серверами, что позволяет разработчикам сосредоточиться на своей разработке. Выберите правильный сервис AWS для вашей рабочей нагрузки.

Рекомендуемые статьи

Это руководство по контейнерам AWS. Здесь мы обсуждаем Введение, Типы Контейнеров, которые включают Реестр, Оркестровку и Вычисления наряду с Преимуществами Контейнеров AWS. Вы также можете посмотреть следующие статьи, чтобы узнать больше:

  1. Сервисы AWS
  2. AWS Kinesis
  3. Архитектура AWS
  4. Что такое AWS RedShift?
  5. Полное руководство для конкурентов AWS
  6. Изучите список функций веб-сервисов Amazon