株式会社ビズリーチの サービスを支える ECSとAWS Batchの 活 … ·...

Preview:

Citation preview

株式会社ビズリーチのサービスを支えるECSとAWS Batchの活用事例

株式会社ビズリーチ・HRMOS採用管理事業部SREグループ マネージャー

國井匡生 / Masao Kunii2018.6.1

Copyright (C) 2018 BizReach, Inc.

アジェンダ● アプリケーション概要

● ECS / AWS Batchの使用例

● 環境について

● 運用 / 監視について

● Dev / Opsの役割分担

● ビズリーチ社の他のサービスの取り組みの紹介

Copyright (C) 2018 BizReach, Inc.

名前: 國井 匡生(くにい まさお)

所属: 株式会社ビズリーチ

HRMOS採用管理事業部

職業: SRE マネージャー(雑務)

趣味: 沖縄旅行とIoT

自己紹介

Copyright (C) 2018 BizReach, Inc.

外の天気を光る試験管で表したり

Copyright (C) 2018 BizReach, Inc.

しゃべるBotをつくったり

https://www.slideshare.net/MasaoKunii/d3chat-opsiotvoiceops-20170619Copyright (C) 2018 BizReach, Inc.

顔認識で勤怠をつけるやつをつくったりしてます

Copyright (C) 2018 BizReach, Inc.

会社について

Copyright (C) 2018 BizReach, Inc.

会社について

Copyright (C) 2018 BizReach, Inc.

Copyright (C) 2018 BizReach, Inc.

株式会社ビズリーチ / BizReach, Inc.

創業:2009年4月

代表者:南 壮一郎

従業員数:1,202名(2018年5月現在)

拠点:東京/大阪/名古屋/福岡/シンガポール

事業内容:インターネットを活用したサービス事業

Copyright (C) 2018 BizReach, Inc.

11

SRE/インフラエンジニアを募集しています

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

12

社会課題の解決を目指す事業を立ち上げている

事業承継

人手不足(人財採用)

企業のIT化(バックオフィス)

Copyright (C) 2018 BizReach, Inc.

13

社会課題の解決を目指す事業を立ち上げている

事業承継

人手不足(人財採用)

企業のIT化(バックオフィス)

Copyright (C) 2018 BizReach, Inc.

Copyright (C) 2018 BizReach, Inc.

求人作成 応募者管理人材紹介会社への依頼

面接日程調整 面接評価面接結果登録

採用実績報告+分析

求職者が、求人媒体や人材紹介会社、自社採用サイトなどを通じて求人に応募

各種採用手法から獲得した応募者情報(職務経歴など)を管理

テストや面接を通じて応募者を評価

選考実績を確認して、改善活動プランを策定・実行

Copyright (C) 2018 BizReach, Inc.

アプリケーション概要

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

コンテナ化前のアーキテクチャ

CloudFront

ALB

EC2

SQS

S3

Elasticache

RDS

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

コンテナ化後のアーキテクチャ

CloudFront ALB ECS

SQS

S3

Elasticache

RDS

ECR CloudWatch

Lambda

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

コンテナ化後のアーキテクチャ

CloudFront ALB

SQS

S3

Elasticache

RDS

ECR CloudWatch

Lambda

ECS

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

ECS

コンテナ化後のアーキテクチャ

CloudFront ALB

SQS

S3

Elasticache

RDS

ECR CloudWatch

Lambda

おまけで必要になる▼

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

● マネージドのコンテナオーケストレーションサービス

● コンテナ毎のアクセス制御が可能

● ゼロダウンタイムのデプロイが可能

● スケジュールもしくは

CloudWatch Alarmと組み合わせたオートスケール

ECSについて軽く;

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

● クラスター○ コンテナ インスタンスをまとめたもの。コンテナのhostとなる

コンピューティング環境の単位

● コンテナ インスタンス○ クラスターとして扱われるEC2インスタンス。ECS Agentと

Dockerが含まれるECS用のAMIを使用する

● タスク○ 一まとめにして扱うコンテナ(webサーバーとアプリケーション

サーバーのコンテナ等)≒ docker-compose

ECSの概念

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

ECSの概念

● タスク定義

○ タスクを定義する(イメージ、ポート、ボリューム

等)≒ docker-compose.yml

● サービス

○ タスクを管理する概念( クラスター 、タスク数、デ

プロイ戦略等)

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

