Static website in Yandex Object Storage

In this guide, you'll learn how to upload your the static HTML files of your website to Yandex Object Storage storage and link your domain name to a bucket, which will store the files.

To host a static website in Object Storage:

  1. Before you start.
  2. Create a bucket with public access.
  3. Configure the website homepage and error page.
  4. Set up using your own domain.
  5. Upload the website files.
  6. Check that the website is running.

If you no longer need the website, delete its files from storage.

Before you start

Before using Yandex Object Storage, sign up for Yandex.Cloud and create a billing account:

  1. Go to the management console. Then log in to Yandex.Cloud or sign up if don't already have an account.
  2. On the billing page, make sure you linked a billing account, and it has the ACTIVE or TRIAL_ACTIVE status. If you don't have a billing account, create one.

If you have an active billing account, you can create or select a folder to place your bucket in. Go to the Yandex.Cloud homepage and select or create a folder where you want to create a bucket. Learn more about the resource hierarchy in Yandex.Cloud.

The cost of hosting a static website includes:

Create a public bucket

To create a bucket for static website files:

  1. Go to the Yandex.Cloud management console and select the folder where you want to perform the operations.

  2. On the folder page, click Create resource and select Bucket.

  3. In the Name field, enter a name for the bucket (for instance, www.example.com). The bucket name will be used in the website domain name: https://www.example.com.website.yandexcloud.net.

    The name must meet the following requirements:

    • The length of the name must be from 3 to 63 characters.
    • The name may contain lowercase Latin letters, numbers, hyphens, and periods.
    • The first and last characters must be letters or numbers.
    • Characters to the right and left of the period must be letters or numbers.
    • The name must not look like an IP address (for example, 10.1.3.9).

    Note

    If you plan to use your own domain for the website, the bucket name must exactly match the name of your domain, and this must be a third-level or higher domain.

  4. Specify the maximum size of the bucket in GB.

  5. Choose Public access to the bucket.

  6. Click Create bucket.

Configure the website homepage and error page

You should upload and configure the index page and error page. To do this:

  1. Create the following files on your computer:
    • index.html with the text Hello world!. The file content gets displayed when accessing the home page of the website.
    • error.html with the text Error!. The file content appears in website responses with 4ххх errors.
  2. Go to your bucket's page, open the Objects tab, and click Upload. In the window that opens, select the created files and click the confirmation button.
  3. Click Upload.
  4. Open the Website tab on your bucket page.
  5. Select Hosting.
  6. In the Home page field, specify index.html.
  7. In the Error page field, specify error.html.
  8. Click Save.
  9. Make sure the website's home page opens. To do this, access the website from a browser via a link like https://{bucket-name}.website.yandexcloud.net.
  10. Make sure the error page opens. To do this, access the website from a browser via a link like https://{bucket-name}.website.yandexcloud.net/error-check.

Set up using your own domain

To use your own domain for a website:

  • Make sure the bucket name is exactly the same as the domain name. This must be a third-level or higher domain (for example, www.example.com).
  • Create a CNAME (Canonical Name) record at your DNS provider or on your own DNS server.

Note

By default, the website is accessible only over HTTP, for instance, http://www.example.com or http://www.example.com.website.yandexcloud.net. To provide HTTPS support for your website, upload your own security certificate to Object Storage.

The instructions below describe how to configure an external DNS service using reg.ru for the www.example.com.website.yandexcloud.net and www.example.com domain names:

  1. Find the website address on the Website tab of the bucket page in the консоли управления.
  2. Log in to the control panel of the external DNS service. Go to the list of your domains and click on the required domain name.
  3. Follow the Zone management link in the Domain management section.
  4. Create a CNAME record with the following field values:
    • Subdomain: www.
    • Canonical name: Website address with a dot at the end (for instance, www.example.com.website.yandexcloud.net..
  5. Wait 15-20 minutes for DNS record changes to take effect. The waiting time may differ for your DNS service.

Upload the website files

After you configure and test the website's availability, upload the remaining files that are necessary for website operation. To do this, use the management console, API, or one of the available tools for working with Object Storage.

Check that the website is running

To make sure the website is running, open the following address in your browser

http://www.example.com.website.yandexcloud.net`

How to delete created resources

To stop paying for file storage, delete the uploaded files.