(2019/12/13 事後談追記) レンタルサーバー上にあったファイル数が少なかった(画像含め3MB以下)ので、S3への移行がブラウザのドラッグドロップですぐに完了。Webサイト開始の設定、読み取りセキュリティ設定、ドメインのCNAME設定をしました。無事に稼働を確認し、30分程度で一通り完了(S3バケット作るの初めてだったのですが)、レンタルWebサーバーの廃止ができてしまいました。ごめんなさいGMOさん!(従来はFTPでアップロード、バージョン管理もされていなかったので、Chromeブラウザだけでホイっと終わりバージョン管理もされる上にコストがレンタルサーバーと比較すると 500分の1? 1000分1?と随分と削減になり便利になりました)
・ ・ ・ ・ ・
サーバーレスってどこまで安価にできるのかな(今までWebサーバーでコスト削減発想がなかった)
AWSで簡易なWebサーバーを簡単に作る方法の「パターン資料」が見当たらなかったので整理してみました。ことの発端はAWS試験勉強でEC2など立てなくてもWebサーバーが立てられることが分かったからコスト削減になるかもしれないと思い立った(試験勉強って意味がないっていう人いるけど、何かのきっかけでそういえばこんなこと聞いたことがある!って思いつくことあるのですよね。そういう気付きを軽視する人って本当に残念だなあと思う)。現在はほとんどトラフィックがない(個人事業のような)簡単なホームページをGMOのレンタルサーバーにホスティングしているのですが、年間で1万円程度払っているはずなので、AWSでコスト削減もかねて何かできないか調べた結果です。
(1)EC2 (IIS, Apacheなどのミドルウェアをインストール)
サーバーレスではない一番オーソドックスなAWS上でのWebサーバー構築事例。オンプレでスキルが陳腐化したおっさん(私)が思いついていた 唯一のAWS活用代表例、典型的なAWSパターン。結局のところ、国内レンタルサーバーから移植しようとしても高くつく理由で諦めるケースが多い。https://aws.amazon.com/jp/ec2/pricing/
(2)S3のみで対応する
S3はhttp表示が可能!
これで事足りてトラフィックもほとんどなければコスト削減になりそう。
静的なhtml,画像コンテンツのみに有効なパターン。
WordPressで作成されたサイトを変換してS3に放り込むこともできなくはない。
「工事中」などと簡易に表示させる場合やリダイレクトをしたい場合にも使えるテクニック。
動的なコメントページやメール転送などを考えると機能がなく完結しない。
内容の変更がほぼ発生しないことが前提の運用になる。
https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/WebsiteHosting.html
https://orizuru.io/blog/aws/s3-01/
https://qiita.com/dogwood008/items/a92abae789f4b0466f38
※WordPressの場合、WordPressがどこかに動く環境があり、
StaticPressプラグインを投入。S3転送用に構築したファイルをS3に流し込む作業が必要。
WordPress上で内容を変更した場合は再構築し再転送が必要。
WordPress/StaticPress関係の参考:
https://dev.classmethod.jp/cloud/aws/staticpress-amazons3/
https://14code.com/blog/20180509_1320/
https://qiita.com/Ichiro_Tsuji/items/c6a52ec0ee95ead42f68
http://webfood.info/staticpress-s3/
http://ja.staticpress.net/
https://github.com/megumiteam/staticpress-s3
(3)S3 + CloudFront
httpに加えてhttps SSLを実装しようとするとこちらが最低パッケージの様子。
重たいデータの配信、ワールドワイドの配信にも向いている。
小規模のサイトではまず使わなくて良いのではないか。
https://syobon.jp/blog/2018/04/16/how-to-build-static-site-using-wordpress/
(4)Lambdaのみ
これはありえない(はず)。
ブラウザ経由で中継なしに直接Lambdaを呼び出すことができない。
(5)Lambda + API Gateway のみ
S3だけでは不可能な https を呼び出しに使える。
1ページで完結する綺麗なデザインがない「工事中」のような単純なWebサイトや
リダイレクトをかけるだけのサイトならこの手も使えそう。
S3だけの場合と比較した際に場合によりこちらが候補になることもありそう。
https://canalier.com/aws-lambda-api-gateway%E3%81%AEhelloworld%E6%89%8B%E9%A0%86/
https://qiita.com/yoshidasts/items/d58c555aed2693e99ae6
(6)Lambda+API Gatewayに加えてその他の組み合わせ ((+ Aurora, S3など))
「Webサーバー」を立てなくてもいろいろできる。
https://www.cresco.co.jp/blog/entry/445/
https://qiita.com/hkusu/items/13af2b1a328719ea2946
https://engineers.weddingpark.co.jp/?p=1333
https://qiita.com/kimihiro_n/items/15cce90ec93625c4445a
とりあえず今回は現行サイトに近い状態になるようファイルをS3に放り込み、レンタルサーバー解約の検討になりそうです。