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

高可用&スケーラブルで プライベートな waifu2xをあなたに

高可用&スケーラブルで プライベートな waifu2xをあなたに

JAWS-UG Meguro #0 LT

takipone

May 22, 2015
Tweet

More Decks by takipone

Other Decks in Technology

Transcript

  1. classmethod.jp 2 ⾃自⼰己紹介 classmethod.jp 2 •  ⽒氏名  :  ⼤大瀧隆太  

                     @takipone •  会社  :  クラスメソッド •  ポジション  :   AWSコンサル部 プリセールス  /  エンジニア
  2. waifu2xの⾃自前構成 classmethod.jp 7 Auto scaling Group us-west-1 Region waifu2x AMI

    ݩΠϝʔδ ֦େΠϝʔδ SQS ユーザー データ (Spot)
  3. classmethod.jp 9 設定したユーザーデータ #!/bin/bash pip  install  awscli cat  <<EOF  >

     /sqs-‐‑‒waifu2x.bash #!/bin/bash INTERVAL=30 REGION=us-‐‑‒west-‐‑‒1 QUEUE_̲URL=https://sqs.us-‐‑‒west-‐‑‒1.amazonaws.com/602604506680/waifu2x_̲input BUCKET_̲NAME=waifu2x-‐‑‒sample export  HOME=/root cd  /home/ubuntu/waifu2x/ if  [  !  -‐‑‒d  out/  ];  then    mkdir  out/ fi while  : do    aws  sqs  receive-‐‑‒message  -‐‑‒-‐‑‒queue-‐‑‒url  \$QUEUE_̲URL  -‐‑‒-‐‑‒region  \$REGION  -‐‑‒-‐‑‒output  text  >  result.txt    if  [  -‐‑‒s  result.txt  ];  then        SOURCE_̲URL=\`̀cut  -‐‑‒f  2  <  result.txt\`̀          RECEIPT_̲HANDLE=\`̀cut  -‐‑‒f  5  <  result.txt\`̀        wget  \$SOURCE_̲URL        IMG_̲FILENAME=\`̀basename  \$SOURCE_̲URL\`̀        th  waifu2x.lua  -‐‑‒i  \$IMG_̲FILENAME  -‐‑‒o  out/\${IMG_̲FILENAME}        aws  s3  cp  -‐‑‒-‐‑‒region  \$REGION  out/\${IMG_̲FILENAME}  s3://\${BUCKET_̲NAME}/\${IMG_̲FILENAME}        aws  sqs  delete-‐‑‒message    -‐‑‒-‐‑‒receipt-‐‑‒handle  \$RECEIPT_̲HANDLE  -‐‑‒-‐‑‒queue-‐‑‒url  \$QUEUE_̲URL  -‐‑‒-‐‑‒region  \$REGION    else        sleep  \$INTERVAL    fi   done EOF nohup  bash  /sqs-‐‑‒waifu2x.bash
  4. classmethod.jp 10 設定したユーザーデータ while  : do    aws  sqs  receive-‐‑‒message

     ...  -‐‑‒-‐‑‒output  text  >  result.txt    if  [  -‐‑‒s  result.txt  ];  then        SOURCE_̲URL=\`̀cut  -‐‑‒f  2  <  result.txt\`̀          RECEIPT_̲HANDLE=\`̀cut  -‐‑‒f  5  <  result.txt\`̀        wget  \$SOURCE_̲URL        IMG_̲FILENAME=\`̀basename  \$SOURCE_̲URL\`̀        th  waifu2x.lua  -‐‑‒i  \$IMG_̲FILENAME  -‐‑‒o  out/\${IMG_̲FILENAME}        aws  s3  cp  -‐‑‒-‐‑‒region  \$REGION  out/\${IMG_̲FILENAME}  s3://\${BUCK...        aws  sqs  delete-‐‑‒message    -‐‑‒-‐‑‒receipt-‐‑‒handle  \$RECEIPT_̲HANDLE  -‐‑‒-‐‑‒queue...        sleep  \$INTERVAL    fi   done SQSへのポーリング 元イメージのダウンロード waifu2xでの拡⼤大とアップロード
  5. まとめ •  waifu2xはオープンソースかつAMIが公開さ れているので、⾃自前のAWSアカウントで再現 できる •  S3,  SQS,  AutoScaling,  Spot

     Instanceの組 み合わせで⾼高機能なwaifu2xクラスタがいき なり構築できる •  なつかしの画像やあ〜~んな画(⾃自粛)も⾮非公開 のままきれいに拡⼤大できるかも classmethod.jp 12