GCPUG Tokyo February 2016に参加してきた
GCPUG Tokyo February 2016
2016/02/12(金) 19:00 〜 22:00
殴り書きなので記載ミスがあったらすいません。。
Compute Engine リソース概要
- Local SSD
- I/O重視したい人向け
- snapshotは取れない
live migration対応した?(レプリカ作ったりするのは自分で?)
custom script
- start / shutdown
shutdownは待ってくれないので注意。ベストエフォート
Network Load Balancer
- TCP/IP Lv LoadBalancing
- Regionに所属する
- Forwarding Rule(region)
- Target Pool(instance / instance group)
- Backup poolできる。ただしホットスタンバイ
セッションアフィニティ対応
HTTP/HTTPS Load Balancer
- Global
- GCPのアンドロメダ上にいる(?)
- Forwarding Rule -> Target Policy -> URL Map(URLごとの向き先制御) -> Backend Service(instance group)
muliti region対応
instance group
- instance template
- auto scaler or manual
zone base
unmanaged instance group
- templateではなく任意のinstanceを任意で追加する
zone base
metadata
- key value
- instance wide
- project wide
- projectはまたげない
HTTPロードバランサの運用例
- マナボでandroid技術者
- AWSからコスト面うんぬんで乗り換えた
Network Loadbalancer
HTTP(S) Load Balancer
- GAになった
- SSL Terminationできる
- リージョンまたげる
- proxinityのLB
アドベントカレンダーでAWSユーザが15分でGCP入門を書いた
作ってみる
- ファイアウォールルール
- tag
- 複数リージョンで作成
- ヘルスチェックも作成
- 外部IPアドレス確保(typeはグローバルにしましょう)
- グローバル転送ルールは80/443で二つ作成
- バックエンドサービス
- 分散モード (CPU使用率/リクエスト数)で閾値を決めることが可能
バックエンドは複数追加しないとFailoverしない
Tips
- ファイアウォールをよりセキュアに
- LBからの通信のみ許可した方がいいよね
- そもそもインスタンスのexternal IPを取りましょう
メンテナンスの時はiptablesで止めるとかも
auto scale
- インスタンステンプレートを作るのが面倒
- スナップショットが楽
- スナップショット作ったらそれを元にしてインスタンステンプレートを作る
GCE構築例
- Glanysの代表の人
- MSP事業、システム設計・構築。運用保守
- Googleのテクニカルパートナー
- インフラエンジニア
GCE初期から触ってます
2年前ソーシャルゲームで画面タッチアクションゲーム
- web socket
- 当時mariaDB。最近はperconaつかってます
- 当時HA proxyでやってた
- consulというクラスタしながら監視してapiでその状態を拾えるやつを使ってた
健全なweb serverを
事例
- ハグカムのGLOBAL CROWN(英会話のWEBレッスン)
- webRTCを利用したリアルタイム動画対話型システム
バックエンドはHA Proxyでハンドリング
ピアラのresult master
- perconaを使う予定
絶賛設計中
capy 法人向け不正ログイン対策
- caputureが最近はOCRで解析される
- パズルを当てるような仕様に
- 12月くらいすごい拡大
- 300万クエリをperconaが受けてる
- rabbitmq
- cloudstorageの使い方が特殊
Elastic Search 8GB〜150GB。様々なレイヤーのエラーログをkibanaで。auto scaleはしていない。
ゲーム系
- photon?ゲームエンジン
- metadata活用している
ゲームサーバ起動時にmetadataからconfigにglobal ipを拾っている
teraform大好き
Base image
- baseはcentos
- 必要ミドルウェアは/usr/local配下にビルド
ソースはtarballとともに保管
consul
- cluster情報
監視
serf
将来的に廃止
terraform
- instance生成
- disk attach
- firewall設定
LB設定
rerun
- bashのcommand line framewark
チームでコマンド体系化が行えて便利
envutils
環境変数コントロール
clutils
consul/serfの自動設定
clctl
influxdb / grafana
時系列データベース
gmonitor
- influxdbに直接データを書き込める
リソース監視、通信、ミドルウェアのステータス取得
strecherのGCS版
- GCSを利用した大規模向けデプロイツール
AWS界隈ならS3で情報ひっかかるかも
slack / pagerduty / twilio / bitbucket ...etc
GAE + GCEの運用事例
- Google Developer Expert Apps Script
- フルスタックエンジニアやってます
- kabukuで働いている
- rinkak(GCE)
- 3Dプリントプロダクトのマーケットプレイス
- rinkak MMS(App engine / GCE)
- 工場側に導入して決済やったり見積もりしたり
rinkak backend(GCE / EC2)
サーバサイド
- python(FLASK)
- クライアント再度
- angularJS
- Cofee Script
Bootstrap
GCE側にデータ持っていない
- datastoreに直接アクセスしない(Appengineを必ず通す)
Front serverにアクセスしたユーザからAjaxで直接アクセス
なぜGAE + GCE??
- 独自ドメインで運用したい場合がある
- GAEだとGAE独自ドメイン + SSL
Google Apps for workの契約が必要
GCEでやるしかない
GCEの構成を深堀り
- L4LB
- websocketを使う可能性があるから
- 開始当時はHTTP LBのSSLがα版だった
- ターゲットプールでブルーグリーン
- マルチAZ
- webサーバはnginx
- appサーバはflask + usgi
- instanceテンプレートは更新負荷
startup-scriptはmetadataサーバに直接書かないことをおすすめ(instance templateに書き込むと・・・)
nginx
- 静的配信、SSL解き、ルーティング
GAEの -dot-バジージョン番号でアクセス
app(docker)
- バージョンごとにDocker Imageがいる
バージョン番号はpackage.json+ブランチ名
Docker Image
- BitbucketにコードをプッシュするとJenkinsが自動Build
GCRにバージョン番号付きでpush
wacher
- metadataサーバにwait-for-changeリクエストを使って監視
metadataサーバに入っているバージョン番号を見てDocker imageをrun
Google Cloud Storage
- GAEで権限チェックとSigned URL化
Cloud logging
- 基本はjson形式で
PubSubにも入れている
今後とまとめ
- 多くのweb Frontはパターン化されている
- GASよく落ちる
- AWSのクラウドデザパタは読むべし
GCEをTerraformする
- Terraformってなに?
- vagrantの会社が2014/7から
Cloud Formationみたいなもの
リソースの数だけIaaSを操作できる。
- googleも35個ある
- ドライランある
- 冪等性とドライラン弱い
Google Compute Engine入門 (アスキー書籍)
- 作者: 吉積情報株式会社吉積礼敏
- 出版社/メーカー: KADOKAWA / アスキー・メディアワークス
- 発売日: 2014/07/31
- メディア: Kindle版
- この商品を含むブログ (2件) を見る
Amazon Web Services クラウドデザインパターン実装ガイド 改訂版
- 作者: 大澤文孝,アマゾンデータサービスジャパン玉川憲,アマゾンデータサービスジャパン片山暁雄,アイレット鈴木宏康,日経SYSTEMS
- 出版社/メーカー: 日経BP社
- 発売日: 2015/03/05
- メディア: 単行本
- この商品を含むブログ (2件) を見る
シェアして頂けると嬉しいです。
参考になったという方がいれば是非お願いしますm(_ _ )m
モチベーション維持の観点で非常に励みになります。
- 作者: 平初,森若和雄,鶴野龍一郎,まえだこうへい
- 出版社/メーカー: 翔泳社
- 発売日: 2010/07/08
- メディア: 大型本
- 購入: 5人 クリック: 227回
- この商品を含むブログ (15件) を見る
KVM -- Virtualisierung unter Linux. (German Edition)
- 作者: Michael Kofler
- 出版社/メーカー: ebooks.kofler
- 発売日: 2011/02/15
- メディア: Kindle版
- この商品を含むブログを見る