Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
こんにちは! 最近は、AppSync/GraphQL での開発案件が非常に増えてきました。 GraphQL は、RestAPI のようなリソース志向の API設計に対し、データアクセス志向な API 設計を可能にします。つまり、フロントエンドの画面の振る舞いを起点にした API 設計/開発を行うことができます。 また、2018年にAws API GatewayがWebSocket APIに対応しました。 それまでは AppSync のメリットはサブスクリプション通信可能であることが挙げられていましたが、API Gateway が Web Socket に対応したことで、両者に明確に機能面で優位性は無いように思えます。 そうなると AppSync と API Gateway どちらを採用すれば良いのか迷いどころだと思いますが、わたしたちの AppSync 開発の知見をベースに本記事で解説しよ
Lambda/API GatewayをAWS SAMを利用して定義していた所に代わり、CDKを使ったプロジェクトがもっと普及してもいいんじゃないかな?と思い、AWS CDK(Typescript)を利用してサーバーレスアプリケーションを開発してみました。 どうも、もこ@札幌オフィスです。 最近CDKにお熱で、Lambda/API GatewayをAWS SAMを利用して定義していた所に代わり、CDKを使ったプロジェクトがもっと普及してもいいんじゃないかな?と思い、AWS CDK(Typescript)を利用してサーバーレスアプリケーションを開発してみました。 作る物 APIGateway / Lambdaを利用して、SQSにキューイングする一般的なサーバーレスアプリケーションを作ってみます。 API Gateway/Lambdaの構成だけでは味気ないので、SQSをイベントソースに処理用のL
皆さん、お使いのAWS環境のセキュリティチェックはしていますか? 当エントリでは、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介します。 本記事の対象コントロール [APIGateway.1] API Gateway REST と WebSocket API 実行のログ記録を有効にする必要があります [APIGateway.1] API Gateway REST and WebSocket API execution logging should be enabled 前提条件 本記事はAWS Security Hubで「AWS基礎セキュリティのベストプラクティススタンダード」を利用されている方向けの内容です。 AWS Security Hubの詳細についてはこちらのブログをご覧ください。 コントロールの説明 このコン
この記事では、cdkでスタック分割を利用してAPIGateway, Lambda の構成を作る際に起こる問題と解消法について紹介しています。 スタック分割構成を利用している方、検討している方の参考になる情報となっています。 はじめに 概要 この記事では、cdkでスタック分割を利用してAPIGateway, Lambda の構成を作る際に起こる問題と解消法について紹介しています。 理想的な形はスタックを分割せずに同一スタックで管理することですが、CloudFormationのリソース数上限(500個)やファイル上限(51,200バイト)などの制限により、スタック分割の構成を選択することがあります。 スタック分割の構成ではcdk deploy時に以下のような問題が起こります。 スタック分割を行うと新たにAPIのパスを追加した際に、自動デプロイされない問題 ステージ設定を変更した際に昔のデプロイ
APIGateway + Lambdaにserverless-expressを採用することでコールドスタートヒットが減るかもしれない話 APIGateway + Lambdaにserverless-expressを採用すると、複数のURLパス+HTTPメソッドの組み合わせを1つのLambda関数にまとめることができます。 これによりAPIコール時のLambdaコールドスタートのヒット率が減るのではないかと思い、簡単にではありますが検証してみました。 サンプルとして次のようなラーメンの具を取得するAPIを作って試していきます。 GET /ramen-gu/jiro # 二郎系ラーメンの具を返す GET /ramen-gu/iekei # 家系ラーメンの具を返す 環境 macOS Monterey node 16.15.0 typescript 4.7.4 aws-cdk-lib 2.46.0
OpenAPI定義からAPIGatewayをいい感じに作成できたので、伝えたかった記録になっています。 どんな流れで 「OpenAPI ×CDK」 に辿り着いたのか、つらつら書いています。 長い記事になっていますが、本当に伝えたいのは最後のCDKの話だけです! 時間が勿体ない方は最後の方だけ読んでいただけたらと思います。 【想定している層】 APIGateway そこそこ分かる CDK 聞いたことある OpenAPI(Swagger) 聞いたことない 【私のレベル】 APIGateway 2年くらい使っているけど未だにCorsエラーとかで沼る。 CDK 1ヶ月前くらいから触り始めたけど、既に好き。CloudFormationに戻れない。 OpenAPI 『スキーマ駆動開発』、とかの記事をみて気になっていて、最近初めて実際に触った。 OpenAPIとは? 「Restful APIの定義を記述
はじめに おはようございます、もきゅりんです。 皆さん Amplify してますか? 既存のバックエンドを使いたいけど、 SPA のフロントエンドだけは Amplify を使いたい、なんてことがあると思います。 フロントエンド・バックエンドをまるっと構築・管理ができる Amplify ですが、既存のリソースを使いたいときはどうするのかな、と思ったので対応してみました。 やりたいことは下図です。 Amplify で囲われている部分以外は既存リソースを利用します。 Amplify 以外のバックエンドの準備 元は、Swagger と AWS SAM を使って Cognito オーソライザーを使って簡単な REST API HTTP 統合してみる になります。 ただ、API Gateway ではREST API リソースが非シンプルクロスオリジンの HTTP リクエストを受け取る場合、CORS サ
はじめに この記事でいう雑APIを定義。 見切り発車でスクラップ&ビルドしながらつくる とりあえず動けばいい、スピード命 検証目的で、お金は安くしたい 個人開発や技術素掘りでとにかく手を動かしながら試行錯誤したいときに、適当なAPIを作りたいことがあります。そしてある程度角度が上がったところで、再設計する。思いついた時にすぐに形にしたい。 そんな時に、Fargateやk8sは、捨てコードのためにつくるのは大袈裟すぎるし、AppRunnerは気軽で良いけど時間課金なので消しわすれが怖いし、高くなりやすい。AppSyncはGraphQLで型を自動生成してくれるけど、Resolerが独特、ローカルサーバーたてたり、型が再生成がめんどくさい。単にEC2を一時的にたてるのもVPCだったり繋ぐまで長かったりやっぱりめんどくさい。 また雑APIはリクエスト単位での課金ほうが安くすむケースが多いです。自分
はじめに 個人ゲーム開発で困ることといえば、巨大な容量を誇るリポジトリのバージョン管理ですよね。皆さんどうしてますか? 色々なオプションがあるかと思いますが、一番格安かつデータ消失などにも強い方法として自分はAPIGateway+Lambda+S3の組み合わせでGitLFSサーバーをサーバーレス運用しています。 この方法だと、S3の代金だけでほぼ運用できるので実質無料みたいなものです。 因みにGitHubのGitLFSは50GB単位で月5ドル、Unity Plastic SCMは5~25GBで5ドル、以後25GBごとに5ドルかかります。 アクティブなリポジトリ一本ならいいですが、過去の作品を放置しておくにはランニングコストが気になってきますね。 APIGateway+Lambda+S3を使ったGitLFSサーバーの構築は、このあたりの記事でやり方が紹介されています。自分も数年前まで、このあ
概要 今回は前回紹介したAWS LambdaのAWS サーバーレスアプリケーションモデル (Serverless Application Model)、AWS SAMの続編になります。 【前回の記事】 AWS Lambda SAMとは?~Cloud9でSAM Sampleを使ってPythonのLambdaプログラムを簡単にデプロイする~ SAMの便利さは前回の記事でなんとなくわかったと思うので今回からはより実践編です。 実際にSAMを使ってAWSのサービスを連携させてみようという内容です。 第一回は、Lambda × APIGateway 編にしました。 この投稿を最後まで実行すると以下の図のようなAWSサービスで構築したWebAPI環境が、なんと2ファイル30ラインほどで完成します。 理解しやすいように最もシンプルな記載例としてファイルサンプルを作成したので実際に作ったファイルを見るとこ
マイクロサービスアーキテクチャでよく利用される、APIGatewayパターンとBFFについて調べたのでメモ なぜAPIGateway? マイクロサービスアーキテクチャでシステムを構築する場合、複数のサービスを組み合わせる形でシステムが構築される。 たとえば、ECサイトの商品詳細を表示するために、商品情報サービス、レコメンデーションサービス、レビューサービスを利用する必要がある、ということ。この場合アプリケーションの実装によっては並行リクエストを行うのが難しかったり、モバイルアプリケーションの場合は帯域の問題も発生する。(その他にもいろいろあるが割愛) そこで、アプリケーションとサービスの間にAPIGatewayというレイヤーを追加することで問題を解決する。 APIGatewayの実装 単純な場合はこの図のようになって、全てのアプリケーションからのリクエストを1つのAPIGatewayで受け
@vendia/serverless-express(旧aws-serverless-express)でExpressアプリをAPIGateway+Lambdaにデプロイしてみた 吉川@広島です。 APIGateway+LambdaExpressアプリをデプロイできる@vendia/serverless-expressをデプロイして試してみました。 @vendia/serverless-expressについて vendia/serverless-express: Run Node.js web applications and APIs using existing application frameworks on AWS #serverless technologies such as Lambda, API Gateway, Lambda@Edge, and ALB. APIGate
こんにちは。 ディベロップメントサービス1課の山本です。 今回はAmazon APIGateway(以下、APIGateway)の使用量プランの利用法を説明します。 昔、X(旧Twitter)のAPI制限に苦しめられて、サブ垢を作ってたことを思い出しながら記載します。 はじめに APIGatewayの使用量プランとは APIの構築 APIキーの設定 APIキーの必須化 APIキーの作成 使用量プランの作成 制限された時の応答 APIキーがない スロットリング制限 クォータ制限 使用量データの確認方法 さいごに はじめに 下記のような構成の時に無限にAPIを呼ばれて、無限にお金がかからないように対策します。 構成図 APIキーで識別しているクライアントを制限するために、APIGatewayの機能にある使用量プランを利用します。 ブログを前半・後半の2回に分けて説明します。 前半:使用量プラン
前回 予告の記事 前回の記事 全体構成 今回はピンク枠のお話し。 注意事項等 前回の記事とをお読みください。 今回のお話で利用するサービス Lambda Function VPC Peering RDS Proxy Security Group 構築に当たっての条件 Lambda Functionは、 TCP:3306(MySQL/Auroraポート)だけアウトバウント HTTPSは無制限にアウトバウンド RDSは、 RDSのあるVPCのサブネット と Lambda Functionのおいてあるサブネット のインバウンドを許可 実際にやったこと 元々の設計では。。。 VPC間でピアリングを行う VPC間で相互ルーティング RDSのおいてあるVPCにRDS Proxyを設置 セキュリティグループ設定、調整 具体的に RDSが所属するサブネットからRDS Proxyからの接続を許可 RDS P
APIGatewayとS3+CloudFront間のCORS問題の解決方法 WEBアプリを開発していると、CORS(Cross-Origin Resource Sharing)の問題で詰む人も多いのでは? 私もかなりハマったので、私の環境で解決した方法をメモとして残しておきます。 CORSってなに? ブラウザが https://aaaa.com/ というサイトを表示中に https://bbbb.com/というサイトへのアクセスを制限するというもの。 よく使われる例としては、ブラウザがあるWEBページを表示する際に、APIで情報をとってくるパターン。このWEBページのドメインとAPIのドメインが異なる場合、CORSのでエラーとなってしまいます。 とまぁCORSの説明をしていると日が暮れるので、CORSに関してざっくりでも内容を知っている方向けに対応策を書いていきます。 参考:https:/
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く