Slide 1

Slide 1 text

GKEとGoで エフェメラルなサービス Sendai.go × GDG Cloud Sendai × sendai.kt 合同忘年会!! 株式会社ビデオマーケット 瀬上祐匡 2019/12/20

Slide 2

Slide 2 text

瀬上 祐匡(せのうえ ひろまさ) 株式会社ビデオマーケット サーバサイドエンジニア ● 等 データ分析 ● ● ハリネズミ飼ってます ● モノノフです。 ● 好きなものは、 自己紹介 株式会社ビデオマーケット (都度課金)を軸とした動画配信サービス 映画、アニメ、ドラマなど多彩なジャンルで配信本数は 国内最大の 23 万本+ 自社が開発した独自エンコード方式で高品質な動画を提供

Slide 3

Slide 3 text

● エフェメラルサービス ● 本題 1. 構築編 2. 解決編 ● まとめ Agenda

Slide 4

Slide 4 text

エフェメラルサービス

Slide 5

Slide 5 text

エフェメラル 短命な、儚いという意味です。。

Slide 6

Slide 6 text

なぜひつようになっ たのか

Slide 7

Slide 7 text

課題 外部連携のため を使う必要があった へは固定 での接続が必要だった 準備 で は、固定にできないので、 上にマイクロサービスを構築することに。

Slide 8

Slide 8 text

構築編

Slide 9

Slide 9 text

既存 環境 で環境構築 は にて管理 の を固定化する 言語は で作る + で構築しました

Slide 10

Slide 10 text

最初考えたアーキ図 ここのIPを固 定する

Slide 11

Slide 11 text

SOAPってどうやんだ? 標準パッケージだけで十分でした。 ※これは自社のクリエイターブログに書きます サンプル https://github.com/Senoue/soap-de-go/tree/master 参考:https://levelup.gitconnected.com/golang-soap-based-services-ccc4b3e3ee2e GoでSOAPの実装

Slide 12

Slide 12 text

結果 問題なし 環境へ接続可能 も正しく動く 制限も問題ない だったのですが 数日後、エラーでてます、繋がらない。。。 固定していた が、エフェメラルになっている

Slide 13

Slide 13 text

GKEの注意点 GKEでPodから外部にアクセスする場合、ノードのIPになりま す。 IPはエフェメラルでオートスケーリングしたときに動的に増減す るので、固定化できない。 とういうことで、Cloud NATを利用します

Slide 14

Slide 14 text

解決編

Slide 15

Slide 15 text

読んで字の如し、 の機能です フルマネージドで を固定化できる サービス 接続先はリージョンごとで自由に変更可能 複数設定できるので、可用性も担保できる Cloud NAT

Slide 16

Slide 16 text

注意点 の に固定 を持たせてはいけない 限定公開クラスタの必要がある 内部 限定のクラスタになります があれば、外部からのアクセスも可能です 若干設定に癖あります。 を利用することで の固定化することができます。

Slide 17

Slide 17 text

改善したアーキ ここのIPを固 定した

Slide 18

Slide 18 text

まとめ

Slide 19

Slide 19 text

無事公開することができました。 小さなサービスでしたが、盛りだくさんの機能 を詰め込んだものになりました。 年 月 日までの予定で稼働していま す。  ※延長が決まったので、 にしたい。

Slide 20

Slide 20 text

Thank You