ウェブアクセラレータとオブジェクトストレージでサイト公開

さくらのクラウドのウェブアクセラレータとオブジェクトストレージで 連携できる機能が付いたので使ってみました。

ウェブアクセラレータでオブジェクトストレージ連携機能を提供開始しました

今回はこのブログが hugo で生成した静的なサイトのためこのサイトをオブジェクトストレージとウェブアクセラレータで配信するようにしたいと思います。

現在はウェブアクセラレータ+さくらのレンタルサーバで配信しています。

オブジェクトストレージのバケットを作ろう

料金などはこちらをどうぞ

マニュアルはこちら

  1. クラウドホームからオブジェクトストレージを選択します
    クラウドホーム
  2. [サイト] => [石狩第1サイト] を選択します
    objstr1
  3. [バケット] を選択し [バケットの追加] を行います
    objstr2
  4. バケット名を入力し [追加] を行います
    objstr3
  5. [パーミッション] を選択し [パーミッションの追加] を行います
    objstr4
    オブジェクトストレージにアクセスするアクセスキーを作成します
  6. 名前を付けます
    ここでは、myblogのバケットにREAD(読み込み)だけ許可をするパーミッションを作成します
    objstr5
  7. アクセスキーが作成されるのでメモを取ります
    この読み取りだけ行えるアクセスキーは後ほどウェブアクセラレータの設定に必要なので、必ずアクセスキーIDとシークレットアクセスキーをメモしてください
    objstr6
  8. もう1つパーミッションを追加します
    このパーミッションはサイトコンテンツをオブジェクトストレージにアップロードするために使うためREAD/WRITE(読み書き可能)で作成します
    objstr7
  9. こちらもアップロードの際に使うので、アクセスキーIDとシークレットアクセスキーを必ずメモしておいてください。
    objstr5

コンテンツをアップロードする

現在コンテンツを hugo で生成しているので、hugo の public ディレクトリをオブジェクトストレージにアップロードします。
もちろんhugoではなく自身で作成されたhtmlをアップロードすればOKです。
※ オブジェクトストレージはレンタルサーバではなくストレージであるため、PHPやCGIなどのプログラムは動きません。

ここではさくらのクラウドオブジェクトストレージのマニュアルにもあるawscliを使ってアップロードします。

ツールのインストールと設定

まず、awscliをインストールします。(今回はUbuntu20.04でやっています)

  • awscliのインストール
$ sudo apt install awscli
  • awscliの設定
$ aws configure
AWS Access Key ID [None]: <アクセスキーID>
AWS Secret Access Key [None]: <シークレットアクセスキー>
Default region name [jp-north-1]: [ENTER]
Default output format [json]: [ENTER]

ここでは先ほど作成したREAD/WRITE(読み書き可能)のアクセスキーIDとシークレットアクセスキーを使います

  • バケットを覗いてみる
aws --endpoint-url=https://s3.isk01.sakurastorage.jp s3 ls s3://myblog/

s3://<バケット名>/ を見ることができます。
ただ、最初は空っぽなので何もないはずです。

コンテンツのアップロード

awscliにはsyncがあるようなので、syncを使って hugo で生成される public ディレクトリのコンテンツを同期します。

  • アップロード(syncで同期)
$ aws --endpoint-url=https://s3.isk01.sakurastorage.jp s3 sync public s3://myblog/
  • 確認してみます
$ aws --endpoint-url=https://s3.isk01.sakurastorage.jp s3 ls s3://myblog/
                           PRE assets/
                           PRE css/
                           PRE page/
                           PRE posts/
                           PRE tags/
2021-04-14 18:46:18        219 .htaccess
2021-04-14 18:46:19       1704 404.html
2021-04-14 18:46:19       6242 index.html
2021-04-14 18:46:19       9773 index.xml
2021-04-14 18:46:21       3721 sitemap.xml

アップロードされているのが確認できました🎉

ウェブアクセラレータの設定

今回はすでにウェブアクセラレータに blog.masa23.jp を登録してオリジンサーバにさくらのレンタルサーバを指定している状態なので、これをオブジェクトストレージに変更してみます。

  • 対象のサイトを開いて [設定] を行います
    webaccel1

  • 設定部分のオリジン種別を[ウェブサーバ]から[オブジェクトストレージ]に変更します
    webaccel2

  • [バケット名]、[アクセスキーID]、[シークレットアクセスキー] を入力していき、保存を押します
    ここではREAD(読み取り専用)のアクセスキーIDとシークレットアクセスキーを設定します
    webaccel3

  • オリジン種別がオブジェクトストレージになっているのを確認して保存します
    webaccel4

これでオブジェクトストレージにアップロードしたコンテンツがウェブアクセラレータを経由し配信出来ているはずです