Хостинг статичного вебсайту в Azure Blob Storage

pic

Вирішення задачі

Level Up Bank, вигаданий стартап у сфері фінансових технологій, необхідно було перенести свій статичний вебсайт з локального сервера в хмару, щоб зменшити витрати, покращити масштабованість та спростити управління. Мета полягала в тому, щоб використовувати функцію хостингу статичних вебсайтів в Azure Blob Storage для створення економічно ефективного, високодоступного рішення для розміщення вебсайту компанії.

Огляд рішення

Я використав Azure Blob Storage для хостингу статичного вебсайту. Цей підхід усунув необхідність у виділеному сервері, що дозволяє знизити витрати та забезпечити автоматичне масштабування сайту для задоволення потреб у трафіку. Висока доступність Azure гарантувала, що вебсайт буде доступний в будь-який час.

Покрокова реалізація

1. Налаштування облікового запису зберігання

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

  1. Пошукав “Storage Accounts” та натиснув + Create.
  2. Ввів дані:
  • Subscription: Вибрав свою активну підписку.
  • Resource Group: Створив нову групу ресурсів LevelUpResourceGroup для організації ресурсів.
  • Storage Account Name: Назвав його levelupbankstorage (унікальне в Azure).
  • Region: Вибрав регіон, близький до цільової аудиторії.
  • Performance: Встановив на Standard для ефективності витрат.
  • Redundancy: Вибрав Locally-Redundant Storage (LRS) для базової відмовостійкості.

Чому цей крок був необхідний: Обліковий запис зберігання є основою Azure Blob Storage, надаючи простір для розміщення даних вебсайту.

Основні налаштування конфігурації зберігання, які слід перевірити/налаштувати:

pic

Конфігурація зберігання

Дозволити анонімний доступ до Blob:

  • Поточне налаштування: Увімкнено (✅ Правильно)
  • Це дозволяє анонімним користувачам (будь-кому) отримувати доступ до блобів в контейнері без аутентифікації. Це необхідно для обслуговування публічних статичних вебсайтів.

Необхідність захищеного передавання:

  • Поточне налаштування: Увімкнено (✅ Правильно)
  • Це гарантує, що дані шифруються під час передавання, що є кращою практикою безпеки.

Рівень доступу до Blob:

  • Поточне налаштування: Hot (✅ Правильно)
  • Рівень доступу "Hot" є оптимальним для часто використовуваних даних, як файли вашого статичного вебсайту.

Великі файлові сховища:

  • Поточне налаштування: Вимкнено (✅ Правильно)
  • Це не потрібно для статичних вебсайтів.

2. Налаштування хостингу статичного вебсайту

Azure Blob Storage пропонує вбудовану функцію хостингу статичних вебсайтів, яка дозволяє файлам бути доступними через інтернет. Я налаштував цю функцію, щоб сайт був доступний.

  1. У обліковому записі зберігання перейшов до Static Website в розділі Data Management.
  2. Увімкнув хостинг статичного вебсайту (це критично важливо).
  3. Вказав index.html як Index Document Name.
  4. Залишив поле Error Document Path порожнім, оскільки не було спеціальної сторінки помилки.
  5. Зберіг конфігурацію, щоб отримати Primary Endpoint URL.

Чому цей крок був необхідний: Увімкнення хостингу статичного вебсайту та вказівка Index Document Name (index.html) гарантують, що відвідувачі побачать правильну домашню сторінку при доступі до кінцевої точки статичного вебсайту.

3. Створення та використання контейнера $web

Контейнер $web є спеціальним контейнером в Azure Blob Storage, призначеним для хостингу статичних вебсайтів. Azure автоматично керує рівнем публічного доступу для контейнера $web, коли увімкнено хостинг статичного вебсайту. Це гарантує, що всі файли в контейнері є публічно доступними без додаткових налаштувань.

  1. Перейшов до розділу Containers в обліковому записі зберігання.
  2. Перевірив, чи існує контейнер $web. Якщо його не було, створив його.
  3. Завантажив файл index.html, наданий для контейнера $web.

