Ознайомлення з контейнерами AWS

Контейнери - це стандартизовані одиниці розробки програмного забезпечення, які дозволяють вам упаковувати код, конфігурації програми та її залежності в один об'єкт. Контейнери виходять з принципів віртуалізації на рівні ОС. Це дозволяє запускати додаток та його залежність у процесах, виділених ресурсами, що забезпечує швидке, надійне та послідовне розгортання в будь-якому середовищі.

Види контейнерів

Інструменти управління контейнерами можна класифікувати на три типи: реєстр, оркестрація та обчислення. Служби реєстру допоможуть вам надійно зберігати та керувати зображеннями контейнерів. Оркестровка управляє, коли і де працюють ваші контейнери. І обчислювальні двигуни живлять ваші контейнери. Про всі базові інфраструктури опікується AWS. Контейнери роблять розробки та розгортання легкими та ефективними.

1. Реєстр

Реєстр еластичних контейнерів Amazon (ECR)

Це надзвичайно масштабований, високодоступний, високобезпечний і повністю керований реєстр контейнерів Docker. Це допомагає розробникам ефективно зберігати, керувати та розгортати зображення контейнерів Docker. Amazon ECR інтегрований з послугою Amazon Elastic Container Service (ECS), що спрощує розгортання. Amazon ECR сплачується лише за кількість даних, які ви зберігаєте у своїх сховищах, та дані, що передаються в Інтернеті.

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

  1. Створіть файл, Dockerfile.

  1. Відредагуйте Dockerfile.

  1. Побудувати образ Докера.

  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 (ECS)

Це повністю керована, високо масштабована та високоефективна послуга управління контейнерами. Він підтримує Docker-контейнери і дозволяє користувачам ефективно запускати додаток на керованому кластері екземплярів EC2. Установками та операціями з оркестровки контейнерів керує AWS.

Приклад розгортання контейнерів Docker на Amazon ECS:

  1. Amazon ECS - Налаштування першого запуску : це дозволить вам створювати кластери та запускати зразкові веб-програми. Ви увійдете в консоль Амазонки ECS та запустіть майстра. Ви також можете скористатися Amazon ECR, щоб створити сховище зображень і натиснути на нього зображення.

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

  1. Визначення завдання Створення: Це креслення вашої програми. Перегляньте значення за замовчуванням та виберіть Наступний крок.

  1. Конфігурація служби: служба запускає та підтримує копії визначення завдання у вашому кластері.
  • Назва сервісу: AWS за замовчуванням надає зразковий веб-додаток “Hello World”.
  • Бажана кількість завдань: значення за замовчуванням - 1, для вільного рівня AWS.
  • Еластичне врівноваження навантаження: Ви можете використовувати балансир навантаження для вашої послуги.
  • Назва контейнера: Порт хоста: виберіть Простий додаток : 80 та за замовчуванням залишилися поля.

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

Перегляньте свої дані та виберіть Наступний крок.

  1. Конфігурація кластера
  • Назва кластера: ім'я за замовчуванням - кластер зразка .
  • Тип екземпляра EC2: Типовим типом є t2.micro для вільного рівня AWS.
  • A Кількість примірників: значення за замовчуванням - 1, для вільного рівня AWS.
  • Пара клавіш: Ви можете продовжити, вибравши один - Не вдається SSH .
  • Група безпеки: за замовчуванням в будь-якому місці. Це дозволяє отримати доступ з усього Інтернет.
  • Роль IAM контейнера: виберіть її, якщо вона вже є зі спадного меню або

Amazon ECS створить його за замовчуванням.

Виберіть Огляд і запуск.

  1. Запуск та перегляд ресурсів

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

Виберіть Запустити екземпляр та запустити службу.

Після запуску виберіть Переглянути послугу.

  1. Відкрийте програму зразка: Ви можете перевірити та запустити зразок програми, вказуючи веб-переглядач на ім'я DNS балансира навантаження.

Відкрийте сторінку зразка веб-програми та виберіть ім'я балансира завантаження.

Скопіюйте ім'я DNS ELB і вставте його в новий браузер і натисніть Enter на клавіатурі.

Ви можете переглянути свою прикладну заявку.

Ви також можете будь-коли очистити свої ресурси, щоб уникнути зайвих витрат.

Служба Amazo Elastic Kubernetes (EKS)

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

3. Обчислити

Обчислювальна хмара Amazon Elastic (Amazon EC2)

Це безпечна і змінна обчислювальна ємність у хмарі, яка запускає контейнери на інфраструктурах віртуальних машин з повним контролем масштабування та конфігурації. Це дає вам повний контроль над вашими обчислювальними ресурсами. Це скорочує час, необхідний для отримання та завантаження нових екземплярів сервера, лише на кілька хвилин. Amazon EC2 надає розробникам інструменти для побудови додатків, стійких до відмов.

Приклад: Встановіть веб-сервер LAMP за допомогою AMI Amazon Linux.

Цей приклад допомагає встановити веб-сервер 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
  • Джерело: Спеціальні
  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

Категорія: