CloudFrontとトレイリングスラッシュのリダイレクト

結論から書くと、CloudFrontの初期設定ではリクエストヘッダーのHostが、オリジンには伝わらない。
その為、オリジンサーバーでリクエストヘッダーのHostを使用したリダイレクトを使用すると、CloudFrontのドメインでアクセスしていてもオリジンのドメインへリダイレクトされてしまう。

トレイリングスラッシュとは、URLの最後につくスラッシュのことを指すようでこれは初めて知った。
NginxやApacheには、トレイリングスラッシュが無い場合トレイリングスラッシュありのURLにリダイレクトするという機能がある。


上記2つの件が同時に発生すると、CloudFrontのドメイン上でとあるディレクトリにアクセス(意識せずトレイリングスラッシュなしでアクセス)したらオリジンサーバーのドメインにリダイレクトした。というような事象だけみると奇妙な事が起こる。

どちらも知っていれば大した話にはならなかったのだが...

ウマ娘 プリティダービー

中央競馬では、春のG1シーズンが到来。本日は牝馬クラシック初戦G1 桜花賞が開催されますね。
「ウマ娘 プリティダービー」のアプリがリリースされてから早一ヶ月あまり経過しましたが、覇権と言ってしまって問題ないレベルでヒットしていると感じています。
ウマ娘をきっかけに、競馬に興味を持ってくれる人が増えてくれるのは1競馬ファンとして非常に嬉しいです。

そんな、私も配信初日からプレイしておりますし非常に楽しんでおりますので現時点の感想など文章にしておこうかと思います。

アプリリリース

「ウマ娘 プリティダービー」リリース日は2/24だったんですが、割と2月は力のあるIPのアプリリリースが連続していたので人によってはかなり多忙な期間だったかもしれません。
自分が触ったアプリだと下記3つですね。結果としてはウマ娘にリソースを注ぐ為に全部早期引退となりました。

Yostar ブルーアーカイブ 2/4リリース

ブルーアーカイブ

ブルーアーカイブ

  • Yostar, Inc.
  • ゲーム
  • 無料
アズールレーンで一躍有名になったYostarの新作です。

アークシステムワークス BBDW 2/16リリース

BLAZBLUE ALTERNATIVE DARKWAR

BLAZBLUE ALTERNATIVE DARKWAR

  • ARC SYSTEM WORKS
  • ゲーム
  • 無料
人気対戦格闘ゲーム「ブレイブルー」シリーズのアプリですね。
こちらもウマ娘と同じくリリースが発表されてからだいぶ期間が空いてリリースだったのでよく比較(?)されていましたねw

スクウェアエニックス NieR Re[in]carnation 2/18リリース

NieR Re[in]carnation

NieR Re[in]carnation

  • SQUARE ENIX
  • ゲーム
  • 無料
ニーアの世界観は独特ですね。アプリになってもその世界観は健在でした。
「ママ」というキャラクターは興味深かったですね。

そして、2/24「ウマ娘 プリティダービー」がリリースされました。

チュートリアル

チュートリアルとしてチュートリアルガチャで「ダイワスカーレット」を引いて育成をすることになるんですが、
このチュートリアル代わりの育成でウマ娘への信頼は揺るぎないものになりました。
これは意図されたものではないと思っているんですがこんなことあるの?と
ダイワスカーレットが逃げていて後ろからウオッカが差してきて非常に際どい着差になった部分です。

これ、2008年G1 天皇賞秋を知っている人ならすぐわかると思うんですがこれをチュートリアルで喰らったんですよ。
実際のレースは、当時競馬には全く興味がなかったので動画で拝見しました。青嶋アナウンサーの実況Verが過去含め中央競馬で一番好きなレースですね。

ぜひ、見比べて見てください。こう、胸熱くなりませんか?

アニメ「ウマ娘 プリティダービー」

アプリがリリースされたタイミングでは、アニメ「ウマ娘 プリティダービー」2期が絶賛放送中でした。
アニメ放送翌日にアニメ登場キャラをガチャの新規ピックアップに投入したりとサイゲは商売上手だなと。

リアルタイムアニメ視聴から引退して長らく経つので、全然追いついていなかったんですが2期最終回が終わったタイミングで
さすがにこれ見ないはないな。と思い一気に全部見ました。

結果ほぼ号泣していた感じですね。
ウマ娘は史実へのリスペクトがすごくて、スペシャルウィークのお母ちゃんの話だけでもう泣けますよ。
スペシャルウィークの母であるキャンペーンガールは、スペシャルウィークを出産後早くに亡くなってしまい
乳母馬に乳をもらったあとニュージーランドから着たティナという女性が育成担当になった辺りの話です。

だからスペちゃんのお母ちゃんはウマ娘ではないんですね。

そして、1期だとやはりきついのはサイレンススズカの天皇賞秋。
史実の結果知ってるんですよこっちは!その状態であの展開やられちゃ無理があります。

史実を知ってるからこその感動増幅はかなりあったと感じています。
2期のトウカイテイオーとメジロマックイーンなんて無限感動増幅機関ですよ。
リアルタイムではなく伝聞や動画でしか知らない自分でもこうなんだから体験者はやばいんじゃないでしょうか。