Чому цей крок був необхідний: Контейнер $web є контейнером, який підтримується хостингом статичних вебсайтів Azure.
Завантаження файлів сюди гарантує, що вони можуть бути обслуговувані через кінцеву точку статичного вебсайту.

4. Тестування вебсайту

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

  1. Відкрив Primary Endpoint URL в інкогніто браузері. https://levelupbankstorage.z13.web.core.windows.net/
  2. Перевірив, що вміст файлу index.html завантажився коректно.
  • Проблеми при тестуванні: Спочатку я завантажив файл index.html в контейнер, названий website, а не в $web. Це призвело до помилки 404 WebContentNotFound. Після переміщення файлу в контейнер $web, проблема була вирішена, і вебсайт працював як очікувалося.

Переваги використання Azure Blob Storage

  • Економія витрат: Я плачу лише за використане місце зберігання та пропускну здатність, що дозволяє уникнути витрат на підтримку виділеного сервера.
  • Масштабованість: Azure Blob Storage автоматично масштабується, щоб обробляти зростаючий трафік, що робить його ідеальним для хостингу.
  • Висока доступність: Вебсайт залишається доступним завдяки вбудованій відмовостійкості Azure.
  • Простота використання: Налаштування та управління статичними вебсайтами на Azure є простими та ефективними.

Поради щодо управління витратами

Щоб оптимізувати витрати для цього налаштування:

  1. Моніторинг використання зберігання: Регулярно перевіряйте використання зберігання, щоб переконатися, що ви не платите за невикористовувані дані.
  2. Використання гарячих і холодних рівнів: Використовуйте рівень Hot для часто запитуваних файлів та рівні Cool або Archive для рідко запитуваних даних.
  3. Видалення невикористовуваних контейнерів: Якщо контейнер (наприклад, website) більше не використовується, видаліть його, щоб уникнути непотрібних витрат.

Порівняння: Azure Blob Storage проти AWS S3 для хостингу статичних вебсайтів

Azure Blob Storage і AWS S3 обидва надають потужні можливості хостингу статичних вебсайтів, але кожен має свої унікальні переваги:

Ключові відмінності

  1. Налаштування: Azure Blob Storage вимагає наявність контейнера $web для статичних вебсайтів, в той час як AWS S3 дозволяє будь-якому бакету хостити вебсайт.
  2. Продуктивність: Обидва сервіси інтегруються з відповідними CDN (Azure CDN для Blob Storage, CloudFront для S3). AWS S3 також пропонує Transfer Acceleration для швидших завантажень.
  3. Витрати: Azure Blob Storage пропонує просте ціноутворення з ручним вибором рівнів (наприклад, Hot, Cool, Archive). AWS S3 надає Intelligent-Tiering, що автоматизує оптимізацію витрат на основі патернів використання.
  4. Контроль доступу: Azure використовує Shared Access Signatures (SAS) для тимчасового доступу, в той час як AWS S3 спирається на детальні IAM ролі та політики бакетів.

Чому я це дізнався

  • Адаптивність хмарних рішень: Хостинг на Azure Blob Storage допоміг мені зрозуміти підхід Microsoft до статичних вебсайтів і як це порівнюється з AWS S3.
  • Оптимізація витрат: Обидві платформи надають інструменти для ефективного управління витратами, такі як рівні зберігання в Azure та інтелектуальні функції в AWS.
  • Практики безпеки: Я здобув досвід в управлінні публічним доступом, з використанням SAS токенів в Azure та IAM політик в AWS.
  • Техніки продуктивності: Обидва сервіси підкреслюють важливість використання CDN для глобального доставлення контенту.

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

Задача, яку потрібно вирішити

Level Up Bank, вигаданий фінансовий стартап, потребував перенести свій статичний вебсайт з локального сервера до хмари, щоб зменшити витрати, покращити масштабованість та спростити управління. Метою було використати хостинг статичних вебсайтів в Azure Blob Storage для створення економічно ефективного та високо доступного рішення для хостингу вебсайту компанії.

Огляд рішення