ECSのイメージ

ECSクラスター

EC2

ECS Agent

Docker

タスクA タスクB

コンテナ コンテナ コンテナ

EC2

ECS Agent

Docker

タスクCタスクB

コンテナコンテナ コンテナ コンテナ

サービスコンテナ インスタンス コンテナ インスタンス

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

AWS Batchのイメージ

EC2

ECS Agent

Docker

タスクA タスクB

コンテナ コンテナ コンテナ

EC2

ECS Agent

Docker

タスクCタスクB

コンテナコンテナ コンテナ コンテナ

サービスコンテナ インスタンス コンテナ インスタンス

ECSクラスター

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

ECSのイメージ

ECSクラスター

タスクA タスクB

コンテナ コンテナ コンテナ

タスクCタスクB

コンテナコンテナ コンテナ コンテナ

サービスコンテナ インスタンス コンテナ インスタンス

EC2

ECS Agent

Docker

EC2

ECS Agent

Docker

DockerとAgentが入ったEC2▼

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

ECSのイメージ

ECSクラスター

サービスコンテナ インスタンス コンテナ インスタンス

EC2

ECS Agent

Docker

EC2

ECS Agent

Docker

タスクA タスクB

コンテナ コンテナ コンテナ

タスクCタスクB

コンテナコンテナ コンテナ コンテナ

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

ECSのイメージ

ECSクラスター

タスクA

コンテナ

タスクC

コンテナ コンテナ

サービスコンテナ インスタンス コンテナ インスタンス

EC2

ECS Agent

Docker

EC2

ECS Agent

Docker

タスクB

コンテナ コンテナ

タスクB

コンテナ コンテナ

サービス

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

ECSのイメージ

ECSクラスター

タスクCタスクB

コンテナコンテナ コンテナ コンテナ

サービスコンテナ インスタンス コンテナ インスタンス

EC2

ECS Agent

Docker

タスクA タスクB

コンテナ コンテナ コンテナ

EC2

ECS Agent

Docker

コンテナ インスタンス

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

ECSのイメージ

ECSクラスター

タスクA タスクB

コンテナ コンテナ コンテナ

タスクCタスクB

コンテナコンテナ コンテナ コンテナ

サービスコンテナ インスタンス コンテナ インスタンス

EC2

ECS Agent

Docker

EC2

ECS Agent

Docker

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

コンテナ化して良かったこと

● アプリケーションの成果物(イメージ)が本番でもロー

カルでも同じ

● リソースを共有

● 水平スケールが容易

● インフラコード/コンピューティングリソースからのアプ

リケーションの分離

● Immutable Infrastructure

○ Ansibleとの訣別、ロールバック、Blue/Greenデプロ

イが容易https://bit.ly/2x0ICou

Copyright (C) 2018 BizReach, Inc.

ECSの使用例 - 規模感

サービス(モジュール)数:30タスク数:45コンテナインスタンス:24

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

ECSの使用例 - モジュールの分類

コンテナ化したことでリソースを共有できるようになった。モジュールを3種類に分類した。

1. CPUを多く使うもの2. バッチ的な常に起動しなくて良いもの3. それ以外

クラスタのインスタンスタイプもそれに合わせて構築

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

ECSの使用例

● CPU強めのインスタンスのECSクラスタ○ 主にオンライン同期系の重めのAPI○ 画像処理やアプリケーションjoinなど○ コスト的にあまりスケールアウトしたくない

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

ECSの使用例

● メモリ多め(安め)のインスタンスのECSクラスタ○ オンライン同期系の軽めのAPI○ オンライン非同期系の処理○ 気軽にスケールアウトする

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

ECSの使用例

● AWS Batch○ 定時バッチ○ ファイル系処理

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

AWS Batchについて

● コンピューティング環境のECSとその上で実行されるジョブを登録するキューがセットになったもの

● ジョブキューにジョブ定義を送信することでジョブを起動できる

● ジョブ ≒ ECSのタスク

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

ECSクラスター

Job Job

ContainerRegistry

Job定義

Job イメージ

AWS Batch

AWS Batchのイメージ

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

Jobキュー

AWS Batchのいいところ

公式ドキュメントのユースケースを見ると金融やサイエンス、デジタルメディアというのが前面に出ているが、単純なバッチ処理基盤としてもかなり便利。

