Elastic Compute Cloud (EC2) пояснюється простими словами

Колись обчислювальна потужність була завданням локальної апаратної інфраструктури. Тепер – якщо ваше програмне рішення знаходиться в хмарі – воно стає завданням веб-сервісу Elastic Compute Cloud (EC2).

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

EC2 є основним компонентом Amazon Web Services (AWS). Таким чином, він широко використовується майже для всіх можливих проектів у хмарі. Очевидно, якщо ви не любите безсерверну архітектуру, у цьому випадку EC2, навпаки, не підходить.

Ключові компоненти EC2

Джерело: docs.aws.amazon.com

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

#1. Примірники

Екземпляр EC2 — це в основному хмарна інтерпретація віртуальної машини. Примірник можна підготувати та запустити в різних конфігураціях. Вам також потрібно визначити конкретну операційну систему для екземпляра, а також визначити, наскільки потужним має бути екземпляр (кількість процесора, оперативної пам’яті тощо).

Нарешті, ви можете вказати обсяг пам’яті, який має бути постійно приєднаний до примірника EC2.

#2. Зображення машини Amazon (AMI)

AMI — це попередньо налаштований шаблон, який містить усю необхідну інформацію для успішного запуску екземпляра. Тут ви фактично вказуєте, на якій операційній системі ви хочете запускати програми, як виглядатиме сервер програм і які саме програми потрібно встановити.

#3. Магазин еластичних блоків (EBS)

Це служба зберігання, яка надає вам постійні обсяги пам’яті для використання з примірником EC2. Тут будуть зберігатися всі дані додатків, а також дані клієнтів, коли додатки в примірниках EC2 будуть використовуватися.

#4. Групи безпеки

Для кожного екземпляра EC2 вам потрібен контрольований безпечний доступ. Це стосується зв’язку із зовнішнього світу з примірником EC2 (вихідний трафік), а також між службами AWS у вашій хмарній інфраструктурі (вхідний трафік).

#5. Пари ключів

Для підвищення безпеки вам потрібно створити пари відкритих і закритих ключів, які ви використовуєте для безпечного підключення до примірників EC2.

#6. Еластичні IP-адреси

Щоб ви могли отримати доступ до свого нового екземпляра EC2 із зовнішнього Інтернету або навіть звертатися до них у своїй інфраструктурі в хмарі, вам потрібно призначити статичну IP-адресу екземплярам EC2. З цього моменту віртуальна машина з екземпляром EC2 доступна.

#7. Групи розміщення

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

#8. Автоматичне масштабування

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

Крім того, ви можете зменшити або зменшити масштаб, якщо попит значно нижчий, ніж зазвичай. Основна причина цього полягає в тому, щоб не бути повільним під час пікового навантаження. Але також щоб заощадити гроші, коли немає чим зайнятися.

#9. Балансувальники навантаження

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

#10. Віртуальна приватна хмара (VPC)

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

Як правило, ви хочете зберегти деякі екземпляри EC2 приватними та доступними лише за допомогою коду програми. У той же час інші EC2, які ви хочете залишити доступними в Інтернеті. VPC – ідеальне рішення.

  Як створити масив рівномірно розташованих чисел

Основні характеристики EC2

Джерело: aws.amazon.com

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

Зазвичай екземпляри EC2 призначені для розміщення різних програм або веб-сайтів у хмарі. Ви можете використовувати їх, щоб задовольнити свої робочі навантаження, якщо вони мають пакетний характер, вимоги до обробки в реальному часі, веб-або мобільні програми.

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

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

Основи хмарних обчислень

Оскільки ми вже говорили про EC2, можливо, невеликий крок назад може бути корисним, щоб трохи пояснити, що саме таке хмарні обчислення.

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

  • Користувачам доступне самообслуговування на вимогу в будь-який час. Сервери та сховища доступні без необхідності проходити тривалий процес закупівлі.
  • Ресурси tabletsCloud можна отримати з будь-якого місця та будь-що (наприклад, ноутбуки, настільні комп’ютери, планшети, мобільні пристрої).
  • Обчислювальні ресурси або всю інфраструктуру можна спільно використовувати та динамічно розподіляти відповідно до мінливих умов і вимог.
  • Ви можете швидко збільшити або зменшити будь-які ресурси залежно від поточного попиту.
  • Хмарні обчислення в режимі реального часу по суті означають модель ціноутворення «оплата за використання», коли користувачі платять лише за ті ресурси, які вони фактично використовують. Крім того, витрачене використання можна відстежувати в режимі реального часу.

