Дані у статті наведені станом на 2024 рік. |
Тип | Віртуальний виділений сервер |
---|---|
Автор | Google, Inc. |
Розробник | |
Доступні мови | English |
Стан розробки | Active |
Ліцензія | Proprietary software |
Вебсайт | cloud.google.com/compute/ |
Google Compute Engine (GCE) — це компонент інфраструктури як послуги який дає змогу користувачам запускати віртуальні машини на інфраструктурі Google. GCE пропонує гнучкі налаштування віртуальних машин, як то масштабованість, спектр завантажувальних образів, включно з образами створених користувачами, висока доступність, мережеві налаштування, управління та аналітика використання. Доступ до управління Google Compute Engine доступний через консоль розробників, API або утиліту командного рядка gcloud. Щодо оплати використовується принцип pay-as-you-go, плата за послуги відбувається за той час, коли віртуальна машина запущена, за вимкнутий екземпляр віртуальної машини нараховується плата лише за деякі компоненти, такі як персистентні диски. Користувач має повний контроль над своїми віртуальними машинами, в тому числі доступ в операційну систему для віддаленого адміністрування. Послуга схожа на віртуальний виділений сервер, але з додатковими послугами в складі Google Cloud Platform.
Віртуальна машина в контексті хмарних обчислень називається екземпляром (англ. instance), або часто використовується транслітерація терміну - інстанс.
З розвитком технологій віртуалізації операційних систем зростає й популярність хостингу віртуальних машин. Спочатку ці технології застосовувались переважно для внутрішніх потреб компаній, але згодом стали фундаментом для створення хмарної платформи Google Cloud Platform. В 2010 році[1] ґрунтуючись на системі віртуалізації KVM, Google розпочав роботу над Google Compute Engine, який наразі є одним з головних компонентів інфраструктури як послуги GCP, де фактично виконуються інші продукти, такі як Kubernetes Engine, App Engine and Cloud SQL.
28 червня 2012 року на Google I/O 2012 Google анонсував Compute Engine в обмеженому режимі.
25 лютого 2013 року Google оголосив, що RightScale став надавати послуги підтримки в GCE. Для GCP це була важлива новина на 2013 рік, оскільки RightScale була відома рішеннями для управління хмарними середовищами.[2]
У квітні 2013 року GCE став доступним лише для обмеженого кола клієнтів, які мають Золотий Пакет Підтримки.
Під час Google I/O 2013 було оголошено багато функцій, включаючи погодинний білінг, віртуальні машини зі спільними ядрами, більше видів постійних віртуальних дисків, поліпшення програмно-конфігурованих мереж, анонсована сертифікація ISO/IEC 27001.
15 травня 2013 року послуга GCE стала доступною для дуже широкого кола користувачів.
7 серпня 2013 року стало доступним балансування навантаження на мережевому рівні (IP).
2 грудня 2013 року компанія Google оголосила, що GCE загалом доступна. Також з'явилась підтримка живої міграція віртуальних машин. Кількість віртуальних процесорів збільшилось до 16, віртуальна дискова підсистема стала швидше більш швидкі а також знизилась ціна для ціну стандартних віртуальних машин.
18 червня 2014 року компанія Google оголосила про підтримку персистентних дисків SSD. Ці диски забезпечують до 30 IOPS на ГБ, що на 20х більше записують IOPS і 100x більше читають IOPS, ніж стандартні персистентні диски.
13 липня 2022 року підтримка архітектури ARM (64-бітна архітектура Ampere)[3].
Віртуальні машини Google Compute Engine використовують гіпервізор KVM[1] для віртуалізації 64-бітної архітектури x86 (AMD EPYC, Intel Xeon). Віртуальні машини завантажуються з постійного диска, на якому розміщена коренева файлова система. Кількість ресурсів, таких як процесори, та обсяг оперативної пам'яті залежать від обраного типу машини. GCE підтримує завантаження операційних систем Linux, Microsoft Windows.
2022 року з'явилась підтримка 64-бітної архітектури Arm 64 Ampere, яка підтримує образи деякі образи Linux, та не підтримує деякі розширення та технології, що доступні для x86 (не підтримує Windows, віртуальний дисплей, деякі види дискових сховищ, вкладену віртуалізацію)[4]
Типи машин діляться за призначенням:
Кожен екземпляр GCE завантажується з дискового пристрою, який називається персистентним (постійним) диском. Цей диск забезпечує дисковий простір для екземпляра та містить кореневу файлову систему. За замовчуванням GCE використовує SCSI для підключення цих дисків.
Також можна розширяти або додавати інші диски до віртуальної машини. При типовому використанні на персистентному диску буде таблиця розбиття (GPT/MBR), створений розділ, розділ відформатовано в файлову систему, та файлова система буде змонтована. Можливо використання LVM для Linux.
Диски підтримують додаткові функції, такі як снапшот та клонування. Є можливість від'єднати диск від однієї машини та приєднати до іншої.
GCE пропонує широкий спектр варіантів зберігання даних, що відрізняються продуктивністю, вартістю та призначенням:[5]
Станом на 2024 рік більшість дисків можуть мати розмір від 10 ГБ, до 64 ТіБ на диск, мають та 257-512ТіБ сумарно на віртуальну машину. Деякі типи дисків мають інші обмеження, наприклад PD-extreme можуть бути від 500 ГБ, Balanced Hyperdisk - від 4ГБ, локальні твердотілі накопичувачі можуть бути не більше 36 ТБ, та також залежить від типа машини .
Образ (image) — це персистентний диск, який містить кореневу файлову систему, необхідну для завантаження операційної системи віртуальної машини. Існують публічні образи, які розподіляються "проектам", переважно це назва дистрибутиву, а кожен "проект" розподіляється по "родинам" це номер релізу та архітектура процесора.
На 2024 рік GCE надає такі проекти образів linux: CentOS, Container-Optimized OS, Debian, Fedora CoreOS, RHEL, Rocky Linux, SLES, Ubuntu LTS, Ubuntu PRO, також є Windows Server, Windows client, та окремі проекти Microsoft SQL Server для Windows та Microsoft SQL Server для Linux.[6]
Деякі операційні системи не доступні для відповідних типів інстансів, наприклад продукти Microsoft не підтримуються на ARM-процесорах. Операційні системи з підтримкою це Ubuntu PRO, SLES та Microsoft мають особливості пов'язані з ліцензуванням та підтримкою, ви маєте купити ліцензію прямо на GCP, або маєте можливість застосувати свою ліцензію. Про це окремо описано в документації.
Також користувач може створити свої образи на базі створених віртуальних машин та змінених своїми налаштуваннями. Можливо також створення образа операційної системи користувачем якої немає в переліку публічних образів, для такого є перелік вимог.[7]
Образи диска належать до глобальних ресурсів в сенсі регіонів та зон, що означає, що образи неявно доступні в усіх регіонах і зонах Google Cloud Platform.[8] Це дозволяє уникнути необхідності експорту та імпорту образів між регіонами.
В GCE для мережева взаємодія відбувається в мережі Віртуальної Приватної Хмари (Virtual Private Cloud network VPC). Хоча VPC не є частиною Google Cloud Engine, проте це необхідний компонент інфраструктури як послуги який забезпечує функціональність мережі для Compute Engine, Google Kubernetes Engine та безсерверних обчислень. Ця мережа пропонує глобальну, масштабовану та гнучку інфраструктуру для хмарних ресурсів і сервісів у хмарному середовищі Google Cloud. VPC network складається зі списку регіональних віртуальних підмереж (subnet) в дата-центрах, які з'єднані глобальною мережею WAN, і логічно ізольована. Це забезпечує керування мережевим трафіком, дозволяє формувати правила безпеки. Кожен інстанс GCE належить лише одній мережі і спілкується через загальнодоступну IP-адресу яка призначається в цій мережі.
Коли створюється інстанс GCE, IP-адреса автоматично призначається екземпляру за замовчуванням. Ця адреса прикріплюється до екземпляра протягом всього життя екземпляра і вивільняється після видалення екземпляра. GCE також забезпечує механізм резервування та приєднання статичних IP-адрес до віртуальних машин.
Додаткові можливості VPC включають вбудовані внутрішні балансувальники навантаження, підключення до локальних мереж через тунелі Cloud VPN та VLAN-підключення для Cloud Interconnect, а також розподіл трафіку з зовнішніх балансувальників навантаження Google Cloud до бекендів.
Додатково, використання VPC в Google Cloud дозволяє користувачам налаштовувати мережі з урахуванням конкретних потреб їхнього хмарного середовища. Оскільки кожен проект може мати кілька мереж, користувачі можуть створювати і керувати різними мережами з різними конфігураціями та правилами брандмауера в межах одного проекту. Такий підхід дозволяє гнучко налаштовувати мережеву інфраструктуру відповідно до вимог конкретних додатків та сервісів.
Брандмауер
Правила брандмауера за замовчуванням налаштовується за допомогою Тегів. На стороні ресурсів як GCE та інші визначаються теги та їх значення, на стороні VPC конфігуруються правила на базі селекторів. Також можливо налаштувати класичні правила по ip-адресам, та їх діапазонам.
Регіон позначає географічне розташування інфраструктури Google. Кожен регіон відповідає місту де розташований центр обробки даних. В кожному регіоні розташовується деяка кількість зон, зазвичай 3 позначених літерою.
Повна назва зони виглядає так europe-north1-a
де europe
- це континент, europe-north1
назва регіону.
Користувачі можуть обирати зону для розгортання ресурсів в доступних регіонах. Основні фактори, які впливають на вибір зони це географічна близькість до клієнтів для мінімізації затримки. Проте перелік доступних сервісів, наявних архітектур CPU, доступних машин з прискорювачами, тощо, а також ціни на послуги GCP можуть також відрізнятися в залежності від регіону та зони.
Континенти мають наступне кодування:
Станом на 2024 рік доступно 40 регіонів та 121 зону.[9]
Ресурси Google Compute Engine поділяються на три категорії: глобальні, регіональні та зональні. Наприклад, IP-адреси є регіональним ресурсом. Користувач може використовувати конкретну IP-адресу тільки для віртуальних машин, запущених в одній із зон того самого регіону, де розміщена ця адреса. Зональні ресурси доступні лише у конкретній зоні. Наприклад, самі інстанси та їх диски.
У таблиці нижче наведено межі можливостей ресурсів GCE:
Область застосування | Ресурс |
---|---|
Глобальний | Образ |
Глобальний | Снапшот |
Глобальний | Мережа |
Глобальний | Брандмауер |
Глобальний | Маршрут |
Регіон | Адреса |
Зона | Інстанс |
Зона | Тип машини |
Зона | Диск |
Мінімальна тарифікація за віртуальну машину 10 хвилин, наступні хвилини тарифікуються похвилинно.[10] Система постійного ціноутворення, що базується на фактичному використанні, надає знижки клієнтам в залежності від місячного обсягу використання.[11][12]
Google Compute Engine пропонує знижки за довгострокове використання інстанс. Як тільки екземпляр працює понад 25 % платіжного циклу (зазвичай місяць), ціна починає знижуватися:
Під час планового обслуговування в центрах обробки даних Google, Compute Engine може автоматично мігрувати віртуальні машини з одного апаратного хоста на інший без активних запитів на це від користувачів.[13][14]