● EC2の管理が不要● スポットも使える● リトライ処理が自動● 処理の成功・失敗がわかる● 料金がかかるのは処理中のみ

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

AWS Batchの使用例

ずっと起動させておく必要はないけど、Lambdaにさせるには大きすぎる処理に使用

● ドキュメントのPDF化処理● アップロードされたファイルのウィルススキャン● 論理削除したデータの物理削除処理● ETL処理

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

AWS Batchのダッシュボード

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

AWS Batch - ファイル系処理

Lambda

AWS Batch

Job

in-comming processed

ジョブキュー

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

AWS Batch - ファイル系処理

Lambda

AWS Batch

Job

processed

ジョブキュー

in-comming

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

AWS Batch - ファイル系処理

AWS Batch

Job

in-comming processed

Lambda

ジョブキュー

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

processed

AWS Batch - ファイル系処理

Lambda

in-comming

AWS Batch

Job

ジョブキュー

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

AWS Batch - ファイル系処理

Lambda

in-comming

AWS Batch

Job

processed

ジョブキュー

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

AWS Batch - ファイル系処理

Lambda

AWS Batch

Job

in-comming processed

ジョブキュー

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

AWS Batch - 定時バッチ

AWS Batch

Job

CloudWatch Eventsジョブキュー

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

AWS Batch - 定時バッチ

AWS Batch

Job

CloudWatch Eventsジョブキュー

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

AWS Batch - 定時バッチ

CloudWatch Eventsジョブキュー

AWS Batch

Job

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

AWS Batch - 定時バッチ

AWS Batch

Job

CloudWatch Eventsジョブキュー

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

AWS Batchの残念なところ

● CloudWatchで処理結果のmetricsが見れない

● 起動までに時間が掛かる

○ ニアリアルタイム処理には向かない

(常にコンテナ インスタンスを起動させておくことで

改善はできる)

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

環境について

● ローカル環境

● Pull Request 環境

● 開発環境

● ステージング環境

● 本番環境

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

環境について - ローカル環境

開発するモジュールをローカルで実行し、

それ以外はPull Request環境にアクセス

PR環境用 ECS クラスター

Task B Task C

ALB

PR環境

モジュール A

開発PC

sbt / gulp

nginx

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

環境について - Pull Request環境

Pull Request毎に環境のサブセットを作って

機能テストを行う

PR環境用 ECS クラスター(Spot Fleet使用)

Task A Task B Task C

ALBPR-1環境 PR-3環境

Task ATask ATask A

ALB

Task A Task B Task C

ALBPR-2環境

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

環境について - 開発環境

本番と基本的に同じ構成の環境。結合テストに使用

ECS クラスター CPU optimized(Spot Fleet使用)

Task A Task B

ALB

Job HJob G

ECS クラスター default(Spot Fleet使用)

Task C Task D Task E

AWS Batch(Spot使用)

S3 Elasticache

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

環境について - ステージング/本番環境

同じ構成。ステージング環境の一部は夜間停止。

ECS クラスター CPU optimized

Task A Task B

ALB

Job HJob G

ECS クラスター default

Task C Task D Task E

AWS Batch(Spot使用)

S3 Elasticache

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

運用・監視について

● CI/CD

● 環境差分

● デプロイオプション

● ロールバック

● メトリクス

● オートスケール

● ログ

● Spot Fleet

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

運用・監視について - CI/CD

ECR

CIサーバー

image

CDサーバー

ECS クラスター

デプロイ(タスク定義の更新)

タスクの更新

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

運用・監視について - 環境差分

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

環境ごとのDockerイメージが同じでも、host名等環境によって差分はある。差分があるものはParameter storeかSecrets managerに入れて、entrypoint.shで読み込む。

ECS クラスター

タスク起動時

Parameter store

運用・監視について - デプロイオプション

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

最小を100%にしておくことで、ゼロダウンタイムの更新が可能

運用・監視について - タスク配置戦略

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

用途に合わせてちゃんと選ぶ● binpack

○ タスクのCPU/メモリの利用量に基づいてできるだけイン

スタンスに詰め込む

● spread

○ AZ、instanceId、host等を指定して均等に分散して配置す

● random

○ タスクをランダムに配置

運用・監視について - ロールバック

https://bit.ly/2x0ICou

サービスで前のバージョンを指定するだけ

Copyright (C) 2018 BizReach, Inc.

運用・監視について - メトリクス

● 基本的には、サービスごとのCPUとメモリの使用率のみ

を監視

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

運用・監視について - メトリクスDatadogを使用

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

運用・監視について - オートスケール

● 2つのオートスケール

○ タスク(Application Auto Scaling)

○ コンテナ インスタンス(ASG)

● CloudWatch Alarmを利用してメモリやCPU使用率をトリ

ガにスケールアウト、スケールイン

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

運用・監視について - オートスケール

オートスケールは難しい

● コンテナ インスタンスとタスクの増減を合わせる

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

運用・監視について - オートスケール

オートスケールは難しい

● コンテナ インスタンスとタスクの増減を合わせる

● ASGがスケールアウトしなくてタスクが起動できな

かったり

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

運用・監視について - オートスケール

オートスケールは難しい

● コンテナ インスタンスとタスクの増減を合わせる

● ASGがスケールアウトしなくてタスクが起動できな

かったり

● ASGでスケールインするとタスクごと落ちる

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

運用・監視について - オートスケール

オートスケールは難しい

● コンテナ インスタンスとタスクの増減を合わせる

● ASGがスケールアウトしなくてタスクが起動できな

かったり

● ASGでスケールインするとタスクごと落ちる

○ 頑張ってドレイニング処理を書くこともできる

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

運用・監視について - オートスケール

オートスケールは難しい

● コンテナ インスタンスとタスクの増減を合わせる

● ASGがスケールアウトしなくてタスクが起動できな

かったり

● ASGでスケールインするとタスクごと落ちる

● ASGでスケールインした直後にスケールアウトしたり

○ 頑張ってドレイニング処理を書くこともできる

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

運用・監視について - オートスケール

オートスケールは難しい

● コンテナ インスタンスとタスクの増減を合わせる

● ASGがスケールアウトしなくてタスクが起動できな

かったり

● ASGでスケールインするとタスクごと落ちる

○ 頑張ってドレイニング処理を書くこともできる

https://bit.ly/2x0ICou

● ASGでスケールインした直後にスケールアウトしたり

Copyright (C) 2018 BizReach, Inc.

とにかく調整が面倒

運用・監視について - オートスケール

● オートスケールは数十秒から数分のタイムラグがある

● toBのサービスはトラフィックが読みやすいのでスケジュ

ールでスケールさせた方が良さそう

○ 例)9:00 - 21:00は平均のタスク数の倍、その他の時

間はタスク数を半分

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

運用・監視について - ログ

● ログはCloudWatch Logsに流すことが可能

ECS

Task A

AWS Batch

Task ATaskTask ATask AJob

CloudWatch Logs Lambda

S3

log

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

運用・監視について - ログ

● ログはCloudWatch Logsに流すことが可能

● json形式だとCloudWatch Logsからの検索が楽

Lambda

S3

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

ECS

Task A

AWS Batch

Task ATaskTask ATask AJob

log CloudWatch Logs

運用・監視について - ログ

● ログはCloudWatch Logsに流すことが可能

● json形式だとCloudWatch Logsからの検索が楽

S3

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

ECS

Task A

AWS Batch

Task ATaskTask ATask AJob

CloudWatch Logslog Lambda

Lambda

運用・監視について - ログ

● ログはCloudWatch Logsに流すことが可能

● json形式だとCloudWatch Logsからの検索が楽

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

ECS

Task A

AWS Batch

Task ATaskTask ATask AJob

CloudWatch Logslog

S3

運用・監視について - ログ

● ログはCloudWatch Logsに流すことが可能

● json形式だとCloudWatch Logsからの検索が楽

ECS

Task A

AWS Batch

Task ATaskTask ATask AJob

CloudWatch Logs Lambda

S3

log

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

運用・監視について - ログ形式

Copyright (C) 2018 BizReach, Inc.

運用・監視について - ログ形式

割とざっくりで良い。細かいと管理が面倒

Copyright (C) 2018 BizReach, Inc.

運用・監視について - ログ形式

ログストリーム名のprefixでどの環境のどのタスクなのか等が分かれば良い

Copyright (C) 2018 BizReach, Inc.

運用・監視について - ログ形式

JSONだとカラムでフィルターできる

Copyright (C) 2018 BizReach, Inc.

運用・監視について - ログ形式

以下を出しておくと調査が楽

Copyright (C) 2018 BizReach, Inc.

