Amazon

API Gateway(REST) のセキュリティの検討

はじめにAPIキーAPIキーは、APIへのアクセスを認証するためにクライアントに割り当てられる一意の文字列です。APIキーは、APIリクエストの一部として送信され、API Gatewayや他のAPI管理システムでそのリクエストが許可されるかどうかを判断します。APIキーの機能と利点アクセス制御:APIキーを利用することで、APIにアクセスできるクライアントを制御できます。APIキーを持っているクライアントのみがAPIにリクエストを送信できるように設定できます。レート制限とクォータ管理:APIキーを使用すると、特定のクライアントごとにリクエスト数を制限するレート制限や、一定期間内のリクエスト数を管理するクォータを設定することができます。これにより、APIの過負荷を防止し、サービスの安定性を保つことができます。API使用のモニタリング:APIキーごとにリクエストをトラッキングすることで、どのクライアントがどれだけのリソースを使用しているかを監視できます。これにより、使用量に応じた課金やリソースの適切な割り当てが

Shopify

Shopifyのwebhookをslackで受信する設定

はじめに以下で、EventBridgeを使い、ShopifyイベントとLambdaを連動させる方法は説明している。https://www.s3lab.co.jp/blog/shopify/1882/ここでは、LambdaからSlackのWebhookを呼び出す方法を検討する。開発通知を受け取るためのSlackチャンネルを作成Slackでwebhook urlを作成slackにログインした状態で以下にアクセスするhttps://slack.com/services/new/incoming-webhookチャンネルを選択し、Incoming Webhookインテグレーションの追加を押すと、URLを入手できるこれは、slack app「Incoming Webhook」によるカスタムインテグレーションで実現している。登録済みのURLを確認するには、アプリ検索から「Incoming Webhook」を開き、設定を確認する。SlackのwebhookへメッセージをPOSTするLambd

Shopify

Shopifyアプリ – Remix版scaffoldのgraphqlの理解

はじめにcodegenでgraphqlの開発がどのように自動化できるのか調査するgraphqlのきれいなコードの収め方を考える参考https://shopify.dev/docs/api/shopify-app-remix/v2/guide-graphql-typeshttps://shopify.dev/docs/api/admin-graphql/2024-07/queries/orders?language=Remixhttps://shopify.dev/docs/api/shopify-app-remix/v2/apis/admin-apihttps://remix-docs-ja.techtalk.jp/ソース確認package.jsonの確認@shopify/api-codegen-presetがインストール済みスクリプトに、 graphql-codegenが設定済み追加で、npm add @shopify/admin-api-client @shopify/sto

Shopify

Shopifyカスタムアプリの開発 – ストア管理画面から作成

はじめに目標Shopifyのカスタムアプリは、Shopify Partner, Shopify appコマンド、Shopifyストア管理画面から作成できます。Shopify appコマンドで作成すると、Shopify Partnerで認識されます。これはRemixアプリとして開発手順を確認しました。今回は、もう一つの手法である、Shopifyストア管理画面から作成し、Shopify Partnerから作成する場合との手順の違いを確認します。前提カスタムアプリは、1つのストア限定でインストールできます。ただし、Shopify Plusプランの組織をもつ場合、Shopify Partnerで作成したカスタムアプリは開発用ストアと同じ組織に属しているストアにもインストールできます。カスタムアプリから、顧客名、住所、メールアドレス、電話番号のような個人識別用情報(PII)へのAPIアクセスは、Shopify, Advanced, Plusプランでのみ有効でです。管理画面から作成するアプリは、Storefront APIとAdmin A

Amazon

Amazon API GatewayによるREST APIの構築

はじめに以下の調査をもとに、REST APIを構築するhttps://www.s3lab.co.jp/blog/iaas/amazon/2053/https://www.s3lab.co.jp/blog/misc/2034/https://www.s3lab.co.jp/blog/iaas/amazon/2021/API Gatewayの種類API Gateway typeHTTP APIHTTP API は低価格で提供できるように最小限の機能で設計されています。WebSocket APIウェブブラウザとサーバー間でセッションを確立し、双方向通信を可能とします。REST APIAPI キー、クライアントごとのスロットリング、リクエストの検証、AWS WAF の統合、プライベート API エンドポイントなどの機能が必要な場合は、REST API を選択します。REST APIPrivateVPC内のみでアクセス可能なREST APIを生成します。A

