Перейти к основному содержимому

Свой домен для Yandex.Cloud Object Storage

· 2 мин. чтения

Как привязать свой домен к бакету в объектном хранилище Yandex.Cloud.

Для начала нам потребуется домен третьего уровня. Я возьму media.nikolaymatrosov.ru.

UPD 2022–10: В Cloud DNS появилась возможность создавать ANAME записи. А значит, вы можете использовать домен второго уровня.

Почему раньше нужен был домен именно третьего уровня? Потому что для него возможно настроить CNAME DNS-запись, указывающую на URL. Для поддержки же доменов второго уровня необходима A указывающая на ip-адрес. Надежного решения без контроля ip-адреса сделать нельзя было, так как ip-адрес Object Storage может измениться и вы об этом узнаете только когда упадет ваш сайт.

Именно эту проблему решает ANAME запись. Она указывает на другой домен, но для внешних пользователей это выглядит как будто для домена задана A-запись, так как DNS возвращает IP-адрес.

Выпуск сертификата

Создаем сертификат

Далее нам нужно прописать указанные значения у своего DNS-регистратора.

UPD 2022–10: Для использования ANAME-записи вам необходимо делегировать домен на name server’а Облака и уже там создать её. Соответственно и прописывать значения вы будете в интерфейсе Облака.

Теперь ждем пока сертификат будет выпущен.

Заводим домен

Для этого во вкладке Certificate Manager нажимаем кнопку создать и заполняем форму. В выпадающем списке выбираем только что созданный сертификат.

Создаем бакет

В Object Storage заводим бакет с именем совпадающим с нашим доменом.

После того как бакет создан, переходим во вкладку Веб-сайт. Там выбираем «Хостинг» и заполняем форму. У нас есть возможность указать главную страницу и страницу ошибки. Это должны быть объекты в этом бакете, которые буду отдаваться в соответствующих случаях. Через CLI можно настроить политику редиректов более гибко, например можно будет перенаправлять в случае 404 ошибки не на объект в бакете, а на функцию. Прочитать об этом можно в этом посте.

Теперь можно настроить доступ по HTTPS. Для этого нам пригодится уже созданный сертификат.

Выбираем сертификат для нашего бакета.

Остается только прописать у DNS-регистратора CNAME запись, которая будет указывать с нашего домена media.nikolaymatrosov.ruна технический домен media.nikolaymatrosov.ru.website.yandexcloud.net. выданный на Object Storage.

Готово.

Чтобы убедиться, что все работает, загрузим тестовый текстовый файл в объектное хранилище.

И вот он доступен по адресу https://media.nikolaymatrosov.ru/test.txt