1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

赤いきつね食ってたら、AWSのS3だった。

1
Posted at

はじめに

何気なく「赤いきつね」を食べていたときのこと。
ふと蓋をよく見たらQRコードを発見。読み込んでみたら、ブラウザで「赤いきつねだしキャッチ」というミニゲームが遊べました。

なんかあるんじゃないか?と思ってなんとなくURLを見たら……

「S3じゃん!!!」

最近個人的にアツいAWSがいたので、少し妄想を膨らませてみた話です。

発見したURL

開いたゲームのURLの構造は、以下のような形になっていました。
(※購入者特典のコンテンツのため、一部URLを伏せてます。)

https://client-app-data.s3.amazonaws.com/[キャンペーン名]/index.html

重要なのはここです。
ドメインの部分にしっかりと s3.amazonaws.com が含まれており、AWSのS3が使われていることが一発でわかりました。

AWSのS3とは?

Amazon S3(Simple Storage Service)は、AWSが提供するクラウド型のオブジェクトストレージサービスです。

S3では、データを保存する入れ物のことを「バケット」と呼び、その中にインターネット経由で画像や動画、テキストファイルなど様々なデータを安全に保存できます。
さらに、このバケットの中にHTMLやCSS、JavaScriptなどのファイルを配置して設定するだけで、サーバーを立てずにWebサイトを公開できる「静的ウェブサイトホスティング」が可能という非常に便利な機能も持っています。

技術的な考察

1. なぜサーバーではなくS3なのか?

このゲーム、ランキング機能などの動的な処理が一切ありませんでした。HTML/CSS/JavaScriptと、画像や音声などのアセットだけで動く完全な静的アプリケーションです。

これなら、EC2などのサーバーを常時立てておく必要が全くありません。

  • 低コスト: サーバー代がかからず、ストレージと転送量だけの課金で済む
  • スケーラブル: プロモーションによる突発的な大量アクセスがあっても、サーバー落ちの心配がほぼゼロ

S3単体で、期間限定のミニゲームを「低コストかつ安全・確実」に運用しているんだな、と納得しました。

2. なぜ独自ドメイン(専用のURL)じゃないの?

「なんで https://campaign-akaikitsune.jp みたいな綺麗なURLにしないんだろう?」と一瞬思いました。しかしよく考えるとこれは非常に合理的な最適解だとわかります。

  • QRコード経由だから見栄えは気にしなくていい: ユーザーはパッケージのQRコードから直接アクセスします。検索エンジンにインデックスさせる必要も、ユーザーにURLを手入力してもらう必要もないため、URLの見た目が「生URL」のままで全く問題ないわけです。
  • コストと手間の削減: 数ヶ月で終わるミニゲームのためにわざわざドメインを取り、DNSを紐付け、SSL証明書を発行・管理するのは、コストや運用の手間が見合いません。

3. バケット名から推測できる運用スタイル

もう一つ面白かったのが、URLの階層構造(S3のバケット名)です。
URLを分解すると、以下のような構造になっていました。

  • バケット名(親):client-app-data
  • フォルダ名(子):[キャンペーン名(今回のゲーム名)]

バケット名にマルちゃん関連の名前が見当たらなかったので、もしかすると委託で制作されたゲームの可能性もありそうです。
client-app-data(クライアントのアプリデータ)という非常に汎用的な名前になっていることから、開発元の企業が「1つの共通バケットの中で、案件ごとにフォルダを分けて管理するマルチテナント運用」のように、各クライアントのデータをまとめているバケットなのかもしれません。

client-app-data (共有バケット)
├── [今回の赤いきつねゲームのフォルダ]/     <-- ここで動いてる
├── [A社のWebサイトのフォルダ]/
└── [B社のキャンペーンのフォルダ]/

案件ごとに毎回バケットを新しく作るのではなく、1つの汎用的なバケットを使いフォルダで区切る手法です。
権限管理(IAM)やデプロイの効率を考えると、実務的でかなり合理的な運用スタイルに見えます。

気になった方は是非赤いきつねを買って遊んでみてください!!
難易度高めでデザインも素敵なゲームでした!!

まとめ

  • 赤いきつねのQRコードから遊べるミニゲームがあった
  • URLを見ると、AWSのS3が使われていた
  • 静的なミニゲームとS3の相性はかなり良さそう
  • 独自ドメインを使わない構成も、QRコード経由なら合理的に見える
  • 身近な商品にもAWSが使われていて面白い

赤いきつね美味しかった

みなさんも買って遊んでみてね!!

ごちそうさまでした!!

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?