LoginSignup
4
2

More than 5 years have passed since last update.

GCPのGAEとCloudSQLでwebサービスを作ってみた

Posted at

GAE, Google Cloud SQL, Google Cloud Storageでwebサービスを作ってみた。

作ったサイト

匿名で不満や愚痴、普段言えない本音を匿名で投稿しちゃおう!boooing

【概要】

  • twitterログインが必要です。(殺害予告とか違法な内容をつぶやかれるのを抑止するため)
  • 匿名で不満や愚痴をつぶやけます(ログインするけど、名前は一切表示されません)
  • twitterにも@boooing1のアカウントで代理投稿します。(ここも完全に匿名です。)
  • twitterやサービス内に頂いたコメントは、サービス↔twitter完全連携します。
  • 不満書きたいのにtwitterの文字数制限で伝えきれないのが嫌だったので、サービス内では1000文字まで入力できます。
  • twitterは、某質問系BOXの用に画像を添付します。
  • サービス内では、3枚まで画像をはれます。(それもtwitterに連携します)

【インフラ】

  • Google App Engine
  • Google Cloud Storage
  • Google Cloud SQL

【フロント】

djangoのテンプレートを使ってます。
SPAとか、特別なことは特にないので割愛します。

【サーバサイド】

  • python3
  • django1.11

【苦戦したところ】その1 画像のキャプチャ

まず、webdriverを使って、画像をキャプチャしました。
こんなかんじの記事を参考にしてやってみたんですが

こんな感じで、スクロールバーが表示されてしまいました。

サイズ調整を試みるも、長文がくるとこんなふうに画像が切れちゃいました。

某質問系BOXは、文字数が長くても切れません。

色々と調査したところ、HTML自体をcropできる記事を見つけたのでそちらを参考に修正。

ようやくキレイに画像かすることができました。(しかも文字が見やすくなった)

【苦戦したところ】その2 画像のキャプチャどこでやるの問題

GAEは、デプロイや、運用などがお手軽にできるので、作ってすぐに動かすことができます。
便利!

でも、chromedriverのインストールなど、通常のGCEやEC2のようにサーバに入っての環境構築ができないため、この部分だけGCE契約するのか・・・?っと悩んみました。

【解決策】
Dockerfileを使ってchromedriverを構築する。

GAEは、カスタムしたDockerfileを配置することが可能なので、Dockerfileで、chromedriver関連をインストールするようにしました。
元になるGAE用のイメージはこちら

Dockerfile
...
FROM gcr.io/google-appengine/python

RUN apt install unzip
RUN wget https://chromedriver.storage.googleapis.com/2.31/chromedriver_linux64.zip
RUN unzip chromedriver_linux64.zip -d ~/bin/

...

【苦戦してるところ】全然人が来ない。

まず、GAのキャプチャを見てください。
スクリーンショット 2018-04-11 13.59.35.png

3/27にリリースして、全然増えません。
しかも、4/4の夜から4/5にかけて、twitterに制裁を受けてました。
(検索やハッシュタグで、引っかからない状態)

【事件】twitterアカウント凍結

4/6に@boooing1アカウントが凍結。。。。

かと思いきや、1時間ほどで何故か解除・・・・

人為的ミスか???

凍結されてしまったので、クローズする気になってたのですが、なんとか生きながらえたので、記事に書いてみましたw

【現在】

まだまだ、改善点は多いと思うのですが、ほそぼそと運用中。
ここでの学びを次に活かすぞー!!

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2