GCP - App Engine Enum
Основна інформація
Google Cloud Platform's (GCP) App Engine — це потужна безсерверна платформа, призначена для розробки та хостингу веб-додатків у великому масштабі. Дизайн цієї платформи зосереджений на спрощенні процесу розробки та покращенні керованості додатків. Основні функції та переваги GCP's App Engine включають:
Безсерверна архітектура: App Engine автоматично керує інфраструктурою, включаючи налаштування серверів, конфігурацію та масштабування. Це дозволяє розробникам зосередитися на написанні коду, не турбуючись про апаратне забезпечення.
Автоматичне масштабування: App Engine може автоматично масштабувати ваш додаток у відповідь на кількість отриманого трафіку. Він масштабується для обробки збільшеного трафіку та зменшується, коли трафік зменшується, допомагаючи оптимізувати витрати та продуктивність.
Підтримка мов та середовищ виконання: Підтримує популярні мови програмування, такі як Java, Python, Node.js, Go, Ruby, PHP та .NET. Ви можете запускати свої додатки у стандартному або гнучкому середовищі. Стандартне середовище більш обмежене, але високо оптимізоване для конкретних мов, тоді як гнучке середовище дозволяє більше налаштувань.
Інтегровані сервіси: App Engine інтегрується з багатьма іншими сервісами GCP, такими як Cloud SQL, Cloud Storage, Cloud Datastore та інші. Ця інтеграція спрощує архітектуру хмарних додатків.
Версії та розподіл трафіку: Ви можете легко розгортати кілька версій вашого додатка та розподіляти трафік між ними для A/B тестування або поступового розгортання.
Інсайти додатків: App Engine надає вбудовані сервіси, такі як логування, автентифікація користувачів та набір інструментів для розробників для моніторингу та керування додатками.
Безпека: Пропонує вбудовані функції безпеки, такі як версії додатків, сертифікати SSL/TLS для безпечних з'єднань та управління ідентифікацією та доступом.
Firewall
Простий firewall можна налаштувати для інстансів, що запускають додатки, з наступними опціями:
SA
Обліковий запис за замовчуванням, який використовується цими додатками, це <proj-name>@appspot.gserviceaccount.com
, який має роль Editor над проектом, а облікові записи всередині інстансу APP Engine працюють з cloud-platform scope (серед інших).
Storage
Вихідний код та метадані автоматично зберігаються у buckets з такими іменами, як <proj-id>.appspot.com
, staging.<proj-id>.appspot.com
та <country>.<proj-id>.appspot.com
Кожен файл додатка зберігається з sha1 вмісту як ім'я файлу:
Всередині папки ae
з staging.<proj-id>.appspot.com
, існує одна папка на версію з файлами вихідного коду та файлом manifest.json
, який описує компоненти додатка:
Контейнери
Веб-додаток в кінцевому підсумку буде виконуватися всередині контейнера, і Code Build використовується для створення контейнера.
URL-адреси та Регіони
За замовчуванням веб-сторінка буде доступна за URL <project-uniq-name>.appspot.com
, хоча URL старіших версій буде трохи іншим, наприклад, https://20240117t001540-dot-<project-uniq-name>.uc.r.appspot.com
(зверніть увагу на початкову мітку часу).
Може здатися, що можливо розгорнути лише один веб-додаток app engine на регіон, але можна вказати service: <servicename>
у app.yml
і створити новий сервіс (новий веб). Формат URL для цього нового веб буде <servicename>-dot-<project-uniq-name>.appspot.com
.
Перерахування
Кожного разу, коли ви завантажуєте новий код до Додатку, створюється нова версія. Всі версії зберігаються і вони навіть мають URL для доступу до них. Тому модифікація коду старої версії може бути відмінною технікою збереження.
Як і з Cloud Functions, існує ймовірність, що додаток буде покладатися на секрети, які доступні під час виконання через змінні середовища. Ці змінні зберігаються у файлі app.yaml
, який можна отримати наступним чином:
Підвищення привілеїв
GCP - AppEngine PrivescНеавтентифікована енумерація
GCP - App Engine Unauthenticated EnumПостексплуатація
GCP - App Engine Post ExploitationПерсистентність
GCP - App Engine PersistenceLast updated