ホームページ テクノロジー周辺機器 IT業界 AWS ECSとLambdaを備えたサーバーレス画像処理パイプライン

AWS ECSとLambdaを備えたサーバーレス画像処理パイプライン

Apr 18, 2025 am 08:28 AM

このチュートリアルは、AWSサービスを使用してサーバーレスイメージ処理パイプラインを構築することをガイドします。 APIゲートウェイ、Lambda関数、S3バケット、およびDynamoDBと対話するECS Fargateクラスターに展開されたnext.jsフロントエンドを作成します。

AWS ECSとLambdaを使用したサーバーレス画像処理パイプライン

このプロジェクトは、サーバーレスアーキテクチャとAWSサービス統合の理解を高めます。覚えておいてください:これはデモです。生産には、セキュリティと構成の強化が必要です。

前提条件:

  • IAMユーザーが必要な権限を所有するAWSアカウント。
  • AWSサービスに精通している(S3、API Gateway、Lambda、Dynamodb、ECS、ECR)。
  • node.jsインストール。 GitHubリポジトリにはコードの例が提供されます。

AWSサービスセットアップ:

  1. S3バケツの作成: 2つのS3バケツが必要です。 sample-image-uploads-bucket (一般的な目的)とsample-thumbnails-bucket (最初はパブリック読み取りアクセスが無効になっています)。

AWS ECSとLambdaを使用したサーバーレス画像処理パイプラインAWS ECSとLambdaを使用したサーバーレス画像処理パイプラインAWS ECSとLambdaを使用したサーバーレス画像処理パイプライン

  1. sample-thumbnails-bucket許可を構成します。次のポリシーを使用して、このバケツへのパブリックリードアクセスを付与します。

