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
2
970
Cloud Run - step ahead of the tutorial -
【大阪】GCPUG Kansai 〜 Cloud Next Extended ~
chimame
May 14, 2019
Tweet
Share
More Decks by chimame
See All by chimame
知って得する@cloudflare_vite-pluginのあれこれ
chimame
1
150
Boost Your Web Performance with Hyperdrive
chimame
1
310
RemixでVersion skewに立ち向かう
chimame
2
1.2k
私がエッジを使う理由
chimame
10
4.1k
GraphQL Server on Edge after that
chimame
1
1.5k
Accelerating App Dev with Cloudflare Workers
chimame
1
450
GraphQL Server on Edge
chimame
12
6k
エッジで輝くフロントエンド
chimame
11
6.7k
Cloudflare Workersと状態管理
chimame
4
1.8k
Other Decks in Technology
See All in Technology
ABEMAにおける 生成AI活用の現在地 / The Current Status of Generative AI at ABEMA
dekatotoro
0
650
あなたの知らない OneDrive
murachiakira
0
230
見てわかるテスト駆動開発
recruitengineers
PRO
4
280
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual Localization
takmin
0
430
自社製CMSからmicroCMSへのリプレースがプロダクトグロースを加速させた話
nextbeatdev
0
130
Yahoo!広告ビジネス基盤におけるバックエンド開発
lycorptech_jp
PRO
1
270
第4回 関東Kaggler会 [Training LLMs with Limited VRAM]
tascj
12
1.7k
.NET開発者のためのAzureの概要
tomokusaba
0
230
AIとTDDによるNext.js「隙間ツール」開発の実践
makotot
5
660
現場が抱える様々な問題は “組織設計上” の問題によって生じていることがある / Team-oriented Organization Design 20250827
mtx2s
3
800
攻撃と防御で実践するプロダクトセキュリティ演習~導入パート~
recruitengineers
PRO
1
150
kintone開発チームの紹介
cybozuinsideout
PRO
0
73k
Featured
See All Featured
It's Worth the Effort
3n
187
28k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
820
YesSQL, Process and Tooling at Scale
rocio
173
14k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
GraphQLとの向き合い方2022年版
quramy
49
14k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
110
20k
A Modern Web Designer's Workflow
chriscoyier
695
190k
Gamification - CAS2011
davidbonilla
81
5.4k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.4k
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