LoginSignup
14
7

More than 3 years have passed since last update.

ICOS(IBM Cloud Object Storage)に静的Webサイトを構成する機能(Static website hosting)が提供されたので試してみた

Last updated at Posted at 2020-10-28

1 はじめに

ICOS(IBM Cloud Object Storage)に静的Webサイトを公開する機能が提供されたので試してみました。

2 従来の方法では何が不味かったのか?

ICOSでは従来でも、
https://xxx.xxx.xxx/index.html
のようにアクセスをすれば、そのファイルにアクセスすることはできました。でも、
https://xxx.xxx.xxx/
のようにindex.htmlを省略してアクセスすると、以下のようにBucket内部のリストが表示されてしまいます。
image.png
また、例えば存在しないファイルにアクセス(404 Not Found)するとやはり、このような無愛想(?)なページが返ってきます。ちょっとこれではWebサイトとしては使いづらいですよね。
image.png

ICOSでは、静的Webサイトを公開するStatic Web Hosting機能はこのような問題を解決してくれます。これで、3つのAZに自動的に展開される堅牢なWebサーバーがお手軽かつ安価かつ(ほとんど)運用要らずで利用可能になります。

3. 設定方法

Documentはこちら

3.1 Public Accessを有効にする(オプションだけどほぼ必須)

認証なしにアクセスさせるために必要です。たとえば、こちらの手順を参照してください。

3.2 ICOS Firewallを設定する(オプション)

無制限に世界中にアクセスするのであれば不要ですが、アクセス元を制限するのであれば必要です。たとえば、こちらの手順を参照してください。

3.3 公開したいWebコンテンツをアップロード

Buckets -> Configurationから、あらかじめ作成済みの公開したいWebコンテンツをアップロードします。
image.png

必須なのはトップ画面にあたるindex.htmlだけですが、エラー画面(error.html)やファビコンやその他それらのページが利用するjavascriptやスタイルシートや画像などが用意されていると望ましいでしょう。

3.4 Static website hostingの構成

  • Buckets -> Configuration -> Static website hostingから構成します。
    image.png
  • Index document(この例ではindex.html)は必須だが、Error document(この例ではerror.html)はオプション。
    image.png
  • Set routing rulesを構成することで、例えばエラーコードごとに細かな挙動を変えることができるが、今回は利用しない。

4. テスト

ICOSの静的Webサイトへのエンドポイント情報は、設定画面の直下にあります。(ICOS Objectに直接アクセスする際のFQDNとは違うことに注意!)
image.png

4.1 https://xxxxxx.s3-web.jp-tok.cloud-object-storage.appdomain.cloud/index.htmlにアクセス

トップページが表示されて期待通り。ただ、これだと従来のICOS Objectへのアクセス方式でもできたことです。。。

4.2 https://xxxxxx.s3-web.jp-tok.cloud-object-storage.appdomain.cloud/にアクセス

トップページが表示されて期待通り。index.htmlなしでもアクセスできるこの結果が期待していた内容でした!

4.3 https://xxxxxx.s3-web.jp-tok.cloud-object-storage.appdomain.cloud/index2.htmlにアクセス

存在しないページなので、あらかじめ設定していたエラーページ(error.html)が表示されて期待通り。

4.4 ICOS Firewall設定時のエラー画面

error.htmlを構成していてもこのように表示される。そもそもコンテンツへのアクセス権がないからエラーになるので、こういうもの?

5. 補足

本格的な利用には、(こんなURLでエンドユーザーには直接公開できないので)CNAMEの設定などが必要でしょう。CIS(Cloud Internet Service)だとDNSやCDNやWAF機能も提供しているので、一緒に組み合わせると有効です。

14
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
7