Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ツクリンクで実践している画像処理(フロー部分)

Tetsu Nishimura
September 09, 2024
90

 ツクリンクで実践している画像処理(フロー部分)

Tetsu Nishimura

September 09, 2024
Tweet

Transcript

  1. AWS Cloud
 CloudFront
 S3
 Application
 ImageMagick
 Ruby on Rails
 ECS


    ALB
 フォームで画像を選択した時点で 
 S3へアップロードするための1時的な事前署名付きURLをリクエスト 
 DB
 User(Frontend) 
 画像アップロードの処理の流れ
  2. AWS Cloud
 CloudFront
 S3
 Application
 ImageMagick
 Ruby on Rails
 ECS


    ALB
 事前署名付きURL(tmpディレクトリ)に 
 画像をアップロードしてURLを取得 
 DB
 User(Frontend) 
 画像アップロードの処理の流れ
  3. AWS Cloud
 CloudFront
 S3
 Application
 ImageMagick
 Ruby on Rails
 ECS


    ALB
 FormをSubmitしてImageレコードがcreateされる 
 DB
 Imageレコードがcreate 
 tmpのurlを記録 
 User(Frontend) 
 画像アップロードの処理の流れ
  4. AWS Cloud
 CloudFront
 S3
 Application
 ImageMagick
 Ruby on Rails
 ECS


    ALB
 画像の軽量化処理を 
 非同期のActiveJobで実施 
 DB
 User(Frontend) 
 画像アップロードの処理の流れ
  5. AWS Cloud
 CloudFront
 S3
 Application
 ImageMagick
 Ruby on Rails
 ECS


    ALB
 DB
 User(Frontend) 
 画像には1時的にtmp画像にCloudFrontでアクセスできるようになる 
 画像アップロードの処理の流れ
  6. AWS Cloud
 CloudFront
 S3
 Application
 ImageMagick
 Ruby on Rails
 ECS


    ALB
 Imageレコードを 
 軽量化した画像のURLに更新 
 DB
 User(Frontend) 
 画像アップロードの処理の流れ
  7. AWS Cloud
 CloudFront
 S3
 Application
 ImageMagick
 Ruby on Rails
 ECS


    ALB
 DB
 User(Frontend) 
 軽量化した画像にCloudFrontでアクセスできるようになる 
 画像アップロードの処理の流れ