ちょっと久しぶりになりますが技術のことを書く。
Amazon S3とは?
ブログもちょっとしたサイトもほとんどMiddlemanを使って構築しているわけだけど、
Github Pagesだけじゃなくアマゾン ウェブ サービス(Amazon Web Services)もべっりだったりする。
以前に比べると日本語化もかなり進んでいたり無料利用枠があるのではじめるのにそこまでハードルは高くない。
ただクレジットカード登録と電話でのPIN番号認証があるのでやたらめったらとアカウント作るってわけにはいかないだろう。
日本語のドキュメントも充実している。
S3というと負荷分散のために画像や映像ファイルを置いておく場所のイメージがあったと思うんだけど
もちろんそういう使い方が主流だと思うけど今はちょっと違うように思う。
Amazon S3のバケットを作る
AWSのサービスからS3を選んでS3 Management Cosole画面へ。
左上の「バケットを作成」を押す。
バケット名とリージョンを選択して右下の「作成」を押すとバケットが作成される。
バケットのプロパティで静的ウェブサイトホスティングを有効にすることができる。
インデックスドキュメント、エラードキュメントそれぞれを設定して「保存」を押して設定を反映させる。
このままではアクセス件がなくアップロードしたファイルを見ることができないので「さらにアクセス許可を追加する」を押す。
被付与者を全員、「リスト」にチェックをいれて「保存」を押して設定を反映させる。
AWS S3の設定は以上となる。
またアクセスキーとシークレットキーが必要になるがAWS マネジメントコンソールのアカウント名のプルダウンから「認証情報」を選択して「セキュリティ認証情報」からアクセスキーを作成するなどして入手しておく。
Middlemanでプロジェクト作成とその設定
1 | $ middleman init some_project |
Middleman Syncというパッケージを使うと静的ファイルのビルドとファイルのアップロードがコマンドひとつでできる。
Gemfileを開いて以下を追記する。
1 | gem 'middleman-sync' |
bundle installでパッケージのインストール。
1 | $ bundle install |
config.rbを開いて以下を追記する。
1 | activate :sync do |sync| |
設定は完了したのでソースをビルドしてS3に反映させる。
1 | $ middleman build |
完了したらS3に反映されているので確認する。 S3 Management Cosoleのバケットのプロパティ「静的ウェブサイトホスティング」のエンドポイントがURLとなり、それで確認できる。