Amazon Web Services ブログ

[AWS Black Belt Online Seminar] 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説 資料及び QA 公開

先日 (2020/11/18) 開催しました AWS Black Belt Online Seminar「形で考えるサーバーレス設計 サーバーレスユースケースパターン解説 」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。

20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説

AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます)

Q. 業務系APIグループ企業間APIのユースケースですが、LambdaとRDSの組み合わせはコネクションの問題がありアンチパターンだと思っていたのですが、違うのでしょうか?
A. 確かにこれまではアンチパターンと言われていましたが、Amazon RDS Proxyがリリースされたことによって、AWS LambdaからAmazon RDSへのコネクションをプーリングして再利用できるようになったため、Amazon RDSの負荷を軽減することができるようになりました。従って今後はAWS LambdaとAmazon RDSの組み合わせも要件に合わせて検討できる構成となっています。

Q. Lambdaの質問になりますが、Lambda関数について、デフォルト設定では、参照権限を許可しない限り、別のAWSアカウント(第三者)から関数を呼ばれることはない、という理解であっていますでしょうか?
A. はい、その通りです。AWS Lambda関数のリソースポリシーで明示的に許可を与えない限り、他のアカウントからそのLambda関数を実行することはできません。

Q. API-Gatewayを使ってSPAアプリを開発しようとしたときに、HTMLファイルはS3に置くのが一般的でしょうか?
A. SPAのアプリケーションを開発する場合、HTMLやJavaScriptは静的なページなのでAmazon S3のWebホスティング機能を利用することにより、サーバーの構築を行うことなくWebの静的ページをホスティングすることが可能です。そのためAmazon API Gateway、AWS Lambda、Amazon DynamoDBなどと組み合わせることで、全てをサーバーレスで構成して実行することが可能となるため良く利用されます。

Q. APMのパターンはありますか?今日の時点で AWS X-Ray にはマルチアカウントサポートがないことを理解しています。これはNew Relicのようなサードパーティソリューションが効果的ですか?
A. AWS X-Ray Daemonはクロスアカウントのアクセスを可能としています。詳細はこちらのドキュメントをご参照ください。

Q. Kinesis Data Firehose の Lambda 呼び出し制限の5分はどこから、どこの処理までの時間でしょうか?
A. データ変換処理を行うためにKinesis Data Firehoseは同期的にAWS Lambda関数を呼び出しますが、このLambda関数の実行時間の制限になります。

Q. DynamoDBストリームをポーリングするレートは秒間4回とのことですが、これは固定ですか?変更できますヵ?
A. こちらの値は固定で変更することはできません。

Q. データ変更トリガーで、Lambda から Amazon RDS を呼び出す場合、スロットリングを考慮する必要はありますか?
A. AWS Lambda関数からAmazon RDSへの呼び出しはデータベースコネクションを介して行われますのでスロットリングを考慮する必要はありませんが、一方でデータベースのmax_connectionsを超えてエラーになる可能性がありますので、Amazon RDS Proxyの利用も併せてご検討ください。

Q. ケースバイケースだと思うのですが、どのパターンがベストなのかを判断するポイントというのは、コストとかになるのでしょうか。(LambdaとLambdaをつなげるときに、SQSを使うべきか、StepFunctionsを使うべきか、EventBridgeRuleを使うべきか、など)
A. コストも検討要素のひとつではありますが、アーキテクチャの選択においては要件(この場合特に非機能要件)と制約を満たしていることがポイントとなります。例えば、Lambda関数からLambda関数を呼び出す構成で呼び出されたLambda関数でエラーが発生した場合にデータが失われては困る場合に、間にSQSを間に入れることで可用性の向上を図るなどが考えられます。

Q. ユースケースで、S3からのイベント連携でSNS→SQSの流れがありましたが、S3→SQSもできると思います。メリデメ等差があるのでしょうか。
A. 単純にAmazon S3のイベントに対して1つの処理を実行する場合は、Amazon S3からAmazon SQS、あるいはAmazon S3からAWS Lambdaでも良い場合があります。Amazon SNSはパブリッシュ、サブスクライブパターンを実装するのに適したサービスでひとつのトピックに対して複数のアクションを実行する場合に特に有効です。

Q. codepipelineも今回紹介いただいたstep functionの使い方と似たようなところで活用が可能なのでしょうか
A. AWS CodePipelineは継続的インテグレーション/継続的デリバリー(CI/CD)のパイプラインを自動化するためのサービスでCI/CDに必要なステージをGUIで定義して実行することができます。一方でAWS Step Functionsは様々なサービスを組み合わせた定義済みのワークフローを作成、実行することができるサービスで、業務フローを実現するアプリケーションなどでご活用頂けるサービスです。

—–

今後の AWS Webinar | イベントスケジュール

直近で以下を予定しています。各詳細およびお申し込み先は下記URLからご確認いただけます。皆様のご参加をお待ちしております。

——

AWSome Day Online Conference

「AWSome Day Online」は、AWSの主要サービスや基礎知識を約 3 時間という短い時間で、ポイントを押さえて紹介いたします。技術的な面だけではなく、AWS クラウドを学ぶために必要となる知識を身に付けたい方、エンジニアのみならず、営業職、プリセールス職、学生まで幅広い方々におすすめします。

※この回ではAWSエキスパートによる技術的な内容についてチャット形式でのQ&Aを実施します。
※AWS サービスの導入に関するご相談も同時にチャット形式にて対応します。
※2020年は毎月第一水曜日に開催します。

日時:2020 年 12 月 2 日(水) 15:00 – 18:00 終了予定 | 詳細・お申込みについてはこちら≫

——

【オンラインセミナー(ハンズオン)】スケーラブルウェブサイト構築編

$25クーポン付き!
スケーラブルウェブサイト構築編 は、WordPressを使ったブログサイトの構築を通じて、スケーラブルな Web システム構築を学んでいただけるハンズオンセミナーです。主に取り扱う AWS サービスは Amazon EC2、Amazon RDS、ELB の3つです。また、作って終わりではなく、実際にEC2インスタンス1台を停止させ、その状態でもブログサイトにアクセスできることも確認します。前提となる必須知識はありませんので、スケーラブルな Web アーキテクチャについて学ぶ第一歩としてご活用ください。

※ AWSome Day Online Conference とセットでご視聴いただきますと効果敵です。
※当日はサポート講師が待機し、チャットで皆様の操作をサポートします。

日時:2020 年 12 月 3 日(木) 14:00 – 17:00 終了予定 | 詳細・お申込みについてはこちら≫

——

AWS Black Belt Online Seminar

12 月のアジェンダを公開しました。またセミナー中は内容に関する疑問点を質問することができます。参加された方だけの特権ですので、ぜひこの機会にご視聴ください。

12 月分の詳細・お申込はこちら≫

  • 12/7(月)18:00-19:00 2020 年 AWS re:Invent 速報 Part1
  • 12/8(火)12:00-13:00 AWS Config update
  • 12/9(水)18:00-19:00 HPC on AWS
  • 12/14(月)18:00-19:00 2020 年 AWS re:Invent 速報 Part2
  • 12/15(火)12:00-13:00 AWS IoT Greengrass
  • 12/16(水)18:00-19:00 Amazon Timestream
  • 12/21(月)18:00-19:00 2020 年 AWS re:Invent 速報 Part3