さくらのクラウドのウェブアクセラレータとオブジェクトストレージで 連携できる機能が付いたので使ってみました。
ウェブアクセラレータでオブジェクトストレージ連携機能を提供開始しました
今回はこのブログが hugo で生成した静的なサイトのためこのサイトをオブジェクトストレージとウェブアクセラレータで配信するようにしたいと思います。
現在はウェブアクセラレータ+さくらのレンタルサーバで配信しています。
オブジェクトストレージのバケットを作ろう
料金などはこちらをどうぞ
マニュアルはこちら
- クラウドホームからオブジェクトストレージを選択します
- [サイト] => [石狩第1サイト] を選択します
- [バケット] を選択し [バケットの追加] を行います
- バケット名を入力し [追加] を行います
- [パーミッション] を選択し [パーミッションの追加] を行います
オブジェクトストレージにアクセスするアクセスキーを作成します - 名前を付けます
ここでは、myblogのバケットにREAD(読み込み)だけ許可をするパーミッションを作成します - アクセスキーが作成されるのでメモを取ります
この読み取りだけ行えるアクセスキーは後ほどウェブアクセラレータの設定に必要なので、必ずアクセスキーIDとシークレットアクセスキーをメモしてください - もう1つパーミッションを追加します
このパーミッションはサイトコンテンツをオブジェクトストレージにアップロードするために使うためREAD/WRITE(読み書き可能)で作成します - こちらもアップロードの際に使うので、アクセスキーIDとシークレットアクセスキーを必ずメモしておいてください。
コンテンツをアップロードする
現在コンテンツを 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 を登録してオリジンサーバにさくらのレンタルサーバを指定している状態なので、これをオブジェクトストレージに変更してみます。
対象のサイトを開いて [設定] を行います
設定部分のオリジン種別を[ウェブサーバ]から[オブジェクトストレージ]に変更します
[バケット名]、[アクセスキーID]、[シークレットアクセスキー] を入力していき、保存を押します
ここではREAD(読み取り専用)のアクセスキーIDとシークレットアクセスキーを設定しますオリジン種別がオブジェクトストレージになっているのを確認して保存します
これでオブジェクトストレージにアップロードしたコンテンツがウェブアクセラレータを経由し配信出来ているはずです