運用・監視について - Spot Fleet

開発環境の一部と Pull Request 環境は

Spot Fleet を使用することでコストを削減。

Copyright (C) 2018 BizReach, Inc.

運用・監視について - Spot Fleet

開発環境の一部と Pull Request 環境は

Spot Fleet を使用することでコストを削減。

Copyright (C) 2018 BizReach, Inc.

約80%コスト削減

● Dev

○ 開発

○ CIの設定

○ 成果物はDockerイメージ

○ JVMのチューニング/設定

○ メトリクスのダッシュボード作成

○ アプリケーション起因の障害調査・不具合対応

● Ops

○ CD

○ その他運用・改善

DevとOpsの役割分担

Copyright (C) 2018 BizReach, Inc.

弊社他サービスでの取り組みの紹介

● が先行してコンテナ化を進めたが、他の事業も

並行して進めている。

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

弊社他サービスでの取り組みの紹介

● が先行してコンテナ化を進めたが、他の事業も

並行して進めている。

▼一部がECS、AWS Batchで稼働中

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

の取り組み

● 運用系のサーバーがECSで稼働中

● アプリケーション本体もECSに移行中

● バッチ処理はAWS Batchで稼働

○ MySQLからRedshiftやBigQueryへのETL

○ DBのdump取得

○ 不定期に発生する運用作業をジョブ化

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

弊社他サービスでの取り組みの紹介

● が先行してコンテナ化を進めたが、他の事業も

並行して進めている。

Elastic BeanstalkからECSへの乗り換えを検討中▲

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

の取り組み

● すでにElastic Beanstalk上で稼働中

● ECSへの移行を検討中

○ 結局ECSを知る必要がある

○ 1アプリケーション(=1API)ごとにALBが立つので、

ALBの数が膨大になる

○ 1アプリケーション=1EC2インスタンス

○ EB、ECS、EC2のモニタリング

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

全社として

● 監視、ログ基盤は全社で統一した方が良いので仕組みを

検討中

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

ECSを運用してみて

● 特に問題らしい問題は起きなかった

○ サービスが停止して困るというようなことはなかった

○ アプリの問題で落ちても勝手に再起動してくれる安心

感がある

● アプリのロールバックは1分くらいで素早く戻せてリリー

スする勇気が持てる

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

ECSの残念なところ

● オートスケールが中途半端

○ 調整するのが大変

● EC2の存在を割と意識する必要がある

○ 割と頻繁にECS agentをアップデートしたり

○ インスタンスタイプや台数を考える

● ECS agentがバグってると大変

● タスクの起動に失敗するとひたすら再起動し続ける

● コンソールが使いにくい(改善された)

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

足りないことはKubernetes / Fargateで

解決できます

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

Kubernetes

● Googleが開発しLinux Foundationの傘下にあるCNCF

(Cloud Native Computing Foundation) が管理するコンテ

ナオーケストレーションプラットフォーム

○ CI/CDの統合

○ ロールバック/ロールアウト

○ オートスケール

○ 他のクラウドでもサポートしている

○ AWSではマネージドのKubernetesであるEKS (Elastic

Kubernetes Service) がある

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

Fargate

● ECS/EKSのクラスタ管理をマネージド化するモード

● コンテナインスタンス管理の自動化

● オートスケール

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

ECS vs Fargate vs Kubernetes

大まかにこんな使い分けなのでは

● ECS(Fargateなし)

○ クラスタをSpot Fleetやリザーブドインスタンスを使って

費用削減したい

○ コンテナ毎のアクセス制御がしたい

● EKS/Kubernetes

○ きっと全体的にECSより便利(EKSはpreview)

○ マルチクラウドを視野に入れている

● Fargate

○ ECS/EKSを使用するが、費用より運用の手間をなくしたいCopyright (C) 2018 BizReach, Inc.

これからの取り組み

● 目指すはNoOps

● 監視、ログ基盤を全社で統一

● Fargateが東京リージョンに来たらFargateに全部乗せ変える

● EKSに移行し、マルチクラウド化

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

まとめ

● デプロイ時の切り替えが早くなった

● スケールが簡単になった

● AWS Batchはバッチ処理に便利

● ログはJSONに

● EKS / Fargate に早くきてほしい

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

ご静聴ありがとうございました!

https://bit.ly/2x0ICouCopyright (C) 2018 BizReach, Inc.

Recommended