アプリでは絶賛開催中のイベントの主役で活躍していますがキタサンブラック、サトノダイヤモンドが登場します。
あの2頭も菊花賞馬同士熾烈な争いを繰り広げましたし、サトノダイヤモンドが優勝した有馬記念は見ごたえがあると思います。
アニメ3期で彼女らを起用するのであれば避けられないレースになるでしょうし楽しみです。

アプリ

前回のイベントではかなり精神的にきつかったルーレットダービーが条件緩和されたので今回はかなり気楽に走れています。

前回

f:id:arcright:20210411131524p:plain

今回(4/11時点)

f:id:arcright:20210411131634p:plain

育成ゲームとしては、今はひたすら因子ガチャをしてる感じです。青9がまだいないんです。
育成回数250回くらいで、青3は2回。純粋な確率だとしたら結構きついですね。

ガチャもいまいち奮ってないです。サイゲに感謝の気持ちを込めて1天井分くらいは回しています。
しばらく隠居です。コンシューマーゲーム出身だと基本無料ゲームに度を超えた課金にはどうしても抵抗がありますからね。

でも、他のゲームをやめてプレイしているくらいには楽しいです。

ウマ娘プロジェクト全体のさらなる発展を祈っています。

ウマ娘 プリティーダービー

ウマ娘 プリティーダービー

  • Cygames, Inc.
  • ゲーム
  • 無料

AWS CloudFormation 雑感

AWS CloudFormation(以下CloudFormation)は、AWS上でInfrastructure as Code(以下IaC)を実現する為にAWSが提供しているソリューション。
競合するプロダクトとしてはHashiCorpが提供しているTerraformが有名だと思う。

AWSでIaCしたい。となった場合どちらかが候補になることが多いと思う。
今回初めてCloudFormationを初めて書いたので特徴や雑感などを書いておく。
Terraformまだ未経験なので比較などはできていない。

ベンダーロックイン

CloudFormationとTerraformの一番の違いはこれになるだろう。
CloudFormationは、当然AWSに最適化されAWSにのみ適応可能なツール。
それに対してTerraformはサードパーティらしくAWS,GCP,Azureなどのクラウドサービスに対応している。

AWS以外の選択肢が存在するならばTerraformを選択するのが無難だろう。

AWS CloudFormation コンソール(GUI)の設定可能

CloudFormationではMetadataセクションが存在しておりその中にAWS::CloudFormation::Interfaceというグループを設定できる。
これはWebブラウザから操作するAWS CloudFormation コンソール上での振舞いを定義するグループで、
主にスタックのパラメータをCloudFormation コンソールから設定するときの表示順、ラベル名を設定することができる。

これを実現できることこそ、クラウドベンダーがIaCツールをリリースしていることの(ベンダー側の)利点であると思う。
個人的にはこの概念を理解するまでに多少の混乱があった。わざわざIaCをしてCUIベースに移行できたのにGUIにも関連を持つの?と
ちょっと理解した状態だとClougFormation コンソールでパラメータを設定する場合には、確かに設定されていたほうが優しいかもな?と少し思うときもある。

リソース作成後コード生成可能

正確に言うとこれはCloudFormationに限った話ではない。
というのも、以前AWSはCloudFormerという作成済みのリソースからCloudFormationのコードを生成するツールをβ版として公開していた。
だが、今利用しようとするとそもそも利用可能なテンプレートにCloudFormerが見当たらなかった。

Q: 永遠にベータのCloudFormerはいつアップデートされるんですか?
A: よく聞いてくれたね笑 残念ながらCloudFormarがこれからアップデートされることはありません。サードパーティ製のFormer2というWebベースのサービスがあるのですが、これが非常によくできているのでそれを使ってください。

[レポート]What’s New in AWS CloudFormation #reinvent #DOP408 | Developers.IO

公式なリリースは見つけられなかったがこういう記事も目に入ってきたのでFormer2を利用するというのが良いのだろう。
そのFormer2は当然CloudFormationのコードを生成することもできるし、Terraformのコードを生成することもできる。

その為、前述のベンダーロックインについてもそんなにリスクにはならないのではないだろうか(CloudFormationで作ったリソースのコードをFormer2でTerraformで吐けばよさそう)。

Ansibleを使ったとき自分が感じていたのは、基本的にコードが元で生成物がリソースという図式で、それが頭にこびりついていたので先にリソース作ってから生成可能という概念を頭に取り込めたのは収穫。

全リソースには対応していない

これはちょっと残念。遭遇した部分でいうとFormer2で生成したコードをCloudFormationにする際はインポートを行う。
既存のリソースとCloudFormationのスタックを関連づける物だが、このインポート時に関連づけたいリソースに非対応のものがあった。
Former2はそこのサポートもしてくれていて、対応リソースのみコード生成してくれるのはとても良い...(親切に対応してないから生成しませんでしたと注意もしてくれる)
が、非対応なリソースもあることが頭にないと少し戸惑うかもしれない。

まとめ

まず大前提として、IaCできていたほうがいいことは間違い無いと思っている。
その上で、TerraformではなくCloudFormationを選択することについては別に二者択一なわけではないのであまり気にしなくて良いかなと思う。