Cloud Run - step ahead of the tutorial -

Cloud Run - step ahead of the tutorial -

【大阪】GCPUG Kansai 〜 Cloud Next Extended ~

52f95e52a6d71b67361ac179fb8405f4?s=128

chimame

May 14, 2019
Tweet

Transcript

  1. Cloud Run - Quickstartの1歩先 - 2019/05/14 GCPUG Kansai rito

  2. 目次 ➔ 自己紹介 ➔ Cloud Run の Quickstart ➔ Cloud

    SQLへの接続 ➔ Cloud Buildsの設定
  3. 名前: rito 職業: Webエンジニア (アプリケーションエンジニア) 分野: Ruby on Rails, Nodejs,

    React, Docker, AWS, GCP 所属: Ateam Finergy Inc. CTO コミュニティ: Rails follow-up Osaka Osaka Web Developers Meetup twitter: @chimame_rt
  4. Cloud RunのQuickstart

  5. None
  6. 超手抜き 要は以下の2コマンドで終わる $ gcloud builds submit --tag gcr.io/[PROJECT-ID]/helloworld $ gcloud

    beta run deploy --image gcr.io/[PROJECT-ID]/helloworld
  7. 終わり

  8. 実際のアプリケーションは そうはいかない

  9. 特にデータ保存に使うアイツ

  10. None
  11. Cloud Run(beta)リリース当初

  12. None
  13. 近いうちに対応するから ちょっと待て(超意訳)

  14. None
  15. None
  16. None
  17. Cloud SQLへの接続

  18. 実行するDockerイメージに オプションを付与

  19. $ gcloud beta run deploy \ --image [IMAGE] \ --add-cloudsql-instances

    <Project ID>:<region>:<Cloud SQL Instance name>
  20. add-cloudsql-instancesオプションにより 実行するDockerコンテナにCloud SQL Proxyが自動的に設定される

  21. アプリケーションからの接続

  22. Cloud SQL Proxyの設定をすることで 以下のパスにunix socketファイルが 生成されるので接続する /cloudsql/<Project ID>:<region>:<Cloud SQL Instance

    name>
  23. これだけで接続可能

  24. Cloud Buildの設定

  25. Quickstartには もう1つコマンドがある

  26. $ gcloud builds submit --tag gcr.io/[PROJECT-ID]/helloworld $ gcloud beta run

    deploy --image gcr.io/[PROJECT-ID]/helloworld
  27. 確かに動くけど 後で困ることがある

  28. Dockerイメージビルド⏳

  29. このままだと 何もキャッシュが効かない

  30. None
  31. Kanikoとは ❏ Googleが開発したDockerイメージをビルドするた めのツール ❏ Dockerデーモンに依存せずイメージをビルドでき るという特徴を持つ

  32. None
  33. Kanikoを使って キャッシュを効かせる呪文

  34. $ gcloud config set builds/use_kaniko True

  35. ビルド設定のyamlファイル

  36. steps: - name: 'gcr.io/kaniko-project/executor:latest' args: - --build-arg=HOGE=fuga - --destination=gcr.io/<Project ID>/<Image

    name>:latest - --cache=true logsBucket: 'gs://hoge-logs/cloud-build'
  37. このyamlファイルを指定して gcloud buildsを実行

  38. $ gcloud builds submit --tag gcr.io/[PROJECT-ID]/helloworld $ gcloud builds submit

    --config ./cloudbuild.yaml
  39. これだけでビルド時間が 2分30秒→30秒になった (フルでキャッシュが効いた場合)

  40. ただ、まだ完璧ではない

  41. None
  42. None
  43. Cloud SQLよりVPC対応は 時間かかるから 首を長くして待ってて (超意訳)

  44. 最後に

  45. None
  46. None
  47. ご清聴ありがとうご ざいました。 ちまめ@rito