Статический веб-сайт в Yandex Object Storage с помощью консоли управления
Чтобы разместить статический веб-сайт в Object Storage с помощью консоли управления Yandex Cloud:
- Подготовьте облако к работе.
- Создайте публичный бакет.
- Включите веб-сайт для бакета.
- Настройте DNS.
- Загрузите файлы веб-сайта.
- Проверьте работу сайта.
Если созданные ресурсы вам больше не нужны, удалите их.
Подготовьте облако к работе
Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:
- Перейдите в консоль управления
, затем войдите в Yandex Cloud или зарегистрируйтесь. - На странице Yandex Cloud Billing
убедитесь, что у вас подключен платежный аккаунт, и он находится в статусеACTIVE
илиTRIAL_ACTIVE
. Если платежного аккаунта нет, создайте его и привяжите к нему облако.
Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака
Подробнее об облаках и каталогах.
Необходимые платные ресурсы
В стоимость поддержки статического сайта входит:
- плата за хранение данных статического сайта (см. тарифы Object Storage);
- плата за операции с данными (см. тарифы Object Storage);
- плата за исходящий трафик из Yandex Cloud в интернет (см. тарифы Object Storage);
- плата за публичные DNS-запросы и зоны (см. тарифы Yandex Cloud DNS).
Создайте публичный бакет
Чтобы создать бакет для файлов статического сайта:
-
В консоли управления
Yandex Cloud выберите каталог, в котором будете создавать бакет. -
На странице каталога нажмите кнопку Создать ресурс и выберите Бакет.
-
В поле Имя введите имя бакета. После настройки бакет будет доступен по двум адресам:
http(s)://<имя_бакета>.website.yandexcloud.net
http(s)://website.yandexcloud.net/<имя_бакета>
Имя должно удовлетворять требованиям:
- Длина имени должна быть от 3 до 63 символов.
- Имя может содержать строчные буквы латинского алфавита, цифры, дефисы и точки.
- Первый и последний символы должны быть буквами или цифрами.
- Символы справа и слева от точки должны быть буквами или цифрами.
- Имя не должно иметь вид IP-адреса (например
10.1.3.9
).
Если у вас есть зарегистрированное доменное имя (например
example.com
), и вы хотите, чтобы ваш сайт был доступен по адресуwww.example.com
, в качестве имени бакета укажитеwww.example.com
.Примечание
Если вы планируете использовать собственный домен для веб-сайта, имя бакета должно в точности совпадать с именем вашего домена, а домен должен быть третьего и более уровня. Подробнее см. в разделе Собственный домен.
-
В поле Доступ на чтение объектов укажите
Публичный
. -
Нажмите кнопку Создать бакет.
Включите веб-сайт для бакета
-
Загрузите и настройте главную страницу и страницу обработки ошибок будущего сайта. Для этого создайте на вашем компьютере файлы:
index.html
с текстомHello, world!
. Содержимое файла будет отображаться при обращении к главной странице веб-сайта.error.html
с текстомError!
. Содержимое файла будет отображаться при ответах веб-сайта с ошибками4xx
.
-
Загрузите созданные файлы в бакет:
Консоль управления-
В консоли управления
выберите каталог, в котором расположен бакет. -
В списке сервисов выберите Object Storage и в открывшемся окне выберите созданный ранее бакет.
-
На панели слева выберите Объекты.
-
Нажмите кнопку Загрузить. В открывшемся окне выберите созданные файлы и подтвердите загрузку.
-
На панели слева выберите Настройки.
-
На вкладке Веб-сайт:
- Выберите
Хостинг
. - В поле Главная страница укажите
index.html
. - В поле Страница ошибки укажите
error.html
. - Нажмите кнопку Сохранить.
- Выберите
-
-
Убедитесь, что главная страница веб-сайта открывается. Для этого подключитесь к сайту через браузер по ссылке вида
http://<имя_бакета>.website.yandexcloud.net
. -
Убедитесь, что страница ошибки открывается. Для этого подключитесь к сайту через браузер по ссылке вида
http://<имя_бакета>.website.yandexcloud.net/error-check
.
Примечание
По умолчанию сайт доступен только по протоколу HTTP, например, http://www.example.com
или http://www.example.com.website.yandexcloud.net
. Чтобы поддержать для сайта протокол HTTPS, загрузите собственный сертификат безопасности в Object Storage.
Настройте DNS
Если у вас есть зарегистрированное доменное имя, назначьте его бакету. Для этого создайте в DNS-запись типа CNAME.
Вы можете воспользоваться сервисом Cloud DNS для управления доменом.
Примечание
Имя бакета должно в точности совпадать с именем вашего домена, а домен должен быть третьего и более уровня. Подробнее см. в разделе Собственный домен.
В инструкции ниже описана настройка DNS для домена третьего уровня www.example.com
.
Добавьте зону
Чтобы создать публичную зону DNS:
-
В консоли управления
выберите каталог, в котором хотите создать публичную зону. -
В списке сервисов выберите Cloud DNS.
-
Нажмите кнопку Создать зону и в открывшемся окне задайте настройки зоны DNS:
- Зона — укажите ваше зарегистрированное доменное имя. Например:
example.com.
. Значение поля должно заканчиваться точкой. - Тип —
Публичная
. - Имя —
example-zone-1
.
- Зона — укажите ваше зарегистрированное доменное имя. Например:
-
Нажмите кнопку Создать.
Добавьте ресурсную запись типа CNAME
Создайте в публичной зоне DNS ресурсную запись типа CNAME:
-
В консоли управления
выберите каталог, в котором находится публичная зона DNS. -
В списке сервисов выберите Cloud DNS и выберите созданную ранее зону DNS.
-
Нажмите кнопку Создать запись и в открывшемся окне задайте параметры записи:
- В поле Имя выберите
Создать поддомен
и введите значение поддомена, например:www
. - В поле Тип выберите
CNAME
. - В поле Значение укажите значение ресурсной записи. Например:
www.example.com.website.yandexcloud.net
, гдеwww.example.com
— имя созданного ранее публичного бакета.
- В поле Имя выберите
-
Нажмите кнопку Создать.
Имя поддомена в CNAME-записи должно соответствовать имени бакета. Например, если вы создаете CNAME-запись с именем www.example.com.
, ваш бакет должен иметь имя www.example.com
.
Делегируйте доменное имя
Делегирование — это перенос ответственности с серверов регистратора на ваши серверы. Для домена создаются ресурсные записи типа NS (ns1.yandexcloud.net
и ns2.yandexcloud.net
).
Чтобы делегировать домен, укажите для него DNS-серверы в личном кабинете регистратора.
Делегирование происходит не сразу. Серверы интернет-провайдеров обычно обновляют записи до 24 часов (86400 секунд). Это обусловлено значением TTL
Проверить делегирование домена можно с помощью сервиса Whoisdig
:
dig +short NS example.com
Результат:
ns2.yandexcloud.net.
ns1.yandexcloud.net.
Загрузите файлы веб-сайта
После настройки и проверки доступности загрузите в бакет остальные файлы, необходимые для работы сайта. Используйте для этого консоль управления
Проверьте работу сайта
Чтобы проверить работу сайта, используйте один из стандартных адресов Object Storage:
http://<имя_бакета>.website.yandexcloud.net
http://website.yandexcloud.net/<имя_бакета>
Если вы настроили для сайта собственный домен, используйте его адрес, например http://www.example.com
.
Как удалить созданные ресурсы
Чтобы перестать платить за ресурсы: