AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※...

88
freee 株式会社 1 AWSのマネージドサービスを活かした Kubernetes 運用と Amazon EKS によるクラスタのシングルテナント戦略について AWS Summit Tokyo 2019

Transcript of AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※...

Page 1: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

freee 株式会社 �1

AWSのマネージドサービスを活かした Kubernetes 運用と Amazon EKS によるクラスタのシングルテナント戦略について

AWS Summit Tokyo 2019

Page 2: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�2

• 2015年12月 ~ freeeに入社 • 2018年11月 ~ SRE

• 3年ぐらいフロントエンドとサーバサイドの開発 • SREに移ってからEKS移行やマルチクラスタデプロイツールの開発など • 趣味 • 自動化 • キーボード制作/設計

Kosuke Adachi@foostan

freee株式会社 SRE

Page 3: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

質問

�3

Page 4: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

K8s本番で使っているよ

�4

Page 5: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

EKS本番で使っているよ

�5

Page 6: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�6

インフラリソースのコード化とKubernetesのシングルテナント化でサービスの運用コストを分散させる

本日お話すること

Page 7: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

本日お話すること

�7

サービス規模が拡大、サービス数が増加、開発者が増加

• 強い権限を持っているので何でも屋になりがち • SREに問い合わせが集中 • 目先のタスクに追われる日々 • SREの人数はなかなか増えない

SREがボトルネックに

開発者チームにサービスの運用をおまかせする

サービスの運用コストを分散させる?

Page 8: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�8

• インフラ構築 • Kubernetesクラスタ構築 • アプリケーションデプロイ • サービス監視 • アラート対応 など、基本的にサービス運用に必要なことすべて

開発チームだけでサービス運用の殆どをまかなえるような基盤づくりをSREが行う

本日お話すること

おまかせする内容

Page 9: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�9

Overview

 03 シングルテナントで権限を分離してクラスタの運用をおまかせする

 02 インフラリソースのコード化

 01 freee について

 04 EKSをマネージドサービスと組み合わせてクラスタの運用コストを抑える

 05 マルチテナントからシングルテナントなEKSに移行した実例

Page 10: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�10

01 freee について

Section

Page 11: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�11

スモールビジネスを、 世界の主役に。

MISSION

生産年齢人口が劇的に減少し、慢性的な人手不足となる日本

で労働生産性向上は緊急の課題となっています

freeeは「人工知能」と「統合基幹業務システム」をクラウド

技術を活用し、業務効率化のサポートを続けることで、中堅中

小企業のバックオフィス業務効率化を目指しています

freeeについて

Page 12: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�12

PRODUCTS

その他インターナルなマイクロサービス多数

freeeについて

Page 13: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�13

• 100人以上、1チーム: 2 ~ 10人程度 • 1チームで複数のサービスを兼任することが多い • サービスの規模によっては複数のチームで開発することもある

Dev A Dev B Dev C

サービスAサービスB

Dev D Dev E

サービスCサービスD

Dev F

サービスE

Dev G Dev H

サービスG

サービスH

サービスF

SRE

freee の 開発チーム

freeeについて

Page 14: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�14

Dev A Dev B Dev C

サービスAサービスB

Dev D Dev E

サービスCサービスD

Dev F

サービスE

Dev G Dev H

サービスG

サービスH

サービスF

SRE

• 8人 • すべてのプロダクト/サービスのインフラを支える横断的なチーム • サービスの価値をユーザーに届けるために、安定したインフラを提供し続けるのがミッション

freee の SREチーム

freeeについて

Page 15: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�15

IPO準備・成長企業への導入が加速

41%

資金調達Top100社の freee 導入率

※ 出典:entrepedia ベンチャーリスト

※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

freeeについて

Page 16: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�16

SOC保証: 上場企業が自社の財務報告がきちんとしていることを保証するものfreee(会計ソフト) を利用する場合、freeeも監査の対象になる

SOC1を取得していればfreeeがSOC保証が満たされていると認められる

相応のセキュリティ対策が必要

freeeについて

受託業務に係る内部統制の保証報告書(SOC1 Type2報告書)を受領

例えばDBに直接アクセスする場合認証、認可、履歴管理が必要

EC2インスタンス等からのアクセスも SecurityGroup などで明確に権限管

理できていることが望ましい

Page 17: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�17

02 インフラリソースのコード化

Section

Page 18: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

SREと開発チームの役割

�18

とある新規プロダクトをリリースするとして

Product A

SRE

インフラリソースのコード化

• ネットワーク整備

Page 19: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

SREと開発チームの役割

�19

とある新規プロダクトをリリースするとして

Product A

SRE

インフラリソースのコード化

• ネットワーク整備 • LB追加

SG ALB

Page 20: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

SREと開発チームの役割

�20

とある新規プロダクトをリリースするとして

Product A

SRE

インフラリソースのコード化

• ネットワーク整備 • LB追加 • AutoScalingGroup追加

SG ALB

SG

Kubernetes AutoScalingGroup

Page 21: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

デプロイジョブ

SREと開発チームの役割

�21

とある新規プロダクトをリリースするとして

Product A

SRE

インフラリソースのコード化

• ネットワーク整備 • LB追加 • AutoScalingGroup追加 • デプロイ環境整備

SG ALB

SG

Kubernetes AutoScalingGroup

Page 22: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

デプロイジョブ

SREと開発チームの役割

�22

とある新規プロダクトをリリースするとして

Product A

SRE

インフラリソースのコード化

• ネットワーク整備 • LB追加 • AutoScalingGroup追加 • デプロイ環境整備 • DB追加

SG ALB

SG

Kubernetes

SG RDS

AutoScalingGroup

Page 23: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

デプロイジョブ

SREと開発チームの役割

�23

とある新規プロダクトをリリースするとして

Product A

SRE

インフラリソースのコード化

• ネットワーク整備 • LB追加 • AutoScalingGroup追加 • デプロイ環境整備 • DB追加 • Route53登録

SG ALB

SG

Kubernetes

SG RDS

AutoScalingGroup

Page 24: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

デプロイジョブ

SREと開発チームの役割

�24

とある新規プロダクトをリリースするとして

Product A

SRE

インフラリソースのコード化

• ネットワーク整備 • LB追加 • AutoScalingGroup追加 • デプロイ環境整備 • DB追加 • Route53登録 • セキュリティ確保

SG ALB

SG

Kubernetes

SG RDS

AutoScalingGroup

Page 25: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

デプロイジョブ

SREと開発チームの役割

�25

とある新規プロダクトをリリースするとして

Product A

SRE

インフラリソースのコード化

• ネットワーク整備 • LB追加 • AutoScalingGroup追加 • デプロイ環境整備 • DB追加 • Route53登録 • セキュリティ確保 • IAMロール追加

SG ALB

SG

Kubernetes

SG RDS

AutoScalingGroup

Page 26: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

デプロイジョブ

SREと開発チームの役割

�26

とある新規プロダクトをリリースするとして

Product A

SRE

インフラリソースのコード化

• ネットワーク整備 • LB追加 • AutoScalingGroup追加 • デプロイ環境整備 • DB追加 • Route53登録 • セキュリティ確保 • IAMロール追加

SG ALB

SG

Kubernetes

SG RDS

AutoScalingGroup

Developers

• アプリケーション開発

Page 27: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

デプロイジョブ

SREと開発チームの役割

�27

とある新規プロダクトをリリースするとして

Product A

SRE

インフラリソースのコード化

• ネットワーク整備 • LB追加 • AutoScalingGroup追加 • デプロイ環境整備 • DB追加 • Route53登録 • セキュリティ確保 • IAMロール追加

SG ALB

SG

Kubernetes

SG RDS

AutoScalingGroup

Developers

• アプリケーション開発 • アプリケーションデプロイ

Page 28: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

プロダクト(サービス)はリリースして終わりではない

�28

本番はここから

Page 29: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

デプロイジョブ

SREと開発チームの役割

�29

運用フェーズでは問い合わせはSREに集まりがち

Product A

インフラリソースのコード化

SG ALB

SG

Kubernetes

SG RDS

AutoScalingGroup

SRE

Developers

デプロイ失敗しました ☓

Page 30: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

デプロイジョブ

SREと開発チームの役割

�30

運用フェーズでは問い合わせはSREに集まりがち

Product A

インフラリソースのコード化

SG ALB

SG

Kubernetes

SG RDS

AutoScalingGroup

SRE

Developers

サービスが落ちました ☓

デプロイ失敗しました

Page 31: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

デプロイジョブ

SREと開発チームの役割

�31

運用フェーズでは問い合わせはSREに集まりがち

Product A

インフラリソースのコード化

SG ALB

SG

Kubernetes

SG RDS

AutoScalingGroup

SRE

Developers

アクセス数増加して さばききれません

☓デプロイ失敗しましたサービスが落ちました

Page 32: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

デプロイジョブ

SREと開発チームの役割

�32

運用フェーズでは問い合わせはSREに集まりがち

Product A

インフラリソースのコード化

SG ALB

SG

Kubernetes

SG RDS

AutoScalingGroup

SRE

Developers

DBのIOPS高いです、耐えられません

デプロイ失敗しましたサービスが落ちました

アクセス数増加してさばききれません

Page 33: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

デプロイジョブ

SREと開発チームの役割

�33

運用フェーズでは問い合わせはSREに集まりがち

インフラリソースのコード化

SRE

Developers

サービスが増えました

デプロイ失敗しましたサービスが落ちました

アクセス数増加してさばききれません

Product A

SG ALB

SG

Kubernetes

SG RDS

AutoScalingGroup

ProductB

SG ALB

SG

Kubernetes

SG RDS

AutoScalingGroup

Page 34: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

デプロイジョブ

SREと開発チームの役割

�34

運用フェーズでは問い合わせはSREに集まりがち

Product A

インフラリソースのコード化

SG ALB

SG

SG RDS

SRE

Developers

サービスが増えました

デプロイ失敗しましたサービスが落ちました

アクセス数増加してさばききれませんサービスが増えました

Product B

SG ALB

SG

SG RDSProduct C

SG ALB

SG

SG RDS

Page 35: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

デプロイジョブ

SREと開発チームの役割

�35

運用フェーズでは問い合わせはSREに集まりがち

A

インフラリソースのコード化

SG

ALB

SG

SGRDS

SRE

Developers

サービスが増えました

デプロイ失敗しましたサービスが落ちました

アクセス数増加してさばききれませんサービスが増えましたサービスが増えました

B

SG

ALB

SG

SGRDS

C

SG

ALB

SG

SGRDS

D

SG

ALB

SG

SGRDS

E

SG

ALB

SG

SGRDS

Page 36: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�36

• サービスが増えるに従って SRE への依頼件数も増加

• 開発者の方が圧倒的に多いので、SRE がボトルネックに

• 何でも屋になりがちで、目先のタスクに追われる日々

SREがボトルネックに

設定変更依頼

稼働率の担保

障害対応

監視

負荷対策

CI/CD整備

EOL

SRE構成相談

インフラリソースのコード化

Page 37: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

マイクロサービス化の流れ

�37

開発組織の拡大に伴い、これまでのEC2 + Auto Scaling だと辛くなってきた

• 言語やフレームワークの多様化

• 複雑化するデプロイフロー

• 依存するサービスの増加

• SREに問い合わせがさらに集中

インフラリソースのコード化

Page 38: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�38

すべてのアプリケーションをコンテナ化

本番環境のコンテナのランタイムとして採用

インフラリソースのコード化

freeeを支えるインフラ系ツール

インフラリソースのコード化

Page 39: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�39

すべてのアプリケーションをコンテナ化多様化する言語やフレームワークを吸収

インフラリソースのコード化

Page 40: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

デプロイジョブ

�40A

インフラリソースのコード化

SG

ALB

SG

SGRDS

B

SG

ALB

SG

SGRDS

C

SG

ALB

SG

SGRDS

D

SG

ALB

SG

SGRDS

E

SG

ALB

SG

SGRDS

すべてのアプリケーションをコンテナ化

Page 41: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

デプロイジョブ

�41A

インフラリソースのコード化

SG

ALB

SG

SGRDS

B

SG

ALB

SG

SGRDS

C

SG

ALB

SG

SGRDS

D

SG

ALB

SG

SGRDS

E

SG

ALB

SG

SGRDS

ECR

すべてのアプリケーションをコンテナ化コンテナに吸収されて考え方がシンプルに

Page 42: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�42

アプリケーションの動作環境をマニフェストとしてコード化

宣言的にデプロイ、オートスケーリング、セルフヒーリングを実現

本番環境のコンテナのランタイムとして採用

インフラリソースのコード化

Page 43: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

デプロイジョブ

�43A

インフラリソースのコード化

SG

ALB

SG

SGRDS

B

SG

ALB

SG

SGRDS

C

SG

ALB

SG

SGRDS

D

SG

ALB

SG

SGRDS

E

SG

ALB

SG

SGRDS

ECR

コンテナをKubernetesで動かすアプリケーションの構成がコード化される

Page 44: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�44A

インフラリソースのコード化

SG

ALB

SG

SGRDS

B

SG

ALB

SG

SGRDS

C

SG

ALB

SG

SGRDS

D

SG

ALB

SG

SGRDS

E

SG

ALB

SG

SGRDS

ECR

コンテナをKubernetesで動かす

namespace namespace namespace namespace namespace

podpodpodpodpod ManifestsManifests

アプリケーションの構成がコード化される

Page 45: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�45

宣言的にAWSのリソースを確保

AWSリソースのコード化

インフラリソースのコード化

Page 46: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�46A

インフラリソースのコード化

SG

ALB

SG

SGRDS

B

SG

ALB

SG

SGRDS

C

SG

ALB

SG

SGRDS

D

SG

ALB

SG

SGRDS

E

SG

ALB

SG

SGRDS

宣言的にAWSリソースを確保

namespace namespace namespace namespace namespace

podpodpodpodpod

SRE

• ネットワーク整備 • LB追加 • AutoScalingGroup追加 • デプロイ環境整備 • DB追加 • Route53登録 • セキュリティ確保 • IAMロール追加

Page 47: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�47A

インフラリソースのコード化

SG

ALB

SG

SGRDS

B

SG

ALB

SG

SGRDS

C

SG

ALB

SG

SGRDS

D

SG

ALB

SG

SGRDS

E

SG

ALB

SG

SGRDS

宣言的にAWSリソースを確保

namespace namespace namespace namespace namespace

podpodpodpodpod

ManifestsTF Files

AWSリソースがコード化される

Page 48: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

インフラリソースがコード化されると開発チームと SREとのコミュニケーション方法が変わる

�48

インフラリソースのコード化

Page 49: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�49

インフラリソースのコード化

SREDevelopers サービスが増えました

インフラリソースがコード化されていない世界

インフラの構築には強い権限が必要 現状のインフラ構成を理解していない インフラを触るのはなんとなく怖い SREにお願いするしかない

この言葉には以下の内容が含まれているのではないか

Page 50: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�50

インフラリソースのコード化

SREDevelopers コード書きました!レビューお願いします!

インフラリソースがコード化された世界

インフラ構築の権限が与えられている 現状のインフラ構成は既存のコードから読み取れる

インフラを触るのはまだ怖いけどSREにレビューしてもらえる

開発チームがインフラのコードを書いてSREがレビューする

Manifests

TF File

Page 51: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

インフラリソースがコード化されると開発チームと SREとのコミュニケーション方法が変わる

�51

インフラリソースのコード化

開発者チームにサービスの運用をおまかせできるかもしれない

Page 52: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�52

03シングルテナントで権限を分離してクラスタの運用をおまかせする

Section

Page 53: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

マルチテナント か シングルテナント か

�53

K8s cluster

Product AService A-1

Service A-2Service A-3

Product BService B-1

ServiceB-2Service B-3

Product CService C-1

Service C-2Service C-3

K8s cluster

Product AService A-1

Service A-2

Service A-3

K8s cluster

Product BService B-1

Service B-2Service B-3

K8s cluster

Product CService C-1

Service C-2

Service C-3

プロダクト(分離したい権限)単位で分割したシングルテナントクラスタ

シングルテナントで権限を分離してクラスタの運用をおまかせする

すべてのプロダクトが動いているマルチテナントクラスタ

Page 54: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

シングルテナントのメリット

• Blast radius(障害の影響範囲)が小さい

• セキュリティの境界線の明確化

• クラスタ全体に関係するアップデート作業がしやすい

シングルテナントのデメリット• 利用料金が増える • 運用コストが増える

�54

権限移譲により運用コストの分散は可能

シングルテナントで権限を分離してクラスタの運用をおまかせする

マルチテナント か シングルテナント か

Page 55: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

Blast radius(障害の影響範囲)が小さい

�55

リスクを分散し、心理的安全性を高める

シングルテナントで権限を分離してクラスタの運用をおまかせする

Page 56: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

K8s cluster

Product AService A-1

Service A-2

Service A-3

Product BService B-1

ServiceB-2

Service B-3

Product CService C-1

Service C-2

Service C-3

K8sのバグ

オペミス

全サービスダウンの危険• Blast radius(障害の影響範囲)が大きい • 運用の難易度が高い • チャレンジしづらい空気

マルチテナントのリスク

�56

シングルテナントで権限を分離してクラスタの運用をおまかせする

Page 57: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

シングルテナントによるリスクの軽減

�57

K8s cluster

Product AService A-1

Service A-2

Service A-3

K8s cluster

Product BService B-1

Service B-2

Service B-3

K8s cluster

Product CService C-1

Service C-2

Service C-3

K8sのバグ

オペミス

一部のみサービスダウン• Blast radius(障害の影響範囲)が小さい • 運用の難易度は下がる • チャレンジしやすい空気 • 心理的安全性が高い

シングルテナントで権限を分離してクラスタの運用をおまかせする

Page 58: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

セキュリティの境界線の明確化

�58

プロダクト間の不正なアクセスをどう防ぐか

シングルテナントで権限を分離してクラスタの運用をおまかせする

Page 59: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�59

SOC保証: 上場企業が自社の財務報告がきちんとしていることを保証するものfreee(会計ソフト) を利用する場合、freeeも監査の対象になる

SOC1を取得していればfreeeがSOC保証が満たされていると認められる

相応のセキュリティ対策が必要

例えばDBに直接アクセスする場合認証、認可、履歴管理が必要

EC2インスタンス等からのアクセスも SecurityGroup などで明確に権限管

理できていることが望ましい

[再掲] freeeについて

受託業務に係る内部統制の保証報告書(SOC1 Type2報告書)を受領

Page 60: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

Product B

マルチテナントで境界線の明確化は難しい

�60

Product A

SG

Kubernetes nodeKubernetes nodeService A-1

Service B-2

Service B-3

Kubernetes nodeKubernetes nodeService B-1

Service A-2

Service A-3

SG SG

Security Group による分割は不可 IAMとKiamでAWSリソースへの制御は可能 RBACでNamespace間のアクセス制御は可能

ただしプロダクト間でVMは共通

プロダクト単位でNodeGroupを分割すれば対応可能だが、そのための仕組みづくりが必要

シングルテナントで権限を分離してクラスタの運用をおまかせする

Page 61: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

Product B

SG

Product A

SG

Kubernetes nodeKubernetes nodeService A-1

Service B-2

Service B-3

Kubernetes nodeKubernetes nodeService B-1

Service A-2

Service A-3

SG SG

テナントは分離したい権限単位になっている Security Group が利用可能

RBACを併用 VMレベルで分割されている

今まで運用してきた(枯れた)構成と 一緒なので扱いが簡単

シングルテナントなら境界の明確化は容易

�61

シングルテナントで権限を分離してクラスタの運用をおまかせする

Page 62: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

クラスタ全体に関係するアップデート作業がしやすい

�62

• Kubernetesクラスタは頻繁にアップグレードが必要 • 共通部分で利用しているツールのアップデートも必要

シングルテナントで権限を分離してクラスタの運用をおまかせする

Page 63: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�63

シングルテナントで権限を分離してクラスタの運用をおまかせする

K8s cluster

Product AService A-1

Service A-2

Service A-3

Product BService B-1

ServiceB-2

Service B-3

Product CService C-1

Service C-2

Service C-3

Team A Team B Team C

運用

運用運用

マルチクラスタはクラスタ全体に関係する アップデート作業がしづらい

共通部分Product A

SRE

クラスタのアップグレードなど

• サービスをすべて停止させる必要がある • アップグレードに失敗する可能性がある • 失敗したときのロールバックのコストが高い

Page 64: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�64

シングルテナントで権限を分離してクラスタの運用をおまかせする

