#CloudflareUG_hnd
AWS FargateからGCP CloudRunへの
移行にCloudflareを添えて
Cloudflare Meetup Tokyo Vol.3 - 2023.12.18
#CloudflareUG_hnd
自己紹介
• 新居田 晃史(にいだ あきふみ)
• 所属
• JBアドバンスト・テクノロジー株式会社 - 先進技術研究所
• 株式会社ORPHE
• 日本最速ITエンジニア(※週刊BCN編集部調べ)
• フルマラソン 2:29:56
• コミュニティ活動
• Cloudflare Meetup
• JAWS-UG 横浜支部
• AWS Community Builder – Container
• ChatGPT Meetup Tokyo
Twitter @nid777
Facebook Akifumi Niida
#CloudflareUG_hnd
株式会社ORPHE
#CloudflareUG_hnd
FargateからCloudRunへお引越し
目的:コスト削減と開発体験の向上(インフラエンジニアが常時張り付かないインフ
旧アーキテクチャ 新旧アーキテクチャ
• 歴史的な経緯で、バックエンド(Laravel)に投げるだけのLambdaがAPIのパスとメソッド毎に存在(30個ぐらい)
• バックエンドでAPI作ってLambda作り忘れるとかある。
• トラブルシューティング時に見るログが多い(API Gateway, Lambda, ALB, Fargate・・・)
• Fargateのデプロイが遅い
• インフラのTerraformは怖くて触りたくない
課題感
#CloudflareUG_hnd
なぜCloudflareか?
1. セキュリティを Cloudflare に任せられる
2. Cloud Run のロードバランサーの代わりになりそう
3. Workers で細かい要件にも対応できそう
4. 最終的にエッジにワークロードを寄せることも検討できる
#CloudflareUG_hnd
Cloudflareのはじめかた
DNS設定の
移行・テス
ト
証明書設定
NSレコー
ドを移す
ドメインの
移管
切り替え
(旧環境)
CNAME切
り替え(新
環境)
注意点
• ドメインが対応しているか確認する(プレミアムドメイン等、Cloudflareが対応していないドメインは移管できな
• サブドメインが2階層以上ある場合、ワイルドカード証明書は、有料の Advanced Certificate が必要
例) *.x.y.example.com
#CloudflareUG_hnd
Cloud RunのフロントにCloudflareを使う その1
API Gatewayでは /api/v1/userだが、Laravelは /api/v1/users になるなど、罠がいくつかある
Workersを挟んでパスの違いを吸収しつつ、最終的にバックエンドを修正することで解決
Workersのデプロイが早くて感動
Hono使うと開発も便利
#CloudflareUG_hnd
Cloud RunのフロントにCloudflareを使う その2
SSL証明書の設定は Full を使用する
FullにすることでオリジンまでSSL通信が担保される
CloudflareからProxiedでドメインを割り当てても、Cloud Runのデフォルトのエンドポイントは残る。
Lambdaで実施していたFirebaseのトークン検証をLaravelに移すことで不用意にアクセスできないようにした。
オリジン保護についてはいくつかパターンが考えられるが、Cloud Runがカスタムドメインに対応して、
オリジンのエンドポイントをアクセス不可にしてくれれば一番ありがたい。
※現在カスタムドメインはベータ扱いで、かつ設定してもデフォルトのエンドポイントが残る。
https://qiita.com/nidcode/items/c2e8cf97bd752cc3a027
#CloudflareUG_hnd
今後
• エッジ&サーバレスにワークロードを寄せていきたい
• LaravelをHonoへ
• Cloud SQLをTiDBへ
#CloudflareUG_hnd
まとめ
• Cloudflareを使用することでコストを抑えてCloud Runのロードバ
ランサー代わりに使用できた
• Cloudflareのセキュリティ機能が使えるのが安心感がある
• Workersの開発体験が凄く良い
メガクラウドに全てお任せでもよいのだが、
目的によって良いものを組み合わせられるのが今の時代のいいところ

FargateからCloudRunへの移行にCloudflareを添えて.pptx