Я використав Azure Blob Storage для хостингу статичного вебсайту. Цей підхід дозволив позбутися необхідності в виділеному сервері, що зменшило витрати та дозволило вебсайту автоматично масштабуватися для обробки навантаження. Висока доступність Azure гарантувала, що вебсайт залишатиметься доступним в будь-який час.

Покрокова реалізація

1. Налаштування облікового запису зберігання

Я почав з створення облікового запису Azure Storage, який став основою для хостингу вебсайту. Цей обліковий запис забезпечує простір для зберігання файлів вебсайту.

  1. Знайшов “Storage Accounts” та натиснув + Create.
  2. Ввів деталі:
  • Subscription: Обрав свою активну підписку.
  • Resource Group: Створив нову групу ресурсів під назвою LevelUpResourceGroup для організації ресурсів.
  • Storage Account Name: Назвав його levelupbankstorage (унікальне ім’я для Azure).
  • Region: Обрав регіон, близький до цільової аудиторії.
  • Performance: Залишив Standard, щоб забезпечити економію витрат.
  • Redundancy: Обрав Locally-Redundant Storage (LRS) для базової відмовостійкості.

Чому цей крок був необхідний: Обліковий запис зберігання є основою Azure Blob Storage і надає простір для зберігання даних вебсайту.

Ключові налаштування конфігурації зберігання, які потрібно перевірити/налаштувати:

pic

Конфігурація зберігання

Дозволити анонімний доступ до блобів:

  • Поточне налаштування: Включено (✅ Правильно)
  • Це дозволяє анонімним користувачам (будь-кому) отримувати доступ до блобів у контейнері без аутентифікації. Це необхідно для публічних статичних вебсайтів.

Необхідність безпечного передавання:

  • Поточне налаштування: Включено (✅ Правильно)
  • Це гарантує, що дані шифруються при передачі, що є кращою практикою безпеки.

Рівень доступу до блобів:

  • Поточне налаштування: Hot (✅ Правильно)
  • Рівень доступу "Hot" найкраще підходить для часто використовуваних даних, таких як файли вашого статичного вебсайту.

Великі файли:

  • Поточне налаштування: Вимкнено (✅ Правильно)
  • Це не потрібно для статичних вебсайтів.

2. Налаштування хостингу статичного вебсайту

Azure Blob Storage пропонує вбудовану функцію хостингу статичних вебсайтів, яка дозволяє обслуговувати файли через веб. Я налаштував цю функцію, щоб забезпечити доступність сайту.

  1. У обліковому записі зберігання перейшов до Static Website в розділі Data Management.
  2. Увімкнув хостинг статичних вебсайтів (це критично важливо).
  3. Вказав index.html як Index Document Name.
  4. Залишив поле Error Document Path порожнім, оскільки не було власної сторінки помилок.
  5. Зберіг конфігурацію, щоб отримати Primary Endpoint URL.

Чому цей крок був необхідний: Увімкнення хостингу статичного вебсайту та вказівка Index Document Name (index.html) гарантує, що відвідувачі побачать правильну домашню сторінку при доступі до кінцевої точки статичного вебсайту.

3. Створення та використання контейнера $web

Контейнер $web — це спеціальний контейнер в Azure Blob Storage, призначений для хостингу статичних вебсайтів. Azure автоматично керує рівнем публічного доступу до контейнера $web, коли увімкнено хостинг статичних вебсайтів. Це гарантує, що всі файли в контейнері будуть доступні публічно без додаткової конфігурації.

  1. Перейшов до розділу Containers в обліковому записі зберігання.
  2. Перевірив, чи існує контейнер $web. Якщо його не було, створив його.
  3. Завантажив наданий файл index.html до контейнера $web.

Чому цей крок був необхідний: Контейнер $web — це контейнер, який підтримується для хостингу статичних вебсайтів в Azure.
pic

Завдання, яке потрібно вирішити