Team A Team B Team C

運用

運用運用

シングルクラスタはクラスタ全体に関係する アップデート作業がしやすい

SRE

クラスタのアップグレードなど

• サービスの停止は最小限 • アップグレードに失敗しても最小限 • 失敗したときのロールバックのコストも最小限

K8s cluster

Product AService A-1

Service A-2Service A-3

K8s cluster

Product BService B-1Service B-2

Service B-3

K8s cluster

Product CService C-1Service C-2

Service C-3

Page 65: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

シングルテナントのメリット• Blast radius(障害の影響範囲)が小さい

• セキュリティの境界線の明確化

• クラスタ全体に関係するアップデート作業がしやすい

�65

シングルテナントで権限を分離してクラスタの運用をおまかせする

クラスタの運用をおまかせするならシングルテナントがマッチする

Page 66: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�66

開発チームがクラスタを 運用するのは簡単ではない

各クラスタ/サービスを横断的に 面倒を見るチームを設置

• SRE • 各種アップデート補助、インシデント対応補助、クラスタ作成補助、ツールの検証/作成、OSSへのコミット

• サービス基盤 • 共通で使うライブラリを整備 • マイクロサービス委員会(SREとサービス基盤を含む各サービス担当者で構成) • 共通の方針や仕様の決定、情報共有、横展開

シングルテナントで権限を分離してクラスタの運用をおまかせする

Page 67: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�67

04EKSをマネージドサービスと組み合わせてクラスタの運用コストを抑える

Section

Page 68: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�68

Product A

SG

SG

SG

Kubernetes node

applications

Product B

SG

SG

SG

Kubernetes node

applications

Kubernetesにどこまで任せる?

• Application

• Database

• LoadBalancer

• Security

• Auth

EKSをマネージドサービスと組み合わせてクラスタの運用コストを抑える

Page 69: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

Kubernetesでなんでもやろうとしない

�69

マネージドサービスは積極的に利用し、 システムに Kubernetes(EKS) を組み込む

枯れた運用ノウハウは最大限に活かす

EKSをマネージドサービスと組み合わせてクラスタの運用コストを抑える

Page 70: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�70Product A

SG

SG

SG

Kubernetes node

applications

Product B

SG

SG

SG

Kubernetes node

applications

Product A

SG

Product B

SG

SG

SG

Kubernetes node

SG

SG

Kubernetes node

EKSをマネージドサービスと組み合わせてクラスタの運用コストを抑える

Kubernetes はアプリケーションを動かすことだけに利用する

Page 71: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�71Product A

SG

Product B

SG

SG

SG

Kubernetes node

SG

SG

Kubernetes node

マネージドサービスと Kubernetes の得意分野が活きる

宣言的デプロイ 自動配置 セルフヒーリング オートスケーリング Databases

MySQL/Redis/ElasticSearch

Load Balancer Application/Classic Load Balancer

Security GuardDuty/IAM/WAF

EKSをマネージドサービスと組み合わせてクラスタの運用コストを抑える

Page 72: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�72Product A

SG

Product B

SG

SG

SG

Kubernetes node

SG

SG

Kubernetes node

部品の交換をやりやすい状態に保つ

より良いものが出てきたときにそれを取り込みやすい状態にしておく

AWS App Mesh Istio

EKS on Fargate ECS on Fargate

Knative

Next generation LB Next generation DB

EKSをマネージドサービスと組み合わせてクラスタの運用コストを抑える

Page 73: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�73

05マルチテナントからシングルテナントなEKSに移行した実例

Section

Page 74: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

freee で Kubernetes が本番導入されたのは約1年前

�74

• 新しいマイクロサービスが出てきたことがきっかけ • TerraformによるAWSリソースのコード化は一部で導入済み • Kube-aws を採用 • マルチテナント

マルチテナントからシングルテナントなEKSに移行した実例

Page 75: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�75

マルチテナントからシングルテナントなEKSに移行した実例

ap-northeast-1a

Kubernetes master

Kubernetes master

Kubernetes node

Kubernetes master

kube-controller-manager

kube-scheduler

kube-apiserver

Kubernetes master

etcd

Kubernetes node

container runtime

kube-proxy

kubelet

