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
GCP Composer
Search
Masaki Iino
July 20, 2018
Technology
0
250
GCP Composer
社内LT資料
Masaki Iino
July 20, 2018
Tweet
Share
More Decks by Masaki Iino
See All by Masaki Iino
AnyPay ChatOps
iinomasaki
0
1.2k
Istio
iinomasaki
0
1.6k
GolangでAPIドキュメント自動生成
iinomasaki
0
720
LT_Cloud_Functions.pdf
iinomasaki
1
570
Other Decks in Technology
See All in Technology
ヘブンバーンズレッドにおける、世界観を活かしたミニゲーム企画の作り方
gree_tech
PRO
0
540
ヘブンバーンズレッドのレンダリングパイプライン刷新
gree_tech
PRO
0
550
AWSで推進するデータマネジメント
kawanago
0
1k
Snowflakeの生成AI機能を活用したデータ分析アプリの作成 〜Cortex AnalystとCortex Searchの活用とStreamlitアプリでの利用〜
nayuts
0
290
クラウドセキュリティを支える技術と運用の最前線 / Cutting-edge Technologies and Operations Supporting Cloud Security
yuj1osm
2
270
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
160
複数サービスを支えるマルチテナント型Batch MLプラットフォーム
lycorptech_jp
PRO
0
180
Grafana Meetup Japan Vol. 6
kaedemalu
1
200
異業種出身エンジニアが気づいた、転向して十数年経っても変わらない自分の武器とは
macnekoayu
0
290
Kiroと学ぶコンテキストエンジニアリング
oikon48
6
8.8k
AWS環境のリソース調査を Claude Code で効率化 / aws investigate with cc devio2025
masahirokawahara
2
1.3k
ここ一年のCCoEとしてのAWSコスト最適化を振り返る / CCoE AWS Cost Optimization devio2025
masahirokawahara
1
1.5k
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Building an army of robots
kneath
306
46k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Designing for Performance
lara
610
69k
Building Adaptive Systems
keathley
43
2.7k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.5k
Embracing the Ebb and Flow
colly
87
4.8k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
13k
Transcript
Cloud Composer 2018/07/06 Iino Masaki
Cloud Composer とは Cloud Composer とは、マネージドなワークフローオーケストレーションサービスで す。Apache Airflow をベースに構築しており、パイプラインの作成、スケジューリン グ、監視を可能にします。Airflow同様にPythonを使用してジョブ(DAG)を記述しま
す。
Airflow AirflowとはAirbnbがオー プンソースとして開発した、 ワークフローを記述、実行、 監視するためのツールで す。 グラフ理論がベースになっ ています。
Getting Started
Getting Started Composer はまだClosed Betaで全体には公開していません。開始するためには GCPConsoleから無料トライアルに応募しましょう。 トライアル申請が通るとGCPConsoleに Composer サービスが追加されます。
Getting Started 公式のQuickstartに沿ってさくっとSampleを作成します。 Sampleでは下記処理を実行するDAGを作成します。 1. Cloud Dataproc Clusterを作成 2. Cluster上でHadoop
を実行し 単語の出現数をGCSに書き出し 3. Cloud Dataproc Clusterを削除
Getting Started まず、公式ドキュメントに記載されているBefore you beginを通してコマンドのインス トールやAPIの有効化を行っておきましょう。 環境変数を束ねたEnviromentを作成します。この処理は実行してから小一時間ほど かかるので、実行してコーヒーでもの飲みながらのんびり待ちましょう。 gcloud beta
composer environments run ENVIRONMENT_NAME --zone us-central1-a --machine-type n1-standard-2
Getting Started Environment を作成すると右上のキャプ チャの用にComposerサービスに Environment として表示されます。 この際いくつかのサービスでバックエンド 用のプロジェクトが作成されます。 •
GCS:DAGs置き場 • GKE:Worker, Redis等 • GAE:管理画面 • SQL:進捗管理 GAE, SQLは使っている形跡はあります が、Consoleから確認できないためプロ ジェクト外に作成されている可能性もあり ます。
Getting Started コマンド経由でquickstart.pyをアップロードします。Environment作成時にできた bucketに直接アップロードしてもOKです。 gcloud beta composer environments storage dags
import --environment ENVIRONMENT_NAME --source quickstart.py
Getting Started 管理画面にUploadしたDAGが表示され ます。 quickstart.pyに記述したstart_dateが yesterdayになっているため、登録と同時 に実行もされます。
Architecture
Architecture たぶんこんな構成になっていると思いま す。 管理画面へのアクセスがAppEngineの URLになっているので、GAE経由で管理 画面へプロキシしているのではないでしょ うか。 GKEにsql proxyなるものがあるのでどこ かのCloudSQLに繋がっているのだろうと
も思えます。
まとめ
まとめ • GCEに自前で建ててた人は乗り換えありかも • Cloud Memorystoreを使っていないのは少し残念 • ちょっと値段が高い