Сервісні моделі хмарних обчислень

Хмарні обчислення можуть мати три основні моделі обслуговування:

  • Інфраструктура як послуга (IaaS), яка надає вам віртуалізовані обчислювальні ресурси, такі як сервери, сховище та мережеві можливості, як послугу. Створення працездатного рішення вище залежить виключно від вас.
  • Платформа як послуга (PaaS) — ще один крок далі. Ви отримаєте цілу платформу для розробки, розгортання та керування програмами як сервісом. Вам не потрібно турбуватися про деталі інфраструктури.
  • Програмне забезпечення як послуга (SaaS) — це найвищий рівень, де ви отримуєте повні програмні додатки, такі як електронна пошта, CRM або інструменти підвищення продуктивності, як послугу. У цьому випадку ви просто використовуєте те, що вам вже доступно.
  • Моделі розгортання хмарних обчислень

    Хмарні обчислення також відрізняються способом розгортання та доступу до ресурсів:

  • Публічна хмара означає, що хмарні ресурси надаються стороннім постачальником, таким як AWS, Microsoft Azure або Google Cloud, і доступні через Інтернет.
  • Приватна хмара — це якщо організація будує власний центр обробки даних, а інфраструктура доступна лише в мережі організації.
  • Гібридна хмара – це поєднання загальнодоступних і приватних хмарних ресурсів, які об’єднані для забезпечення єдиної взаємопов’язаної інфраструктури.
  • Багатохмарність — це стратегія, коли організація використовує кілька хмарних провайдерів для задоволення конкретних потреб бізнесу. Наприклад, ви можете поєднати Amazon Cloud і SAP Datawarehouse Cloud, щоб створити рішення, що складається з регульованих транзакційних даних у SAP і озера даних, створеного в AWS.
  • Еластичність EC2

    Джерело: aws.amazon.com

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

      Як заблокувати когось на Strava

    Пліч-о-пліч з цим приходить ще одна властивість хмари – масштабованість. Це здатність системи обробляти зростаючі обсяги навантажень або трафіку без зниження продуктивності.

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

    Масштабованість досягається за рахунок використання еластичних ресурсів, таких як віртуальні машини, сховище та мережа, які можна швидко та легко масштабувати вгору або вниз.

    Таким чином, автомасштабування є надто високою функцією, яка використовує можливості масштабування та автоматизує його на основі попередньо визначених очікувань навантаження. Він автоматично регулюватиме кількість обчислювальних ресурсів для використання залежно від попиту. Це також означає, що вам не потрібно відстежувати та вручну налаштовувати ресурси. Масштабування ресурсів угору або вниз може ґрунтуватися на різних показниках, таких як використання ЦП, мережевий трафік або час відповіді програми.

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

    Динамічний розподіл ресурсів є ключовою особливістю хмарних обчислень, оскільки він дозволяє досягти високих рівнів використання та ефективності, одночасно мінімізуючи витрати.

    Переваги EC2

    Деякі з основних переваг EC2 вже очевидні. Але просто щоб помістити це в явний контекст, слід зазначити наступне.

    Гнучкість

    Використовуйте EC2, щоб легко масштабувати обчислювальні ресурси відповідно до поточного рівня навантаження. Запустіть або знищіть екземпляри, як вам потрібно прямо зараз. Призупиняйте та перезапускайте екземпляри, коли вам найбільше зручно. Будьте впевнені, що у вас завжди є резервна копія на випадок, якщо щось піде не так.

    Ефективність витрат

    Прямим результатом гнучкості є збільшена можливість заощадити гроші на створення інфраструктури. Якщо налаштовано правильно, ваші екземпляри EC2 будуть запускатися та завершувати роботу в потрібний час. Як наслідок, ви уникнете витрат, пов’язаних із невиправданими витратами на надання ресурсів.

    Висока доступність

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

    Надійність

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

    Доступність

    Ви можете мати доступ звідусіль, використовуючи комп’ютери, ноутбуки, планшети чи смартфони. Так само ви маєте повну свободу застосовувати будь-які обмеження доступу, які вам потрібні.

    Глобальне охоплення

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

    Спритність

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

    Безпека даних

    EC2 надає вам безпечну інфраструктуру, створену для захисту даних і програм від несанкціонованого доступу та кіберзагроз.

    Відповідність

    EC2 відповідає широкому спектру галузевих стандартів і правил, включаючи HIPAA, PCI DSS і GDPR.

    Співпраця

    EC2 забезпечує середовище для спільної роботи, яке дозволяє командам працювати разом над проектами та обмінюватися ресурсами та даними.

    Проблеми з EC2

    Звичайно, є також деякі проблеми, про які ви повинні знати під час використання EC2.

    #1. Управління вартістю

    Основна природа всієї моделі витрат AWS полягає в тому, щоб зробити її максимально складною, і ціноутворення EC2 не є винятком із цього. Вам потрібно ретельно керувати своїм використанням, щоб уникнути неочікуваних витрат, і підготувати кілька надійних інструментів для постійного моніторингу. Ви можете використовувати деякі інструменти оптимізації витрат, наприклад, AWS Cost Explorer або AWS Trusted Advisor.

    #2. Безпека

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

      9 комплексних платформ для залучення студентів, які пропонують навчання на світовому рівні

    #3. Відповідність

    З EC2 вам потрібно переконатися, що використання відповідає галузевим стандартам і правилам. Тому дуже важливо регулярно переглядати документацію щодо відповідності AWS і співпрацювати з експертами з відповідності AWS, щоб переконатися, що ви відповідаєте вимогам відповідності, висунутими вашими клієнтами.

    #4. Продуктивність

    Ви можете вплинути на продуктивність EC2 різними факторами, наприклад, затримкою мережі, дисковим введенням/виведенням або використанням ЦП. Систематично контролюйте продуктивність вашої інфраструктури та використовуйте інструменти оптимізації продуктивності, такі як AWS CloudWatch і AWS X-Ray, щоб виявляти та вирішувати проблеми продуктивності.

    #5. Доступність

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

    #6. Передача даних

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

    #7. Блокування постачальника

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

    Джерело: aws.amazon.com

    Цікавитеся майбутніми тенденціями та інноваціями, які, як ви можете очікувати, сформують майбутнє EC2? Ось вони.

    Безсерверний

    Безсерверні обчислення все ще залишаються новою парадигмою хмарних обчислень, навіть якщо вони вже впроваджені деякими з найпрогресивніших команд розробників протягом кількох років. Розробники запускають код без необхідності керувати серверами чи інфраструктурою. Функція AWS Lambda або AWS Step є прикладом безсерверної обчислювальної служби, яку можна створити на основі EC2.

    Машинне навчання

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

    Граничні обчислення

    Граничні обчислення — це нова парадигма хмарних обчислень, і йдеться про обробку даних ближче до джерела, а не в централізованому центрі обробки даних. Це означає, що ви виконуєте всі великі завантаження даних у тій області, де ви створюєте дані. Потім за допомогою різних служб кешування ви переносите дані в центральне сховище даних, що фактично більше не впливає на обробку операцій користувача. AWS пропонує низку периферійних обчислювальних сервісів, таких як AWS Greengrass і AWS IoT, які можна розгорнути поверх EC2.

    Контейнерізація

    Контейнерізація — це стратегія упаковки програм і сервісів у контейнери, які можна легко розгортати та керувати ними. Ви отримуєте впевненість у сумісності, коли потрібне транспортування служби між примірниками чи інфраструктурами. AWS пропонує ряд послуг контейнеризації, таких як Amazon ECS і Amazon EKS, які побудовані на основі EC2.

    Квантові обчислення

    Квантові обчислення знову є цілком новою парадигмою, яка передбачає використання квантово-механічних явищ, таких як суперпозиція та заплутаність, для виконання обчислень. AWS обслуговує низку служб квантових обчислень, таких як Amazon Braket, і ви можете мати їх поверх EC2.

    Заключні слова

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

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

    Далі ознайомтеся з найкращими методами безпеки AWS EC2.