Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cloud Run - step ahead of the tutorial -
Search
chimame
May 14, 2019
Technology
1k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cloud Run - step ahead of the tutorial -
【大阪】GCPUG Kansai 〜 Cloud Next Extended ~
chimame
May 14, 2019
More Decks by chimame
See All by chimame
知って得する@cloudflare_vite-pluginのあれこれ
chimame
2
600
Boost Your Web Performance with Hyperdrive
chimame
1
530
RemixでVersion skewに立ち向かう
chimame
2
1.3k
私がエッジを使う理由
chimame
10
4.2k
GraphQL Server on Edge after that
chimame
1
1.8k
Accelerating App Dev with Cloudflare Workers
chimame
1
500
GraphQL Server on Edge
chimame
12
6.5k
エッジで輝くフロントエンド
chimame
11
6.9k
Cloudflare Workersと状態管理
chimame
4
2.1k
Other Decks in Technology
See All in Technology
LLMやAIエージェントをソフトウェアに組み込むプラクティス
shibuiwilliam
2
430
End-to-Endで考える信頼性 —LINEアプリにおけるクライアント開発×SRE連携の実践
maruloop
4
4.7k
世界、断片、モデル。そして理解
ardbeg1958
1
130
しぶいSRE: サーバから見えない障害にどう向き合うか。ラストワンマイルのデバッグ実践 / Shibui SRE
kanny
13
6.6k
SRE依存からの脱却 運用を開 発チームへ移す、 フルサイ クル開 発体制の実践
joooee0000
0
3.2k
副作用のある Lambda でも Lambda Power Tuning は使えるのか / lambda-power-tuning-side-effects
koukihosaka
1
110
LLM/Agent評価:トップ営業の発言を「正解」にする 〜暗黙的正解による評価を営業資産に変える〜
takkuhiro
1
230
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
2年前に削除したPHPクラスが、 ある日突然決済をエラーにした
ykagano
1
430
GoでCコンパイラを作った話
repunit
0
120
誤解だらけの開発生産性 / Myths and Misconceptions about Developer Productivity
i35_267
2
820
関数型の考えを TypeScript に持ち込んで、テストしやすい純粋関数を増やす / Pure at the Core, Effects at the Edge: Bringing Functional Thinking into TypeScript
kaminashi
2
130
Featured
See All Featured
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
260
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
550
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
250
KATA
mclloyd
PRO
35
15k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
150
Building Applications with DynamoDB
mza
96
7.1k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
460
Side Projects
sachag
455
43k
Transcript
Cloud Run - Quickstartの1歩先 - 2019/05/14 GCPUG Kansai rito
目次 ➔ 自己紹介 ➔ Cloud Run の Quickstart ➔ Cloud
SQLへの接続 ➔ Cloud Buildsの設定
名前: 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
Cloud RunのQuickstart
None
超手抜き 要は以下の2コマンドで終わる $ gcloud builds submit --tag gcr.io/[PROJECT-ID]/helloworld $ gcloud
beta run deploy --image gcr.io/[PROJECT-ID]/helloworld
終わり
実際のアプリケーションは そうはいかない
特にデータ保存に使うアイツ
None
Cloud Run(beta)リリース当初
None
近いうちに対応するから ちょっと待て(超意訳)
None
None
None
Cloud SQLへの接続
実行するDockerイメージに オプションを付与
$ gcloud beta run deploy \ --image [IMAGE] \ --add-cloudsql-instances
<Project ID>:<region>:<Cloud SQL Instance name>
add-cloudsql-instancesオプションにより 実行するDockerコンテナにCloud SQL Proxyが自動的に設定される
アプリケーションからの接続
Cloud SQL Proxyの設定をすることで 以下のパスにunix socketファイルが 生成されるので接続する /cloudsql/<Project ID>:<region>:<Cloud SQL Instance
name>
これだけで接続可能
Cloud Buildの設定
Quickstartには もう1つコマンドがある
$ gcloud builds submit --tag gcr.io/[PROJECT-ID]/helloworld $ gcloud beta run
deploy --image gcr.io/[PROJECT-ID]/helloworld
確かに動くけど 後で困ることがある
Dockerイメージビルド⏳
このままだと 何もキャッシュが効かない
None
Kanikoとは ❏ Googleが開発したDockerイメージをビルドするた めのツール ❏ Dockerデーモンに依存せずイメージをビルドでき るという特徴を持つ
None
Kanikoを使って キャッシュを効かせる呪文
$ gcloud config set builds/use_kaniko True
ビルド設定のyamlファイル
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'
このyamlファイルを指定して gcloud buildsを実行
$ gcloud builds submit --tag gcr.io/[PROJECT-ID]/helloworld $ gcloud builds submit
--config ./cloudbuild.yaml
これだけでビルド時間が 2分30秒→30秒になった (フルでキャッシュが効いた場合)
ただ、まだ完璧ではない
None
None
Cloud SQLよりVPC対応は 時間かかるから 首を長くして待ってて (超意訳)
最後に
None
None
ご清聴ありがとうご ざいました。 ちまめ@rito