ap-northeast-1c

Kubernetes master

Kubernetes master

Kubernetes node

Kubernetes master

kube-controller-manager

kube-scheduler

kube-apiserver

Kubernetes master

etcd

Kubernetes node

container runtime

kube-proxy

kubelet

ap-northeast-1d

Kubernetes master

Kubernetes master

Kubernetes node

Kubernetes master

kube-controller-manager

kube-scheduler

kube-apiserver

Kubernetes master

etcd

Kubernetes node

container runtime

kube-proxy

kubelet

kube-aws

Page 76: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

EKS 2018/12/20 Tokyo Region

�76

• kube-aws のクラスタの証明書が3月13日に切れる • 証明書の入れ替えはちょっと面倒でサービスメンテが必要 • もうEKSに移行してしまおう!

マルチテナントからシングルテナントなEKSに移行した実例

Page 77: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

EKS 移行プロジェクト

�77

• 1月下旬頃からスタート • 3月13日までに全プロダクトを移行する • シングルテナントに変更する • 必要なAWSリソースは開発チーム主導で用意してもらう • Kubernetesクラスタも開発チーム主導で構築してもらう

SREから開発チームへ権限委譲を果たし、開発チームにサービスの運用をおまかせすることが最大のミッション

マルチテナントからシングルテナントなEKSに移行した実例

Page 78: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

プロジェクトの規模感

�78

• kube-awsでもともと動いていたプロダクト数: 7 • EKSに移行したプロダクト数(移行中に4つ増えた): 11 • クラスタ総数: 26 (staging環境を含む) • 関わった人数: 約33人

マルチテナントからシングルテナントなEKSに移行した実例

Page 79: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

EKS 移行プロジェクトで活躍したツール

�79

• Terraform • kubectl • eksctl • helm/helmfile • eksclst

マルチテナントからシングルテナントなEKSに移行した実例

Page 80: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�80

Terraform必要なAWSリソースはすべてTerraformで用意/SREのレビューを経てApply

Product A

SG

SG

SG

Kubernetes node

Kubernetes node

Service A-1

Service A-2

Service A-3

Team APR

appl

y

SRE

Review/Approve

resource "aws_lb" "product-a-internal" { name = "product-a-internal" internal = true load_balancer_type = "application" security_groups = ["${var.lb_security_groups}"] subnets = ${var.subnets} ip_address_type = "ipv4" enable_deletion_protection = true}

resource "aws_route53_record" "product-a-internal" { zone_id = "${var.route53_hosted_zone_id}" name = "${var.route53_dns_name}" type = "A" alias { name = "${aws_lb.product-a-internal.dns_name}" zone_id = "${aws_lb.product-a-internal.zone_id}" evaluate_target_health = true }}

マルチテナントからシングルテナントなEKSに移行した実例

Page 81: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�81

Product A

SG

SG

SG

Kubernetes node

Kubernetes node

Service A-1

Service A-2

Service A-3

Team A (Admin)

IAM Role

ops

via

kube

ctl

assume role

kubectl

RBAC with aws-auth

aws-auth を利用して IAM Role と紐付けて権限を絞って利用apiVersion: v1kind: ConfigMapmetadata: name: aws-auth namespace: kube-systemdata: mapRoles: | - rolearn: {{ .Values.rolearn }} username: system:node:{{`{{EC2PrivateDNSName}}`}} groups: - system:bootstrappers - system:nodes - rolearn: arn:aws:iam::<ID>:role/team-a-admin username: team-a-admin:{{`{{SessionName}}`}} groups: - system:masters - rolearn: arn:aws:iam::<ID>:role/team-a-readonly username: team-a-readonly:{{`{{SessionName}}`}} groups: - system:authenticated

Team A (ReadOnly)

read

onl

y ac

cess

マルチテナントからシングルテナントなEKSに移行した実例

Page 82: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�82

eksctlマルチテナントからシングルテナントなEKSに移行した実例

Product B

SG

SG

SG

Kubernetes node

Kubernetes node

Team B

eksc

tl cr

eate

clu

ster

PR Commands

SRE

Review/Approve

apiVersion: eksctl.io/v1alpha5kind: ClusterConfig

metadata: name: cluster-name region: ap-northeast-1 version: "1.13"

