Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
【GAE、CloudSQL】Elixir/Phoenixで開発したDBアプリをGAEにデプロイ
Search
KrainNeun
February 14, 2019
Programming
620
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
【GAE、CloudSQL】Elixir/Phoenixで開発したDBアプリをGAEにデプロイ
KrainNeun
February 14, 2019
Other Decks in Programming
See All in Programming
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
180
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
380
Workers Cache を知る
syumai
0
370
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
390
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
220
Kotlinの15年とServer-Side Kotlin
n_takehata
1
150
golang-bob.pdf
iwatsukayura
0
130
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
310
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
500
Agents on Rails - Rails at Scale 2026
irinanazarova
0
560
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
2
570
AWSに止められる覚悟してますか?
morizo_1984
2
540
Featured
See All Featured
Deep Space Network (abreviated)
tonyrice
0
370
Building Applications with DynamoDB
mza
96
7.2k
Balancing Empowerment & Direction
lara
6
1.3k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
400
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
800
A Modern Web Designer's Workflow
chriscoyier
699
190k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
520
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.2k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
280
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
280
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
460
Transcript
【GAE 、CloudSQL 】 Elixir /Phoenix で開発したDB アプリをGAE にデプロイ Hiroshi Kodama
[email protected]
自己紹介 名前: 児玉 寛 所属: カラビナテクノロジー株式会社 呼称: マイク GCP 歴:
名前だけ知ってた Twitter など: @NeunKrain
ここに来るまでの私 GCP ってなんか難しいと思ってた。 というか、クラウドという段階で躊躇していた。 弊社の開発合宿で、初めて顔見知りになった。 Elixir/Phoenix を最近利用してます。
そうだ! GAE にデプロイしてみよう! と、いうことで実践しました。
はじめに 詳細はQiita 記事あります。今回は抜粋してお話。 ※ Qiita 記事: GAE(+CloudSQL) 環境に Elixir+Phoenix をデプロイして動かしてみるまで。
環境構築等がとっても簡単で、身近になれるんだ! が伝わればと思います。
やっていくこと GCP の新規プロジェクトを作成 CloudSQL のインスタンス作成 GoogleCloudSDK のインストール・初期化 ローカルからCloudSQL に接続 ※CloudSQLProxy
Elixir プロジェクト作成 デプロイ・確認
やっていくこと GCP の新規プロジェクトを作成 CloudSQL のインスタンス作成 GoogleCloudSDK のインストール・初期化 ローカルからCloudSQL に接続 ※CloudSQLProxy
Elixir プロジェクト作成 デプロイ・確認
GCP の新規プロジェクトを作成 ダッシュボードから「新しいプロジェクト」を押 します。 プロジェクト名を決めて、作成ボタンを押します。 これだけです。簡単ですね!!
やっていくこと GCP の新規プロジェクトを作成 CloudSQL のインスタンス作成 GoogleCloudSDK のインストール・初期化 ローカルからCloudSQL に接続 ※CloudSQLProxy
Elixir プロジェクト作成 デプロイ・確認
CloudSQL のインスタンス作成 メニューからSQL を選びます インスタンス作成を押します。
CloudSQL のインスタンス作成 データベースを選びます。 インスタンスID を決めて、作成ボタンを押します。 これだけです。簡単ですね!!
やっていくこと GCP の新規プロジェクトを作成 CloudSQL のインスタンス作成 GoogleCloudSDK のインストール・初期化 ローカルからCloudSQL に接続 ※CloudSQLProxy
Elixir プロジェクト作成 デプロイ・確認
GoogleCloudSDK のインストール・初期化 公式サイト を参考に導入します ローカルからCloudSQL に接続 ※CloudSQLProxy 公式サイト を参考にCloudSQLProxy を導入します
これだけです。権限設定が少し大変です!! # UNIX ソケットの場合のプロキシ開始 sudo mkdir /cloudsql; sudo chmod 777 /cloudsql ./cloud_sql_proxy -dir=/cloudsql -instances=<INSTANCE_CONNECTION # プロキシへの接続 psql "sslmode=disable host=/cloudsql/<INSTANCE_CONNECTION_NAME>
やっていくこと GCP の新規プロジェクトを作成 CloudSQL のインスタンス作成 GoogleCloudSDK のインストール・初期化 ローカルからCloudSQL に接続 ※CloudSQLProxy
Elixir プロジェクト作成 デプロイ・確認
Elixir プロジェクト作成 Elixir プロジェクトを作成します。 mix phx.new gae_cloudsql_ex_phx --no-brunch DB 接続情報を修正します。※password
とsocket_dir config :gae_cloudsql_ex_phx, GaeCloudsqlExPhx.Repo, adapter: Ecto.Adapters.Postgres, username: "postgres", password: ※CloudSQL のユーザパスワード, # ここ database: "gae_cloudsql_ex_phx_dev", socket_dir: "/cloudsql/<INSTANCE_CONNECTION_NAME>", # ここ pool_size: 10
Elixir プロジェクト作成 簡単なAPI を作成し、Migrate 実行します。 mix phx.gen.json Api Test tests
subject:text ~ 略~ mix ecto.migrate Migrate を実行後、CloudSQL を確認します。 DataBase が作成されていますね!
やっていくこと GCP の新規プロジェクトを作成 CloudSQL のインスタンス作成 GoogleCloudSDK のインストール・初期化 ローカルからCloudSQL に接続 ※CloudSQLProxy
Elixir プロジェクト作成 デプロイ・確認
デプロイ・確認 コミュニティチュートリアル を参考にします。 ※ デプロイ準備のファイル修正箇所は割愛します。 デプロイコマンド実行 gcloud app deploy ※
デプロイ対象プロジェクトを選ぶ場合は以下のようです。 gcloud app deploy --project=<PROJECT>
デプロイ・確認 URL に接続します。 適当にポストしてみます。 無事、GAE での確認ができました!!
まとめ
まとめ 環境周りって難しいって思ってたんですが・・・ → GAE+CloudSQL の環境構築が簡単! → CloudSQLProxy での接続が簡単!! → デプロイもコマンド実行で簡単!!!
GCP を利用することで・・・ → 環境周りがとても身近になった気がしました!!
おわり