Amazon

Lambda FunctionをCLIからデプロイ – TypeScript, Nodejs, Prisma, RDS Proxyの使用

はじめに参考https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/typescript-package.html#aws-cli-tshttps://docs.aws.amazon.com/ja_jp/lambda/latest/dg/lambda-intro-execution-role.htmlハマりポイントLambda関数からRDS Proxyに接続するには、LambdaをVPC内に設置する必要があるLambda関数のサブネット、セキュリティグループをRDS Proxyと合わせる必要があるVPC内のLambda関数からSecrets Managerに接続するにはVPCエンドポイントかインターネットアクセスが必要になるPrismaとProstgreSQLのテーブル名やENUMタイプ名は大文字・小文字や複数形まで名前をあわせる必要があるLambda関数のpermissionを設定する実行ロールには、EC2, CloudWatch, SecretsManage

その他

PostgreSQLの使い方メモ

search_pathsearch_path設定current_db=> SET search_path=users,orders,catalogs;SETsearch_path確認current_db=> show search_path; search_path ------------------------- users, orders, catalogsユーザーユーザー作成current_db=> create user {username};ユーザー更新current_db=> ALTER USER {username} WITH PASSWORD '{password}';ユーザー一覧current_db=> \du

Amazon

Amazon RDS(PostgreSQL)とRDS Proxyの使用

はじめにAPI Gateway + LambdaからRDS Proxy経由でRDSを操作するためのインフラ構築の一部ハマりポイントPostgreSQLクライアントのバージョンが10未満の場合、SCRAM認証に対応していない。バージョンアップしたほうがよいRDS ProxyのTarget Groupが有効にならない場合、RDSのセキュリティグループにRDS Proxyのセキュリティーグループからの5432ポートの入力が許可されていることを確認するRDSの作成Standard createEngine Type: PostgreSQLEngine Version: PostgreSQL 16.3-R2Templates: Dev/TestDeployment Option: Single DB InstanceDB Instance ID: 自由入力Master username: 自由入力Credential management: AWS Secrets Manager

AI

Google Speech-to-Text APIサンプルアプリの作成 – Remix

はじめに参考https://cloud.google.com/nodejs/docs/reference/speech/latesthttps://cloud.google.com/docs/authentication/application-default-credentials?hl=jahttps://cloud.google.com/speech-to-text/docs/troubleshootinghttps://cloud.google.com/speech-to-text/docs/speech-to-text-requests?hl=jahttps://cloud.google.com/speech-to-text/docs/encoding生成物Remixのフロントで、ブラウザのWeb APIのMediaDevicesを使用して音声を録音RemixのバックエンドのAPIにファイルを送信し、Google STT APIでtranscrtiption(書き起こし)を作成Remixの

Remix

Remixの特徴

はじめにhttps://remix.run/docs/en/main/discussion/introduction#http-handler-and-adaptersRemix Q&AQ. Remixアプリは、サーバーとクライアントサイドにデプロイする必要がありますか?A. はい、Remixを使用する場合、アプリケーションを完全に動作させるためには、サーバーサイドとクライアントサイドの両方にデプロイする必要があります。サーバーサイド(SSR):役割: サーバーサイドレンダリング(SSR)を行い、初期ページロード時にHTMLを生成してクライアントに送信します。これにより、SEOが向上し、初期表示が高速化されます。また、サーバーサイドでAPIリクエストやデータベースとのやり取りを行います。構成: build/server/index.jsに生成されたサーバーHTTPハンドラーが使用されます。このハンドラーは、すべてのルートとモジュールを含み、サーバー上でのリクエスト処理を行います。クライアントサイド(CSR)

Lang »