vpc: id: “*****” cidr: "10.0.0.0/16" subnets: private: ap-northeast-1a: id: “*****” ap-northeast-1c: id: “*****”

cluster.yaml でクラスタを定義、eksctl create cluster で作成nodeGroups: - name: nodegroup1 instanceType: r5.large desiredCapacity: 2 availabilityZones: - ap-northeast-1a - ap-northeast-1c privateNetworking: true securityGroups: attachIDs: - ****** iam: withAddonPolicies: imageBuilder: true autoScaler: true attachPolicyARNs: - arn:aws:iam::aws:policy/*****

Page 83: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�83

Helm/Helmfile によるアプリケーションデプロイGitOps で Kubernetesのマニフェストを安全にデプロイ

Product B

SG

SG

SG

Kubernetes node

Kubernetes node

Service B-1

Service B-2

Service B-3

Team B

helm

file

sync

PR Commands

SRE

Review/Approve

environments: production: values: - production.yaml

releases: - name: kube-state-metrics namespace: kube-system chart: stable/kube-state-metrics version: 0.13.0 - name: metricbeat namespace: kube-system chart: stable/metricbeat version: 1.2.1 values: - values.yaml.gotmpl

• Helm(Helm Chart) • The Kubernetes Package Manger • マニフェストをパッケージ化 • よくあるツールのテンプレ • Helmfile • Helm Chartの依存関係をファイルでファイルで定義 • helmfile sync • helmfile diff • helmfile delete

マルチテナントからシングルテナントなEKSに移行した実例

Page 84: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�84Templates

Manifests

eksclstによるクラスタのテンプレ化よくある構成のクラスタテンプレ化し、クラスタの作成/複製を容易にする

New Product

SG

Kubernetes node

Kubernetes node

cluster-autoscaler

Metricbeat

Filebeat

New Team

eksc

tlcr

eate

clu

ster

PR Commands

Manifestseksclst init

Templates

cluster.yaml helmfile.yaml aws-auth.yaml など

helm

file

sync

• クラスタを量産する内製ツール • cluster.yaml • aws-auth.yaml • metricbeat/filebeat • など、一から書くコストを削減するためにテンプレを容易

マルチテナントからシングルテナントなEKSに移行した実例

Page 85: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

New Product A

移行作業

�85

マルチテナントからシングルテナントなEKSに移行した実例

Product AProduct A

SG

SG

SG

Kubernetes node

Kubernetes node

Service B-1

Service B-2

Service B-3 SG

Kubernetes node

Kubernetes node

Service B-1

Service B-2

Service B-3

Kube-aws上のプロダクト (実際はマルチテナント) EKS上のプロダクト

Weighted Routing

80% 20%

• 同じ構成のクラスタを用意 • AWSリソースは共有できるものは共有する(DBは必須) • Route53のWeighted Routingを利用して徐々にリクエストを流し込む • サービスによってはRoute53ではなくLBを共通化して、Kubernetes node を差し替える方法を使用 • ノーメンテで切り替え

Page 86: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

プロジェクトの成功の要因

�86

• 関わった開発チームのKubernetesへの意欲が強い • ドキュメントを皆で編集しながら(情報交換を密にしながら)進めた • 完璧ではないドキュメントもメンバーが意図を汲み取って理解してくれた • 最後までモチベーションが下がらなかった

マルチテナントからシングルテナントなEKSに移行した実例

Page 87: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

まとめ

インフラリソースのコード化とKubernetesのシングルテナント化でサービスの運用コストを分散させる •インフラリソースのコード化は必須、これを足がかりに権限委

譲が進む

•クラスタ運用を開発チームにお願いするにはシングルテナント

がおすすめ

•クラスタ自体の運用コストを抑えるにはマネージドサービスを

うまく使う

•開発チームにKubernetesに対する意欲があることが重要、理

解されない場合は辛みが増えるだけ�87

Page 88: AWSのマネージドサービスを活かした Kubernetes 運用と … · 2020. 8. 3. · ※ 出典:entrepedia ベンチャーリスト ※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査

�88

アイデアやパッションやスキルがあればだれでも、 ビジネスを強くスマートに育てられるプラットフォーム

スモールビジネスを、世界の主役に。