Level Up Bank, вигаданий стартап у сфері фінансових технологій, потребував міграції свого статичного вебсайту з локального сервера в хмару, щоб знизити витрати, покращити масштабованість і спростити управління. Метою було використати функцію хостингу статичних вебсайтів у Azure Blob Storage, щоб створити економічно ефективне, високо доступне рішення для хостингу сайту компанії.

Огляд рішення

Я використав Azure Blob Storage для хостингу статичного вебсайту. Такий підхід усунув необхідність у виділеному сервері, що знижує витрати і дозволяє сайту автоматично масштабуватися відповідно до навантаження. Висока доступність Azure гарантувала, що сайт залишатиметься доступним у будь-який час.

Покрокова реалізація

1. Налаштування облікового запису для зберігання

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

  1. Шукав "Storage Accounts" і натиснув + Create.
  2. Ввів деталі:
  • Subscription: Обрав свою активну підписку.
  • Resource Group: Створив нову групу ресурсів під назвою LevelUpResourceGroup, щоб організувати ресурси.
  • Storage Account Name: Назвав його levelupbankstorage (унікальне ім’я в Azure).
  • Region: Обрав регіон, близький до цільової аудиторії.
  • Performance: Вибрав Standard для економії коштів.
  • Redundancy: Вибрав Locally-Redundant Storage (LRS) для базової надмірності.

Чому цей крок був необхідний: Обліковий запис для зберігання є основою Azure Blob Storage, надаючи простір для зберігання даних сайту.

Основні налаштування конфігурації зберігання, які потрібно перевірити/налаштувати:

pic

Конфігурація зберігання

Дозволити анонімний доступ до Blob:

  • Поточне налаштування: Увімкнено (✅ Правильно)
  • Це дозволяє анонімним користувачам (будь-кому) отримувати доступ до Blob в контейнері без автентифікації. Це необхідно для публічного доступу до статичних вебсайтів.

Необхідний захищений передавальний протокол:

  • Поточне налаштування: Увімкнено (✅ Правильно)
  • Це забезпечує шифрування даних під час передачі, що є найкращою практикою безпеки.

Рівень доступу до Blob:

  • Поточне налаштування: Hot (✅ Правильно)
  • Рівень доступу "Hot" найкраще підходить для часто запитуваних даних, таких як файли вашого статичного вебсайту.

Великі спільні файли:

  • Поточне налаштування: Вимкнено (✅ Правильно)
  • Це не потрібно для статичних вебсайтів.

2. Налаштування хостингу статичного вебсайту

Azure Blob Storage пропонує вбудовану функцію хостингу статичних вебсайтів, що дозволяє файлам обслуговуватися через веб. Я налаштував цю функцію, щоб переконатися, що сайт буде доступним.

  1. У обліковому записі для зберігання перейшов до Static Website в розділі Data Management.
  2. Увімкнув хостинг статичного вебсайту (це критично важливо).
  3. Ввів index.html як Index Document Name.
  4. Залишив поле Error Document Path порожнім, оскільки не було користувацької сторінки помилки.
  5. Зберіг конфігурацію, щоб отримати Primary Endpoint URL.

Чому цей крок був необхідний: Увімкнення хостингу статичного вебсайту і вказівка Index Document Name (index.html) гарантує, що відвідувачі побачать правильну домашню сторінку при доступі до кінцевої точки статичного вебсайту.

3. Створення та використання контейнера $web

Контейнер $web — це спеціальний контейнер в Azure Blob Storage, призначений для хостингу статичних вебсайтів. Azure автоматично керує рівнем публічного доступу для контейнера $web, коли хостинг статичного вебсайту увімкнено. Це гарантує, що всі файли в контейнері будуть доступні публічно без додаткових налаштувань.

  1. Перейшов до розділу Containers в обліковому записі для зберігання.
  2. Перевірив, чи існує контейнер $web. Якщо його не було, створив його.
  3. Завантажив файл index.html в контейнер $web.

Чому цей крок був необхідний: Контейнер $web — це контейнер, який підтримує хостинг статичних вебсайтів в Azure.

Перекладено з: Hosting a Static Website on Azure Blob Storage

Leave a Reply

Your email address will not be published. Required fields are marked *