AWS ECSとLambdaを使用したサーバーレス画像処理パイプライン

 {
  「バージョン」:「2012-10-17」、
  "声明": [
    {
      「sid」:「publicread」、
      「効果」:「許可」、
      "主要": "*"、
      「アクション」:「S3:GetObject」、
      「リソース」:「ARN:AWS:S3 ::: SAMPLE-THUMBNAILS-BUCKET/*」
    }
  ]
}
ログイン後にコピー
  1. DynamoDBテーブルの作成:文字列プライマリキーimage_idを使用してimage_metadataという名前のDynamoDBテーブルを作成します。

AWS ECSとLambdaを使用したサーバーレス画像処理パイプライン

  1. IAMの役割の作成: Lambda関数のIAMロール( Lambda-Image-Processor-Role )を作成し、 AmazonS3FullAccessAmazonDynamoDBFullAccess 、およびCloudWatchLogsFullAccess許可を付与します。

AWS ECSとLambdaを使用したサーバーレス画像処理パイプラインAWS ECSとLambdaを使用したサーバーレス画像処理パイプライン

Lambda機能:

  1. image-processor関数:この関数は、アップロードされた画像を処理し、サムネイルを作成し、MetadataをDynamoDBに保存します。枕ライブラリを使用して、ラムダ層(ARN:AWS:LAMBDA:US-EAST-1:770693421928:層:Klayers-P39-Pillow:1-地域を調整することを忘れないでください)を必要とします。この関数は、S3 Putイベントによってトリガーされます。

AWS ECSとLambdaを使用したサーバーレス画像処理パイプラインAWS ECSとLambdaを使用したサーバーレス画像処理パイプラインAWS ECSとLambdaを使用したサーバーレス画像処理パイプラインAWS ECSとLambdaを使用したサーバーレス画像処理パイプライン

  1. get-image-metadata関数:この関数は、フロントエンドのDynamodBから画像メタデータを取得します。

AWS ECSとLambdaを使用したサーバーレス画像処理パイプライン

APIゲートウェイ:

get-image-metadata lambda関数と統合されたHTTP APIゲートウェイ( image-gallery-api )を作成します。 Get /images EndpointはFrontendによって使用されます。

AWS ECSとLambdaを使用したサーバーレス画像処理パイプライン

テスト: sample-image-uploads-bucketに画像をアップロードします。 Lambda関数はそれを処理する必要があり、APIゲートウェイはメタデータを返します。

AWS ECSとLambdaを使用したサーバーレス画像処理パイプラインAWS ECSとLambdaを使用したサーバーレス画像処理パイプラインAWS ECSとLambdaを使用したサーバーレス画像処理パイプラインAWS ECSとLambdaを使用したサーバーレス画像処理パイプライン

FrontEnd(next.js):

next.jsアプリを作成し、APIゲートウェイから画像データを取得し、サムネイルを表示します。正しい画像ドメインでnext.config.mjsを更新することを忘れないでください。

AWS ECSとLambdaを使用したサーバーレス画像処理パイプラインAWS ECSとLambdaを使用したサーバーレス画像処理パイプラインAWS ECSとLambdaを使用したサーバーレス画像処理パイプラインAWS ECSとLambdaを使用したサーバーレス画像処理パイプライン

DockerとECSの展開:

  1. dockerfileを作成: next.jsアプリをコンテナ化します。

AWS ECSとLambdaを使用したサーバーレス画像処理パイプライン

  1. ECRへのプッシュ: Docker画像をAmazon ECRに押します。

AWS ECSとLambdaを使用したサーバーレス画像処理パイプラインAWS ECSとLambdaを使用したサーバーレス画像処理パイプライン

  1. ECSクラスターとタスクの定義を作成します。ECRイメージを使用してECS Fargateクラスターとタスク定義を作成します。タスクの役割に必要なECR許可があることを確認してください。 ECSタスク実行のIAMロールを作成します。

AWS ECSとLambdaを使用したサーバーレス画像処理パイプラインAWS ECSとLambdaを使用したサーバーレス画像処理パイプライン

  1. ECSサービスの作成:コンテナを実行するECSサービスを作成します。

  2. アプリケーションへのアクセス: ECSタスクのパブリックIPを介して展開されているnext.jsアプリケーションにアクセスします。

AWS ECSとLambdaを使用したサーバーレス画像処理パイプライン

結論:この包括的なチュートリアルでは、AWSに完全に機能するサーバーレス画像処理パイプラインの構築を実証しました。生産展開に堅牢なセキュリティとエラー処理を実装することを忘れないでください。 CloudFrontを使用してS3アクセス制御を改善し、ScalabilityのDynamoDBクエリを最適化することを検討してください。

以上がAWS ECSとLambdaを備えたサーバーレス画像処理パイプラインの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

GOでネットワークの脆弱性スキャナーを構築します GOでネットワークの脆弱性スキャナーを構築します Apr 01, 2025 am 08:27 AM

このGOベースのネットワーク脆弱性スキャナーは、潜在的なセキュリティの弱点を効率的に識別します。 Goの同時機能機能を速度で活用し、サービスの検出と脆弱性のマッチングが含まれます。その能力と倫理を探りましょう

CNCF ARM64パイロット:インパクトと洞察 CNCF ARM64パイロット:インパクトと洞察 Apr 15, 2025 am 08:27 AM

このパイロットプログラム、CNCF(クラウドネイティブコンピューティングファンデーション)、アンペアコンピューティング、Equinix Metal、およびActuatedのコラボレーションであるCNCF GithubプロジェクトのARM64 CI/CDが合理化されます。 このイニシアチブは、セキュリティの懸念とパフォーマンスリムに対処します

AWS ECSとLambdaを備えたサーバーレス画像処理パイプライン AWS ECSとLambdaを備えたサーバーレス画像処理パイプライン Apr 18, 2025 am 08:28 AM

このチュートリアルは、AWSサービスを使用してサーバーレスイメージ処理パイプラインを構築することをガイドします。 APIゲートウェイ、Lambda関数、S3バケット、およびDynamoDBと対話するECS Fargateクラスターに展開されたnext.jsフロントエンドを作成します。 th

2025年に購読する上位21の開発者ニュースレター 2025年に購読する上位21の開発者ニュースレター Apr 24, 2025 am 08:28 AM

これらのトップ開発者ニュースレターを使用して、最新のハイテクトレンドについてお知らせください! このキュレーションされたリストは、AI愛好家からベテランのバックエンドやフロントエンド開発者まで、すべての人に何かを提供します。 お気に入りを選択し、Relを検索する時間を節約してください

See all articles