2024.12.19
システムの穴を運用でカバーしようとしてミス多発… バグが大量発生、決算が合わない状態から業務効率化を実現するまで
リンクをコピー
記事をブックマーク
清水崇之氏(以下、清水):視聴者のみなさんから1つ質問がきています。「Cognitoと他の認証を協調させるような作り方はできますか」という質問について、いかがですか?
福井厚氏(以下、福井):はい。これもCognitoがフェデレーションの機能を持っています。例えばFacebookやGoogle ID、あとはSAM認証をサポートしているような他のIdPと連携させて認証することができるようになっています。そういう複合というか、組み合わせで認証させることも可能です。
清水:ありがとうございます。
中村航也氏(以下、中村):Deletion Policyの話に関係しますが、Cognitoのユーザー情報、DynamoDBに退避させておいて、いざという時に復旧できるようなアプローチがあるとしたら、そのDynamoDBはCognitoのスタックを分離しておくか、もしくはCognitoのスタック内でDeletion Policyで中が削除されないように管理しておくかで言うと、スタックを分けるアプローチが望ましいということですか?
下川賢介氏(以下、下川):そうですね。スタックを分けるか、実はDynamoDB自体にもS3にバックアップする機能があるので、最終的にはS3に置いておく。S3のほうはすごく堅牢性の高いサービスになっているので、そちらに置いておいて、そこから復元していくことも考えられると思います。
本当に失われてはいけないリソースであればS3で管理しておく。S3自体は堅牢性の高いサービスですが、リージョナル障害にも耐えたいという時にはS3のリージョン間のレプリケーションを使う。例えば東京と大阪をレプリケーションしておいて、他のリージョンにデータを逃がしておくとか。サービスの(中の)どこまでデータを残しておきたいかという要求によって、先の先まで計画することもできるのかなと思います。
清水:ちょっと違うかもしれませんが、バルクヘッドみたいな考え方なのかなと思いますね。やはり大事な部分、サービスをどこまできちんと動かすかというところで、影響を与えたくないのであれば、やはりスタックごとに分けておくというのが1つのプラクティスである気はします。
清水:もう1つ質問が来ているので読み上げますね。「AWSで認証・認可をすべてGUIで設計・設定できるようなサービスはありますか」。認証・認可をすべてGUIで操作できればいい、設計・設定できればいいという意味かな。
下川:「マネジメントコンソールからすべて設定できますか」という解釈でいいですかね?
清水:それでいいと思います。
下川:CognitoもAPI Gatewayというサービスも、マネジメントコンソールからポチポチとクリックしたりドラッグしたりすることによって設定できます。ただ、2つくらい前の質問にあったとおり、画面を操作する手続きは再現性がなかったり、Excelで手順書を起こさないと同じような環境が作れなかったりするので、できるだけInfrastructure as codeでテンプレートを使ったりするほうがいいんじゃないのかなとは思いますね。
福井:そうですね。
青山稜河氏(以下、青山):先ほどのCognitoは、Fargateと一緒に組み合わせて認証・認可みたいなものはできるんですか?
下川:そうですね。先ほどの図にもあったALBが実はCognitoとかに対応しているので、同じようにCognitoベースの認証ができます。
今(スライドには)ALBが書かれていますが、実はお客さまの中ではECSの前、Fargateの前にALBではなくAPI Gatewayを置くというスタイル、アーキテクチャパターンを取ることもできます。API Gatewayベースでやれば、先ほど説明したアーキテクチャを取ることができるのかなと思います。
青山:ありがとうございます。
福井:この図を見て思い出しました。先ほど言い忘れたんですが、フロントエンドについてはもちろんコンテナで実行してもらってもかまいませんが、もう1つ、Amplifyホスティングという機能を使ってもらうと、簡単にこういうStatic GenerationしたサイトをS3上でホスティングできます。
そうすることによってより管理の工数を削減したりコストを抑えたりできると思うので、そちらを検討してもらってもよいと思います。
青山:そのAmplifyというのは、処理の流れとしてCloud Frontに行って、そのままS3に行く感じですか?
福井:そうです。自動的にS3のホスティングとCloud Frontを構築してデプロイしてくれます。
青山:便利ですね。
福井:はい。試していただければ。もともとAmplifyというサービス自体は、クライアントのアプリケーションを実装するのに便利なライブラリやフレームワークを用意したサービスでした。
例えばReactやAngular、あるいはモバイルアプリケーションであるiOSやAndroidに対応するようなサービスでしたが、今はどんどん拡張されて、ホスティングとかデータのモデリングとか、そういったところまでできるようになっています。見てもらえると便利な機能がたくさんあります。
青山:ありがとうございます。
青山:もう1つ質問がきています。TECH PLAYではもう1つALBがあるじゃないですか。今、これで新しい環境と古い環境を分けているんですよね。パスベースルーティングで移行の真っ最中。
例えば、/blogというパスは新しい環境、/eventというパスは古い環境、EC2の環境と分けていて、S3でホスティングした場合はどうやって振り分けたらいいのかが気になったんですが、どうでしょう?
福井:WebサイトのURLでパスルーティングしているということでよいですか?
青山:そうです。
福井:なるほど。ロードバランサーで振り分けたい場合、どうすればいいですかね。
青山:ロードバランサーじゃなくてもいいんですけれど、今はそういう構成なので。
福井:一応Cloud Frontの中でも分けることはできるので、新しいものはS3のスタティックホスティングして、それ以外のURLに関してはそのオリジンをEC2にしてもらうかたちは取れるかと思います。
青山:あ、なるほど、わかりました。ありがとうございます。
下川:たぶん視聴者の方、CloudFrontとかS3いう単語が初めて出てきたので(わからない方のために説明します)。CloudFrontは、例えばCDNみたいなコンテンツ・デリバリー・ネットワークという役割を果たしていて、そこでキャッシュをしたりエッジからレスポンスを返したり、レイテンシーに貢献できたりするようなサービスです。
S3は何かと言うとオブジェクトストレージで、ここにファイルや何かリソースを登録しておき、そこをCloudFrontからオリジンとしてさすことによって、そのリソース、例えばCSSとかHTMLという静的リソースをユーザーに返すことができる。こんな組み合わせができるようなサービスになっています。
清水:ありがとうございます。そろそろお時間ですが、いかがですか。TECH PLAYのみなさんから最後に何か質問があれば。
青山:最初のデプロイの相談に戻りますが、簡単にデプロイする方法。これをSAMでやる方法ですが、逆に、CloudFormationでSAMがCloudFormationに変換する処理をするじゃないですか。
福井:はい。
青山:逆にCloudFormation側から、そのSAMに変換することもできるんですか。
福井:それはないです。
青山:ないですか。
福井:はい。
青山:CloudFormationで全部完結できるのかなと思ったのが(今の質問をした)理由です。
福井:先ほど言ったように、SAMのテンプレートの中にCloudFormationのテンプレートを含めることができるので、過去にあるそのCloudFormationのテンプレートをペタッとSAMのテンプレートに貼ってもらえればそのまま使えます。
青山:ありがとうございます。そうなんですね。
下川:記述の面だけでなく、例えば私がSAMを好きな理由にローカルテストができる・しやすいことがあります。SAMのCLIの中にLambdaのエミュレータやAPI Gatewayのエミュレータをローカルで立ち上げてテストするという機能がある。CloudFormationにないようなデプロイ前にテストがローカルでできてしまう機能があるので、それらを使いたいケースでは、CloudFormationとは考え方を分けておくのがいいのかなと思います。
福井:はい。
青山:ありがとうございます。ローカルでLambdaを動かしたりするということは初めて知りました。
福井:そうですか。
下川:ぜひ。
福井:試してもらえれば。
青山:ありがとうございます。
下川:あくまでもエミュレータなので、Cloudを模倣して動くというかたちです。すべてがCloudの性能や機能を実現しているわけではない点は注意してください。
青山:はい。ありがとうございます。
関連タグ:
2024.12.20
日本の約10倍がん患者が殺到し、病院はキャパオーバー ジャパンハートが描く医療の未来と、カンボジアに新病院を作る理由
2024.12.19
12万通りの「資格の組み合わせ」の中で厳選された60の項目 532の資格を持つ林雄次氏の新刊『資格のかけ算』の見所
2024.12.16
32歳で成績最下位から1年でトップ営業になれた理由 売るテクニックよりも大事な「あり方」
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
PR | 2024.12.20
モンスター化したExcelが、ある日突然崩壊 昭和のガス工事会社を生まれ変わらせた、起死回生のノーコード活用術
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2024.12.18
「社長以外みんな儲かる給与設計」にした理由 経営者たちが語る、優秀な人材集め・会社を発展させるためのヒント
2024.12.17
面接で「後輩を指導できなさそう」と思われる人の伝え方 歳を重ねるほど重視される経験の「ノウハウ化」
2024.12.13
ファシリテーターは「しゃべらないほうがいい」理由 入山章栄氏が語る、心理的安全性の高い場を作るポイント
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
Climbers Startup JAPAN EXPO 2024 - 秋 -
2024.11.20 - 2024.11.21
『主体的なキャリア形成』を考える~資格のかけ算について〜
2024.12.07 - 2024.12.07
Startup CTO of the year 2024
2024.11.19 - 2024.11.19
社員の力を引き出す経営戦略〜ひとり一人が自ら成長する組織づくり〜
2024.11.20 - 2024.11.20
「確率思考」で未来を見通す 事業を成功に導く意思決定 ~エビデンス・ベースド・マーケティング思考の調査分析で事業に有効な予測手法とは~
2024.11.05 - 2024.11.05