SlideShare una empresa de Scribd logo
1 de 79
Descargar para leer sin conexión
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
Fargateを使いこなす!
Creatiaのインフラを
支える技術について
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
自己紹介

2
本業: ねこ様の奴隷
副業: 虎の穴ラボのエンジニア
服部 和哉(はっとり かずや)
2020年8月入社
趣味は某アーケードカードゲーム
最近泣いたアニメ
● ヴァイオレット・エヴァーガーデン
● かくしごと
● NOMAD メガロボクス2
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
Creatiaのインフラを支える技術について

3
No 内容
1 サービス紹介
2 アプリケーション構成
3 ECS Fargateを使いこなすまで
4 まとめ
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
4
No 内容
1 サービス紹介
2 アプリケーション構成
3 ECS Fargateを使いこなすまで
4 まとめ
Creatiaのインフラを支える技術について

Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
サービス紹介
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
• どんなサービスか?
– コンセプト
– Fantiaとの違い
目次

6
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
目次

7
• どんなサービスか?
– コンセプト
– Fantiaとの違い
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
コンセプト

8
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
コンセプト

9
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
• サービスの仕組み
– 有料プラン加入(月額制)
• 制限のかかった投稿が見られる
– フォロー
• 動向がわかる
コンセプト

10
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
• 月額制
コンセプト

11
支援する
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
• 最近追加した機能紹介
– 投稿へのチップ
• 月額プランに加えてクリエイターを支援できる
– ライブ配信
• チケット購入制の生放送
コンセプト

12
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
• どんなサービスか?
– コンセプト
– Fantiaとの違い
目次

13
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
• オリジナル特化
• R-18表現なし
• ランキング不採用
– 創作に集中できるように
Fantiaとの違い

14
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
よく聞く声
• 表現に制限があるのって意味ある
の?Fantiaでいいじゃん。
• R18表現を否定しているの?
Fantiaとの違い

15
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
よく聞く声
• 表現に制限があるのって意味ある
の?Fantiaでいいじゃん。
• R18表現を否定しているの?
Fantiaとの違い

16
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
• 徹底した棲み分け
– R18が無いことで紹介しやすい
– オリジナル中心の作品を届けたい
Fantiaでは出しづらいと感じていたクリエイターへの選択肢として用意
しています。
Fantiaとの違い

17
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
もちろんFantiaと並行して活動されている方もいます。
• 普段とは違う作風の作品を上げる。
• メイキングや考えていることを上げる。
クリエイターの新たな一面が見られることも
Fantiaとの違い

18
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
内部的なお話もさせていただくと・・・
• Fantiaのノウハウを生かした設計
– 開発者のほとんどはFantia開発もしています。
• FantiaではGCPですがCreatiaではAWSを使用しています
Fantiaとの違い

19
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
20
No 内容
1 サービス紹介
2 アプリケーション構成
3 ECS Fargateを使いこなすまで
4 まとめ
Creatiaのインフラを支える技術について

Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
21
アプリケーション構成
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
22
アプリケーション構成

Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
• フレームワーク:Ruby on Rails
• 担当部分
– DB管理(マイグレーション)
– セッション管理(ログイン情報など)
– DBの情報をAPI出力
– 各種外部サービスとの連携
• Fantiaログイン
• 決済関連
• 通知関連
23
バックエンド

Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
• フレームワーク:Nuxt.js(TypeScript)
• 担当部分
– SSRによるHTMLレンダリング
• 同時にSEO関連のデータ埋め込み
– AjaxでのAPIアクセス
• APIアクセス時のプロキシ(@nuxtjs/proxy)
24
フロントエンド

Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
• Ruby on Rails
– 虎の穴ラボでの利用実績が多い
– すごく流行ってるとは現状では言い難いが、安定
している
– Active Recordはやっぱり使いたい
– 実績があるゆえのセキュリティ面の安全性
25
バックエンド-技術の選定理由-

Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
• 悩んだところ
– Go言語の採用
• 若干ながら実績があるが、ラボの経験値的
には薄い
• ORM的なもの決定版が無い(様に見えた)
• 他に新しいことをやっている箇所が多かった
ので更に追加するのはやりすぎなのでは?
という意見もあり 26
バックエンド-技術の選定理由-

Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
• Nuxt.js(TypeScript)
– 社内アプリでの実績あり(ただしVue+TypeScript)
– 日本で流行っている
– ちょうどVueなどの経験がある人が多々入社してい
た
– SEOを考えるとこの段階ではSSRを使いたかった
27
フロントエンド-技術の選定理由-

Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
• 悩んだところ
– Next(React)とどっちにするか
• デザイナーと一緒に作業するのでjsxを避けた
かった
– Vue3への移行過渡期
• Vue3のcomposition apiで社内アプリで利用実績
あり
• ただし、class componentは利用しない方針に
28
フロントエンド-技術の選定理由-

Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
29
アプリケーション構成

Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
30
No 内容
1 サービス紹介
2 アプリケーション構成
3 ECS Fargateを使いこなすまで
4 まとめ
Creatiaのインフラを支える技術について

Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
ECS Fargateを
使いこなすまで
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
Creatiaでは虎の穴ラボで開発するサービスとしては初め
てECS(Elastic Container Service)を採用しました。
ECSとは
クラスターでコンテナを簡単に実行、停止、管理できる非常にスケーラブルで
高速なコンテナ管理サービスです。
AWS公式から引用
ECS Fargateを使いこなすまで

32
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
• 社内でDockerは調査や個人レベルでの使用はあっ
たがプロジェクトとしての使用はしていなかった。
• Kubernetes系なども検討したが(当時は)Dockerに
明るいメンバーが多いわけではないので学習コスト
の低いと言われるECS Fargateを採用した。
ECS採用経緯

33
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
• 構築が必ずコードになるので再構築が容易
• すぐに環境を作れるし、すぐに消せる
• 他仮想化技術にくらべて起動が早い
• 複数環境建てられるのでプロジェクトごとに別バー
ジョンの環境を維持できる
なぜDockerなのか

34
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
Creatiaシステム構成(簡易版)

35
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
詳
細
版

36
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
• ECS以外
• コンテナの配置方法の検討
• ECSを動かす
• ECSサービスの設定
目次

37
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
• ECS以外
• コンテナの配置方法の検討
• ECSを動かす
• ECSサービスの設定
目次

38
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
ECS以外のAWS知識が必要
• 私自身AWSを使ったことがあまりなかったので基本的な部
分を覚えるところが大変でした。
– VPCやサブネットすらわからなかったのでそこを理解す
るところから勉強しました。
• 普通にEC2やALB立てたことがある人ならおそらく問題ない
と思います
ECS以外

39
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
ブログ見てね!
本番で使えるFargate環境構築
https://toranoana-lab.hatenablog.com/entry/2020/12/07/000000
※細かいところは違いますがだいたいこんな感じで
作ってます。
Creatia基盤の作り方

40
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
データベースはAmazon Aurora(MySQL互換)を使用
• 3つのプライベートサブネット(それぞれ別々のAZ)使用
• ReadDBはAutoScaleするように設定
ECS以外

41
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
RedisはElastiCache
• 3つのプライベートサブネット(それぞれ別々のAZ)使用
• AutoScale的なものはなさそうなので
高めのスペックに
ECS以外

42
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
その他諸々設定
ECS以外

43
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
• ECS以外
• コンテナの配置方法の検討
• ECSを動かす
• ECSサービスの設定
目次

44
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
ECSタスクは複数のコンテナを起動させることができます。
複数のコンテナを扱うことを考える場合、どのように配置するか検討す
る必要があります。
コンテナ配置方法検討

45
ECSタスク1 ECSタスク2
ECSタスク3
コンテナA
コンテナB
コンテナC
コンテナA
コンテナB コンテナC
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
コンテナを配置する1つの大きな基準はスケールさせたい組み合わせ
にすることです。
ECSタスク3
ECSタスク2
ECSタスク2
ECSタスク1
コンテナ配置方法検討

46
ECSタスク1 ECSタスク2
ECSタスク3
コンテナA
コンテナB
コンテナC
コンテナA
コンテナB コンテナC
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
ECSタスク3
ECSタスク1
ECSタスク3
ECSタスク2
ECSタスク1
コンテナ配置方法検討

47
ECSタスク1
ECSタスク2
ECSタスク3
コンテナA
コンテナB コンテナC
コンテナA
コンテナB コンテナC
コンテナAは全然余裕・・・
だけど1つのタスクで実行すると
全体をスケールアウトせざるを得ない
タスクが別れていれば必要な部分だけスケー
ルアウト可能
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
コンテナ配置方法検討

48
Frontタスク Backタスク
Front Web
Job タスク
Front App
Back Web
Back App
Back App
Creatiaではこの様に配置することにしました
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
コンテナ配置方法検討

49
A
注意:
コンテナ配置方法によりコンテナ間でホストを指定する方法が違います。
B
同一タスクのコンテナには
localhostが使えます。
C
localhost:3000
localhost:8080
A
C
task3.example:3000 task3.example:8080
B
別タスクの場合はサービス検出設定を
することでRoute53での名前解決がで
きます。
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
Backタスク
コンテナ配置方法検討

50
Back Web Back App
同一タスク内の通信には両方のコンテナにマウントした
Volumeを経由したソケット
通信も可能です。
Volume
/var/app/tmp
# puma.rb
bind "unix:///var/app/tmp/sockets/puma.sock"
# default.fonf
upstream app {
server unix:///var/app/tmp/sockets/puma.sock;
}
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
Backタスク
余談: Fargateのバージョンが変わったら
コンテナが起動しない!

51
Back Web Back App
余談ですが、この方式をとったことで
Fargate1.3から1.4にバージョンが上がった時
にコンテナが起動しなくなることがありました。
Volume
/var/app/tmp
# puma.rb
bind "unix:///var/app/tmp/sockets/puma.sock"
# default.fonf
upstream app {
server unix:///var/app/tmp/sockets/puma.sock;
}
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
余談: Fargateのバージョンが変わったら
コンテナが起動しない!

52
問題点は2つ
1つはプラットフォームのバージョンを「
LATEST」にしていたこと。
作成時はバージョン1.3がデフォルトだったのですが、ある時からバージョン
1.4がデ
フォルトになりました。
突然バージョンが変わってしまわないように
バージョンは明示したほうがいいです。
バージョンの設定は
ECSサービスの更新から変更可能です。
「LATEST」にしていても動いているタスクが
いきなり1.4に変わることはなく、
次にデプロイした時にバージョンが変わります。
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
余談: Fargateのバージョンが変わったら
コンテナが起動しない!

53
問題点は2つ
もう1つはプラットフォームのこのバージョンアップ固有の問題です。
バージョン1.3ではDockerfile内にVOLUMEディレクティブを指定しなくても
マウント時にファイルがコピーされていましたが、これは仕様上間違いらしく、バー
ジョン1.4では正しい仕様になったようです。
Dockerfile内でマウントしようとしている
パスをVOLUMEディレクティブで
指定することで解決しました。
# Dockerfile
VOLUME [“/var/app/tmp”, “/var/app/dist”]
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
• ECS以外
• コンテナの配置方法の検討
• ECSを動かす
• ECSサービスの設定
目次

54
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
クラスター、タスク定義、サービスなどの設定をし、
早速動かしていきます。
ECSを動かす

55
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
ECSを動かす

56
!!
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
前のタスクが停止しても自動的に新しいタスクが起動します
ECSを動かす

57
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
ECSを動かす

58
😇 ECS使い始めあるあるだと思います
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
• ECSタスクが落ちる理由(経験則)
– CloudWatchのロググループがない
– コンテナ起動に失敗
– ヘルスチェックに失敗している
ECSを動かす

59
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
CloudWatchのロググループがない
新しいタスク定義を作った時にやりがち
CloudWatchに予め作っておくか、タスク定義で自動作成オプションを
有効にします。
ECSを動かす

60
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
コンテナ起動に失敗
これは理由がいろいろありすぎるのでタスクのログを見て原因を探るしかあり
ません。
ECSを動かす

61
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
ヘルスチェックに失敗している
確認するポイントは
• コンテナのポート
• ターゲットグループのヘルスチェックパス
です
ECSを動かす

62
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
ECSのヘルスチェック
アプリケーション死活監視のためのヘルスチェックは、データベースまで接続で
きるようなパスを用意して使用することが多いと思います。
しかし、ECS用のヘルスチェックは死活監視用のものとは別に用意し、データ
ベース含めたコンテナ外部要因でエラーにならないパスを用意した方がいい場
合もあります。
ECSを動かす

63
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
ECSのヘルスチェック
DBまで接続するヘルスチェックだとDBが接続不可になるとECSのタスクがす
べて停止してしまい、LBからエラーを返すしかなくなります
ECSを動かす

64
ECSサービス
LB
DB
ECSタスク ECSタスク
503
※DBが接続不可になった場合、LBからSorryページを返す設定にしていればこれはありだと思います。
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
ECSのヘルスチェック
コンテナさえ起動していれば成功するヘルスチェックだとECSタスクまでは停止
せず、ECS内のアプリでエラー内容を返すことができます。
ECSを動かす

65
ECSサービス
LB
DB
ECSタスク ECSタスク
エラー内容
※DBが復帰した時に接続も復帰できるアプリの作りである必要はあります。
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
• ECS以外
• コンテナの配置方法の検討
• ECSを動かす
• ECSサービスの設定
目次

66
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
各種構築が終わり無事にシステムを稼働させることができました。
しかし、後から設定変更が必要になることがありました。
• タスク数を変えたい
• オートスケール設定を変えたい
• セキュリティグループやサブネットを変えたい
など
ECSサービスの設定変更

67
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
ECSサービスは作った後に変えられる設定と変えられない設定があり
ます。
変えられない設定はこんなものがあります。
• デプロイメントタイプ
(ローリングアップデートorBlue/Greenデプロイメント)
• VPC、サブネット、セキュリティグループ
• ロードバランサの設定
• サービス検出設定(Route53による名前解決)
ECSサービスの設定変更

68
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
• タスク数を変えたい
– できる
• オートスケール設定を変えたい
– できる
• セキュリティグループやサブネットを変えたい
– できない・・・
ECSサービスの設定変更

69
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
ECSサービスを作った後に設定に更新できない場合はECS
サービス自体を作り直す必要があります。
しかし、エンドユーザー向けに公開してしまっているシステム
だと停止させたくないものです・・・
ECSサービスの設定変更

70
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
システムを停止せずにECSサービスを作り直す!
わりとシンプルな方法でできたのでご紹介します
ECSサービスの設定変更

71
サービスA
LB
ECSタスク ECSタスク
ターゲット
グループ
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
ECSサービスの設定変更

72
サービスA
LB
ECSタスク ECSタスク
ターゲット
グループ
設定を変えた新しい ECSサービ
ス(サービスB)を作成します。
このとき、既存のECSサービス
(サービスA)が紐付いているター
ゲットグループと紐付けます。
サービスB
サブネット
セキュリティグ
ループ変更
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
ECSサービスの設定変更

73
サービスA
LB
ECSタスク ECSタスク
ターゲット
グループ
サービスBのタスクが起動してく
るまで待ちます。
サービスBのタスク側のログを確
認しアクセスが来ているか確認
します。
サービスB
ECSタスク ECSタスク
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
ECSサービスの設定変更

74
サービスA
LB
ターゲット
グループ
サービスBのタスクにアクセスが
来ているのを確認したら、サー
ビスAのタスク数を0にします。
サービスB
ECSタスク ECSタスク
タスク数0に
更新
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
ECSサービスの設定変更

75
LB
ターゲット
グループ
サービスAのタスクが0になって
もシステムが正常動作している
のが確認できたらサービス Aを
削除します。
サービスB
ECSタスク ECSタスク
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
ECSサービスの設定変更

76
サービスA
LB
ターゲット
グループ
元のサービス名にしたい場合は
同じ要領でもう一度ECSサービ
スを作り直し・削除を行います。
サービスB
ECSタスク ECSタスク
サービスBと同じ設
定で作り直す
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
77
No 内容
1 サービス紹介
2 アプリケーション構成
3 ECS Fargateを使いこなすまで
4 まとめ
Creatiaのインフラを支える技術について

Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
まとめ
Copyright (C) 2021 クリエイティア株式会社All Right Reserved.
• ECS以外のAWSの基礎知識は必要になる。
• コンテナの配置次第で構成が変わる。スケールさせたい組み合わ
せで考える。
• ECSのヘルスチェックはアプリケーション死活監視に使うものと別
にした方がいい。
• 公開しているシステムを停止せずに設定変更する方法は一応あ
る。
• Fargateを使いこなせるようになるには試行錯誤が必要。
まとめ

79

Más contenido relacionado

La actualidad más candente

Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうRyuji Tsutsui
 
Amazon SageMaker 推論エンドポイントを利用したアプリケーション開発
Amazon SageMaker 推論エンドポイントを利用したアプリケーション開発Amazon SageMaker 推論エンドポイントを利用したアプリケーション開発
Amazon SageMaker 推論エンドポイントを利用したアプリケーション開発Amazon Web Services Japan
 
20191112 AWS Black Belt Online Seminar AWS Media Services で始めるライブ動画配信
20191112 AWS Black Belt Online Seminar AWS Media Services で始めるライブ動画配信20191112 AWS Black Belt Online Seminar AWS Media Services で始めるライブ動画配信
20191112 AWS Black Belt Online Seminar AWS Media Services で始めるライブ動画配信Amazon Web Services Japan
 
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep diveAmazon Web Services Japan
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)NTT DATA Technology & Innovation
 
Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説貴仁 大和屋
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことAmazon Web Services Japan
 
20190731 Black Belt Online Seminar Amazon ECS Deep Dive
20190731 Black Belt Online Seminar Amazon ECS Deep Dive20190731 Black Belt Online Seminar Amazon ECS Deep Dive
20190731 Black Belt Online Seminar Amazon ECS Deep DiveAmazon Web Services Japan
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!mosa siru
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドAkihiro Suda
 
Machine learning CI/CD with OSS
Machine learning CI/CD with OSSMachine learning CI/CD with OSS
Machine learning CI/CD with OSSyusuke shibui
 
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)Amazon Web Services Japan
 
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...Preferred Networks
 
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Web Services Japan
 
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)NTT DATA Technology & Innovation
 
AWSではじめるMLOps
AWSではじめるMLOpsAWSではじめるMLOps
AWSではじめるMLOpsMariOhbuchi
 
20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS GlueAmazon Web Services Japan
 
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善Ito Takayuki
 

La actualidad más candente (20)

Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
 
Amazon SageMaker 推論エンドポイントを利用したアプリケーション開発
Amazon SageMaker 推論エンドポイントを利用したアプリケーション開発Amazon SageMaker 推論エンドポイントを利用したアプリケーション開発
Amazon SageMaker 推論エンドポイントを利用したアプリケーション開発
 
20191112 AWS Black Belt Online Seminar AWS Media Services で始めるライブ動画配信
20191112 AWS Black Belt Online Seminar AWS Media Services で始めるライブ動画配信20191112 AWS Black Belt Online Seminar AWS Media Services で始めるライブ動画配信
20191112 AWS Black Belt Online Seminar AWS Media Services で始めるライブ動画配信
 
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
 
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
 
Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 
20190731 Black Belt Online Seminar Amazon ECS Deep Dive
20190731 Black Belt Online Seminar Amazon ECS Deep Dive20190731 Black Belt Online Seminar Amazon ECS Deep Dive
20190731 Black Belt Online Seminar Amazon ECS Deep Dive
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
 
Machine learning CI/CD with OSS
Machine learning CI/CD with OSSMachine learning CI/CD with OSS
Machine learning CI/CD with OSS
 
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
 
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
 
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
 
NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話
 
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
 
AWSではじめるMLOps
AWSではじめるMLOpsAWSではじめるMLOps
AWSではじめるMLOps
 
20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue
 
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
 

Similar a Fargateを使いこなす!creatiaのインフラを支える技術について

kubernetes-meetup-tokyo-20210624-kubevirt
kubernetes-meetup-tokyo-20210624-kubevirtkubernetes-meetup-tokyo-20210624-kubevirt
kubernetes-meetup-tokyo-20210624-kubevirtYukinori Sagara
 
Expert Tips for Successful Kubernetes Deployment - AWS Summit Sydney 2018
Expert Tips for Successful Kubernetes Deployment - AWS Summit Sydney 2018Expert Tips for Successful Kubernetes Deployment - AWS Summit Sydney 2018
Expert Tips for Successful Kubernetes Deployment - AWS Summit Sydney 2018Amazon Web Services
 
Expert Tips for Successful Kubernetes Deployment on AWS
Expert Tips for Successful Kubernetes Deployment on AWSExpert Tips for Successful Kubernetes Deployment on AWS
Expert Tips for Successful Kubernetes Deployment on AWSAmazon Web Services
 
Amazon Container Services
Amazon Container ServicesAmazon Container Services
Amazon Container ServicesRichard Harvey
 
Expert Tips for Successful Kubernetes Deployments on AWS
Expert Tips for Successful Kubernetes Deployments on AWSExpert Tips for Successful Kubernetes Deployments on AWS
Expert Tips for Successful Kubernetes Deployments on AWSAmazon Web Services
 
Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS Summit
Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS SummitRun Kubernetes with Amazon EKS - SRV318 - Chicago AWS Summit
Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS SummitAmazon Web Services
 
Mastering Kubernetes on AWS (CON301-R1) - AWS re:Invent 2018
Mastering Kubernetes on AWS (CON301-R1) - AWS re:Invent 2018Mastering Kubernetes on AWS (CON301-R1) - AWS re:Invent 2018
Mastering Kubernetes on AWS (CON301-R1) - AWS re:Invent 2018Amazon Web Services
 
Supply chain security - Develop quickly without inviting The Nefarious.pptx
Supply chain security - Develop quickly without inviting The Nefarious.pptxSupply chain security - Develop quickly without inviting The Nefarious.pptx
Supply chain security - Develop quickly without inviting The Nefarious.pptxIvanMilchev1
 
Overpowered Kubernetes: CI/CD for K8s on Enterprise IaaS
Overpowered Kubernetes: CI/CD for K8s on Enterprise IaaSOverpowered Kubernetes: CI/CD for K8s on Enterprise IaaS
Overpowered Kubernetes: CI/CD for K8s on Enterprise IaaSJ On The Beach
 
The Role of Standards in IoT Security
The Role of Standards in IoT SecurityThe Role of Standards in IoT Security
The Role of Standards in IoT SecurityHannes Tschofenig
 
AWS Startup Day Kyiv: Container services on AWS. Comparing Amazon ECS, AWS Fa...
AWS Startup Day Kyiv: Container services on AWS. Comparing Amazon ECS, AWS Fa...AWS Startup Day Kyiv: Container services on AWS. Comparing Amazon ECS, AWS Fa...
AWS Startup Day Kyiv: Container services on AWS. Comparing Amazon ECS, AWS Fa...Amazon Web Services
 
SRV318 Running Kubernetes with Amazon EKS
SRV318 Running Kubernetes with Amazon EKSSRV318 Running Kubernetes with Amazon EKS
SRV318 Running Kubernetes with Amazon EKSAmazon Web Services
 
Basics of Kubernetes on BOSH: Run Production-grade Kubernetes on the SDDC
Basics of Kubernetes on BOSH: Run Production-grade Kubernetes on the SDDCBasics of Kubernetes on BOSH: Run Production-grade Kubernetes on the SDDC
Basics of Kubernetes on BOSH: Run Production-grade Kubernetes on the SDDCMatt McNeeney
 
Hive on mesos Strata
Hive on mesos StrataHive on mesos Strata
Hive on mesos StrataSzehon Ho
 
Deep Dive into Amazon EKS - CON409 - re:Invent 2017
Deep Dive into Amazon EKS - CON409 - re:Invent 2017Deep Dive into Amazon EKS - CON409 - re:Invent 2017
Deep Dive into Amazon EKS - CON409 - re:Invent 2017Amazon Web Services
 
Running Kubernetes on AWS - AWS Online Tech Talks
Running Kubernetes on AWS - AWS Online Tech TalksRunning Kubernetes on AWS - AWS Online Tech Talks
Running Kubernetes on AWS - AWS Online Tech TalksAmazon Web Services
 
Amazon Container Services - Let me count the ways
Amazon Container Services - Let me count the waysAmazon Container Services - Let me count the ways
Amazon Container Services - Let me count the waysRichard Harvey
 

Similar a Fargateを使いこなす!creatiaのインフラを支える技術について (20)

kubernetes-meetup-tokyo-20210624-kubevirt
kubernetes-meetup-tokyo-20210624-kubevirtkubernetes-meetup-tokyo-20210624-kubevirt
kubernetes-meetup-tokyo-20210624-kubevirt
 
Expert Tips for Successful Kubernetes Deployment - AWS Summit Sydney 2018
Expert Tips for Successful Kubernetes Deployment - AWS Summit Sydney 2018Expert Tips for Successful Kubernetes Deployment - AWS Summit Sydney 2018
Expert Tips for Successful Kubernetes Deployment - AWS Summit Sydney 2018
 
Expert Tips for Successful Kubernetes Deployment on AWS
Expert Tips for Successful Kubernetes Deployment on AWSExpert Tips for Successful Kubernetes Deployment on AWS
Expert Tips for Successful Kubernetes Deployment on AWS
 
Amazon Container Services
Amazon Container ServicesAmazon Container Services
Amazon Container Services
 
Expert Tips for Successful Kubernetes Deployments on AWS
Expert Tips for Successful Kubernetes Deployments on AWSExpert Tips for Successful Kubernetes Deployments on AWS
Expert Tips for Successful Kubernetes Deployments on AWS
 
Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS Summit
Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS SummitRun Kubernetes with Amazon EKS - SRV318 - Chicago AWS Summit
Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS Summit
 
Mastering Kubernetes on AWS (CON301-R1) - AWS re:Invent 2018
Mastering Kubernetes on AWS (CON301-R1) - AWS re:Invent 2018Mastering Kubernetes on AWS (CON301-R1) - AWS re:Invent 2018
Mastering Kubernetes on AWS (CON301-R1) - AWS re:Invent 2018
 
Introducing CQ 5.1
Introducing CQ 5.1Introducing CQ 5.1
Introducing CQ 5.1
 
Supply chain security - Develop quickly without inviting The Nefarious.pptx
Supply chain security - Develop quickly without inviting The Nefarious.pptxSupply chain security - Develop quickly without inviting The Nefarious.pptx
Supply chain security - Develop quickly without inviting The Nefarious.pptx
 
Overpowered Kubernetes: CI/CD for K8s on Enterprise IaaS
Overpowered Kubernetes: CI/CD for K8s on Enterprise IaaSOverpowered Kubernetes: CI/CD for K8s on Enterprise IaaS
Overpowered Kubernetes: CI/CD for K8s on Enterprise IaaS
 
The Role of Standards in IoT Security
The Role of Standards in IoT SecurityThe Role of Standards in IoT Security
The Role of Standards in IoT Security
 
AWS Startup Day Kyiv: Container services on AWS. Comparing Amazon ECS, AWS Fa...
AWS Startup Day Kyiv: Container services on AWS. Comparing Amazon ECS, AWS Fa...AWS Startup Day Kyiv: Container services on AWS. Comparing Amazon ECS, AWS Fa...
AWS Startup Day Kyiv: Container services on AWS. Comparing Amazon ECS, AWS Fa...
 
AWS Container services
AWS Container servicesAWS Container services
AWS Container services
 
SRV318 Running Kubernetes with Amazon EKS
SRV318 Running Kubernetes with Amazon EKSSRV318 Running Kubernetes with Amazon EKS
SRV318 Running Kubernetes with Amazon EKS
 
Basics of Kubernetes on BOSH: Run Production-grade Kubernetes on the SDDC
Basics of Kubernetes on BOSH: Run Production-grade Kubernetes on the SDDCBasics of Kubernetes on BOSH: Run Production-grade Kubernetes on the SDDC
Basics of Kubernetes on BOSH: Run Production-grade Kubernetes on the SDDC
 
Hive on mesos Strata
Hive on mesos StrataHive on mesos Strata
Hive on mesos Strata
 
Introducing AWS Fargate
Introducing AWS FargateIntroducing AWS Fargate
Introducing AWS Fargate
 
Deep Dive into Amazon EKS - CON409 - re:Invent 2017
Deep Dive into Amazon EKS - CON409 - re:Invent 2017Deep Dive into Amazon EKS - CON409 - re:Invent 2017
Deep Dive into Amazon EKS - CON409 - re:Invent 2017
 
Running Kubernetes on AWS - AWS Online Tech Talks
Running Kubernetes on AWS - AWS Online Tech TalksRunning Kubernetes on AWS - AWS Online Tech Talks
Running Kubernetes on AWS - AWS Online Tech Talks
 
Amazon Container Services - Let me count the ways
Amazon Container Services - Let me count the waysAmazon Container Services - Let me count the ways
Amazon Container Services - Let me count the ways
 

Más de 虎の穴 開発室

Railsのデバッグ どうやるかを改めて確認する
Railsのデバッグ どうやるかを改めて確認するRailsのデバッグ どうやるかを改めて確認する
Railsのデバッグ どうやるかを改めて確認する虎の穴 開発室
 
虎の穴ラボ エンジニア採用説明資料 .pdf
虎の穴ラボ エンジニア採用説明資料 .pdf虎の穴ラボ エンジニア採用説明資料 .pdf
虎の穴ラボ エンジニア採用説明資料 .pdf虎の穴 開発室
 
Deno Deployと組み合わせるのに Upstashをおすすめしたい.pdf
Deno Deployと組み合わせるのに Upstashをおすすめしたい.pdfDeno Deployと組み合わせるのに Upstashをおすすめしたい.pdf
Deno Deployと組み合わせるのに Upstashをおすすめしたい.pdf虎の穴 開発室
 
toranoana.deno #6 アジェンダ 採用説明
toranoana.deno #6 アジェンダ 採用説明toranoana.deno #6 アジェンダ 採用説明
toranoana.deno #6 アジェンダ 採用説明虎の穴 開発室
 
Deno 向け WEB 開発用のツールを作ったので 紹介します
Deno 向け WEB 開発用のツールを作ったので 紹介しますDeno 向け WEB 開発用のツールを作ったので 紹介します
Deno 向け WEB 開発用のツールを作ったので 紹介します虎の穴 開発室
 
Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –
Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –
Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –虎の穴 開発室
 
【エンジニアの勉強法ハックLT- vol.7】ゲームから学んだ勉強のこと
【エンジニアの勉強法ハックLT- vol.7】ゲームから学んだ勉強のこと【エンジニアの勉強法ハックLT- vol.7】ゲームから学んだ勉強のこと
【エンジニアの勉強法ハックLT- vol.7】ゲームから学んだ勉強のこと虎の穴 開発室
 
通販開発部の西田さん「通販開発マネジメントの5ルール」
通販開発部の西田さん「通販開発マネジメントの5ルール」通販開発部の西田さん「通販開発マネジメントの5ルール」
通販開発部の西田さん「通販開発マネジメントの5ルール」虎の穴 開発室
 
社内DX推進!非エンジニア向けにプログラミング講座を実施してみた!
社内DX推進!非エンジニア向けにプログラミング講座を実施してみた!社内DX推進!非エンジニア向けにプログラミング講座を実施してみた!
社内DX推進!非エンジニア向けにプログラミング講座を実施してみた!虎の穴 開発室
 
セキュリティを強化しよう!CloudArmorの機能解説
セキュリティを強化しよう!CloudArmorの機能解説セキュリティを強化しよう!CloudArmorの機能解説
セキュリティを強化しよう!CloudArmorの機能解説虎の穴 開発室
 
JavaScript LT会 〜 React.js Node.js歓迎 〜 Deno で やってみるweb開発
JavaScript LT会 〜 React.js   Node.js歓迎 〜 Deno で やってみるweb開発JavaScript LT会 〜 React.js   Node.js歓迎 〜 Deno で やってみるweb開発
JavaScript LT会 〜 React.js Node.js歓迎 〜 Deno で やってみるweb開発虎の穴 開発室
 
Amplify Studioを使ってみた
Amplify Studioを使ってみたAmplify Studioを使ってみた
Amplify Studioを使ってみた虎の穴 開発室
 
いいテスト会 (スプリントレビュー) をやろう!
いいテスト会 (スプリントレビュー) をやろう!いいテスト会 (スプリントレビュー) をやろう!
いいテスト会 (スプリントレビュー) をやろう!虎の穴 開発室
 
【Saitama.js】Denoのすすめ
【Saitama.js】Denoのすすめ【Saitama.js】Denoのすすめ
【Saitama.js】Denoのすすめ虎の穴 開発室
 
虎の穴ラボ Tech day#3 チームで戦う!とらのあな通販冬の大感謝祭でのフロント開発について
虎の穴ラボ Tech day#3 チームで戦う!とらのあな通販冬の大感謝祭でのフロント開発について虎の穴ラボ Tech day#3 チームで戦う!とらのあな通販冬の大感謝祭でのフロント開発について
虎の穴ラボ Tech day#3 チームで戦う!とらのあな通販冬の大感謝祭でのフロント開発について虎の穴 開発室
 
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜	【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜 虎の穴 開発室
 
虎の穴ラボ TechDay#3 フルリモート率100%!リモートワークを可能にするマネージメント
虎の穴ラボ TechDay#3 フルリモート率100%!リモートワークを可能にするマネージメント 虎の穴ラボ TechDay#3 フルリモート率100%!リモートワークを可能にするマネージメント
虎の穴ラボ TechDay#3 フルリモート率100%!リモートワークを可能にするマネージメント 虎の穴 開発室
 

Más de 虎の穴 開発室 (20)

FizzBuzzで学ぶJavaの進化
FizzBuzzで学ぶJavaの進化FizzBuzzで学ぶJavaの進化
FizzBuzzで学ぶJavaの進化
 
Railsのデバッグ どうやるかを改めて確認する
Railsのデバッグ どうやるかを改めて確認するRailsのデバッグ どうやるかを改めて確認する
Railsのデバッグ どうやるかを改めて確認する
 
虎の穴ラボ エンジニア採用説明資料 .pdf
虎の穴ラボ エンジニア採用説明資料 .pdf虎の穴ラボ エンジニア採用説明資料 .pdf
虎の穴ラボ エンジニア採用説明資料 .pdf
 
Deno Deployと組み合わせるのに Upstashをおすすめしたい.pdf
Deno Deployと組み合わせるのに Upstashをおすすめしたい.pdfDeno Deployと組み合わせるのに Upstashをおすすめしたい.pdf
Deno Deployと組み合わせるのに Upstashをおすすめしたい.pdf
 
toranoana.deno #6 アジェンダ 採用説明
toranoana.deno #6 アジェンダ 採用説明toranoana.deno #6 アジェンダ 採用説明
toranoana.deno #6 アジェンダ 採用説明
 
Deno 向け WEB 開発用のツールを作ったので 紹介します
Deno 向け WEB 開発用のツールを作ったので 紹介しますDeno 向け WEB 開発用のツールを作ったので 紹介します
Deno 向け WEB 開発用のツールを作ったので 紹介します
 
Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –
Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –
Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –
 
GCPの画像認識APIの紹介
GCPの画像認識APIの紹介 GCPの画像認識APIの紹介
GCPの画像認識APIの紹介
 
【エンジニアの勉強法ハックLT- vol.7】ゲームから学んだ勉強のこと
【エンジニアの勉強法ハックLT- vol.7】ゲームから学んだ勉強のこと【エンジニアの勉強法ハックLT- vol.7】ゲームから学んだ勉強のこと
【エンジニアの勉強法ハックLT- vol.7】ゲームから学んだ勉強のこと
 
GitHub APIとfreshで遊ぼう
GitHub APIとfreshで遊ぼうGitHub APIとfreshで遊ぼう
GitHub APIとfreshで遊ぼう
 
通販開発部の西田さん「通販開発マネジメントの5ルール」
通販開発部の西田さん「通販開発マネジメントの5ルール」通販開発部の西田さん「通販開発マネジメントの5ルール」
通販開発部の西田さん「通販開発マネジメントの5ルール」
 
社内DX推進!非エンジニア向けにプログラミング講座を実施してみた!
社内DX推進!非エンジニア向けにプログラミング講座を実施してみた!社内DX推進!非エンジニア向けにプログラミング講座を実施してみた!
社内DX推進!非エンジニア向けにプログラミング講座を実施してみた!
 
セキュリティを強化しよう!CloudArmorの機能解説
セキュリティを強化しよう!CloudArmorの機能解説セキュリティを強化しよう!CloudArmorの機能解説
セキュリティを強化しよう!CloudArmorの機能解説
 
JavaScript LT会 〜 React.js Node.js歓迎 〜 Deno で やってみるweb開発
JavaScript LT会 〜 React.js   Node.js歓迎 〜 Deno で やってみるweb開発JavaScript LT会 〜 React.js   Node.js歓迎 〜 Deno で やってみるweb開発
JavaScript LT会 〜 React.js Node.js歓迎 〜 Deno で やってみるweb開発
 
Amplify Studioを使ってみた
Amplify Studioを使ってみたAmplify Studioを使ってみた
Amplify Studioを使ってみた
 
いいテスト会 (スプリントレビュー) をやろう!
いいテスト会 (スプリントレビュー) をやろう!いいテスト会 (スプリントレビュー) をやろう!
いいテスト会 (スプリントレビュー) をやろう!
 
【Saitama.js】Denoのすすめ
【Saitama.js】Denoのすすめ【Saitama.js】Denoのすすめ
【Saitama.js】Denoのすすめ
 
虎の穴ラボ Tech day#3 チームで戦う!とらのあな通販冬の大感謝祭でのフロント開発について
虎の穴ラボ Tech day#3 チームで戦う!とらのあな通販冬の大感謝祭でのフロント開発について虎の穴ラボ Tech day#3 チームで戦う!とらのあな通販冬の大感謝祭でのフロント開発について
虎の穴ラボ Tech day#3 チームで戦う!とらのあな通販冬の大感謝祭でのフロント開発について
 
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜	【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
 
虎の穴ラボ TechDay#3 フルリモート率100%!リモートワークを可能にするマネージメント
虎の穴ラボ TechDay#3 フルリモート率100%!リモートワークを可能にするマネージメント 虎の穴ラボ TechDay#3 フルリモート率100%!リモートワークを可能にするマネージメント
虎の穴ラボ TechDay#3 フルリモート率100%!リモートワークを可能にするマネージメント
 

Último

Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
An introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptxAn introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptxPurva Nikam
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .Satyam Kumar
 
Comparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization TechniquesComparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization Techniquesugginaramesh
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
computer application and construction management
computer application and construction managementcomputer application and construction management
computer application and construction managementMariconPadriquez1
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfme23b1001
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 

Último (20)

Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
An introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptxAn introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptx
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .
 
Comparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization TechniquesComparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization Techniques
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
computer application and construction management
computer application and construction managementcomputer application and construction management
computer application and construction management
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 

Fargateを使いこなす!creatiaのインフラを支える技術について

  • 1. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. Fargateを使いこなす! Creatiaのインフラを 支える技術について
  • 2. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. 自己紹介
 2 本業: ねこ様の奴隷 副業: 虎の穴ラボのエンジニア 服部 和哉(はっとり かずや) 2020年8月入社 趣味は某アーケードカードゲーム 最近泣いたアニメ ● ヴァイオレット・エヴァーガーデン ● かくしごと ● NOMAD メガロボクス2
  • 3. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. Creatiaのインフラを支える技術について
 3 No 内容 1 サービス紹介 2 アプリケーション構成 3 ECS Fargateを使いこなすまで 4 まとめ
  • 4. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. 4 No 内容 1 サービス紹介 2 アプリケーション構成 3 ECS Fargateを使いこなすまで 4 まとめ Creatiaのインフラを支える技術について

  • 5. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. サービス紹介
  • 6. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. • どんなサービスか? – コンセプト – Fantiaとの違い 目次
 6
  • 7. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. 目次
 7 • どんなサービスか? – コンセプト – Fantiaとの違い
  • 8. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. コンセプト
 8
  • 9. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. コンセプト
 9
  • 10. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. • サービスの仕組み – 有料プラン加入(月額制) • 制限のかかった投稿が見られる – フォロー • 動向がわかる コンセプト
 10
  • 11. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. • 月額制 コンセプト
 11 支援する
  • 12. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. • 最近追加した機能紹介 – 投稿へのチップ • 月額プランに加えてクリエイターを支援できる – ライブ配信 • チケット購入制の生放送 コンセプト
 12
  • 13. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. • どんなサービスか? – コンセプト – Fantiaとの違い 目次
 13
  • 14. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. • オリジナル特化 • R-18表現なし • ランキング不採用 – 創作に集中できるように Fantiaとの違い
 14
  • 15. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. よく聞く声 • 表現に制限があるのって意味ある の?Fantiaでいいじゃん。 • R18表現を否定しているの? Fantiaとの違い
 15
  • 16. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. よく聞く声 • 表現に制限があるのって意味ある の?Fantiaでいいじゃん。 • R18表現を否定しているの? Fantiaとの違い
 16
  • 17. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. • 徹底した棲み分け – R18が無いことで紹介しやすい – オリジナル中心の作品を届けたい Fantiaでは出しづらいと感じていたクリエイターへの選択肢として用意 しています。 Fantiaとの違い
 17
  • 18. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. もちろんFantiaと並行して活動されている方もいます。 • 普段とは違う作風の作品を上げる。 • メイキングや考えていることを上げる。 クリエイターの新たな一面が見られることも Fantiaとの違い
 18
  • 19. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. 内部的なお話もさせていただくと・・・ • Fantiaのノウハウを生かした設計 – 開発者のほとんどはFantia開発もしています。 • FantiaではGCPですがCreatiaではAWSを使用しています Fantiaとの違い
 19
  • 20. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. 20 No 内容 1 サービス紹介 2 アプリケーション構成 3 ECS Fargateを使いこなすまで 4 まとめ Creatiaのインフラを支える技術について

  • 21. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. 21 アプリケーション構成
  • 22. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. 22 アプリケーション構成

  • 23. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. • フレームワーク:Ruby on Rails • 担当部分 – DB管理(マイグレーション) – セッション管理(ログイン情報など) – DBの情報をAPI出力 – 各種外部サービスとの連携 • Fantiaログイン • 決済関連 • 通知関連 23 バックエンド

  • 24. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. • フレームワーク:Nuxt.js(TypeScript) • 担当部分 – SSRによるHTMLレンダリング • 同時にSEO関連のデータ埋め込み – AjaxでのAPIアクセス • APIアクセス時のプロキシ(@nuxtjs/proxy) 24 フロントエンド

  • 25. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. • Ruby on Rails – 虎の穴ラボでの利用実績が多い – すごく流行ってるとは現状では言い難いが、安定 している – Active Recordはやっぱり使いたい – 実績があるゆえのセキュリティ面の安全性 25 バックエンド-技術の選定理由-

  • 26. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. • 悩んだところ – Go言語の採用 • 若干ながら実績があるが、ラボの経験値的 には薄い • ORM的なもの決定版が無い(様に見えた) • 他に新しいことをやっている箇所が多かった ので更に追加するのはやりすぎなのでは? という意見もあり 26 バックエンド-技術の選定理由-

  • 27. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. • Nuxt.js(TypeScript) – 社内アプリでの実績あり(ただしVue+TypeScript) – 日本で流行っている – ちょうどVueなどの経験がある人が多々入社してい た – SEOを考えるとこの段階ではSSRを使いたかった 27 フロントエンド-技術の選定理由-

  • 28. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. • 悩んだところ – Next(React)とどっちにするか • デザイナーと一緒に作業するのでjsxを避けた かった – Vue3への移行過渡期 • Vue3のcomposition apiで社内アプリで利用実績 あり • ただし、class componentは利用しない方針に 28 フロントエンド-技術の選定理由-

  • 29. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. 29 アプリケーション構成

  • 30. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. 30 No 内容 1 サービス紹介 2 アプリケーション構成 3 ECS Fargateを使いこなすまで 4 まとめ Creatiaのインフラを支える技術について

  • 31. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. ECS Fargateを 使いこなすまで
  • 32. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. Creatiaでは虎の穴ラボで開発するサービスとしては初め てECS(Elastic Container Service)を採用しました。 ECSとは クラスターでコンテナを簡単に実行、停止、管理できる非常にスケーラブルで 高速なコンテナ管理サービスです。 AWS公式から引用 ECS Fargateを使いこなすまで
 32
  • 33. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. • 社内でDockerは調査や個人レベルでの使用はあっ たがプロジェクトとしての使用はしていなかった。 • Kubernetes系なども検討したが(当時は)Dockerに 明るいメンバーが多いわけではないので学習コスト の低いと言われるECS Fargateを採用した。 ECS採用経緯
 33
  • 34. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. • 構築が必ずコードになるので再構築が容易 • すぐに環境を作れるし、すぐに消せる • 他仮想化技術にくらべて起動が早い • 複数環境建てられるのでプロジェクトごとに別バー ジョンの環境を維持できる なぜDockerなのか
 34
  • 35. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. Creatiaシステム構成(簡易版)
 35
  • 36. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. 詳 細 版
 36
  • 37. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. • ECS以外 • コンテナの配置方法の検討 • ECSを動かす • ECSサービスの設定 目次
 37
  • 38. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. • ECS以外 • コンテナの配置方法の検討 • ECSを動かす • ECSサービスの設定 目次
 38
  • 39. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. ECS以外のAWS知識が必要 • 私自身AWSを使ったことがあまりなかったので基本的な部 分を覚えるところが大変でした。 – VPCやサブネットすらわからなかったのでそこを理解す るところから勉強しました。 • 普通にEC2やALB立てたことがある人ならおそらく問題ない と思います ECS以外
 39
  • 40. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. ブログ見てね! 本番で使えるFargate環境構築 https://toranoana-lab.hatenablog.com/entry/2020/12/07/000000 ※細かいところは違いますがだいたいこんな感じで 作ってます。 Creatia基盤の作り方
 40
  • 41. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. データベースはAmazon Aurora(MySQL互換)を使用 • 3つのプライベートサブネット(それぞれ別々のAZ)使用 • ReadDBはAutoScaleするように設定 ECS以外
 41
  • 42. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. RedisはElastiCache • 3つのプライベートサブネット(それぞれ別々のAZ)使用 • AutoScale的なものはなさそうなので 高めのスペックに ECS以外
 42
  • 43. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. その他諸々設定 ECS以外
 43
  • 44. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. • ECS以外 • コンテナの配置方法の検討 • ECSを動かす • ECSサービスの設定 目次
 44
  • 45. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. ECSタスクは複数のコンテナを起動させることができます。 複数のコンテナを扱うことを考える場合、どのように配置するか検討す る必要があります。 コンテナ配置方法検討
 45 ECSタスク1 ECSタスク2 ECSタスク3 コンテナA コンテナB コンテナC コンテナA コンテナB コンテナC
  • 46. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. コンテナを配置する1つの大きな基準はスケールさせたい組み合わせ にすることです。 ECSタスク3 ECSタスク2 ECSタスク2 ECSタスク1 コンテナ配置方法検討
 46 ECSタスク1 ECSタスク2 ECSタスク3 コンテナA コンテナB コンテナC コンテナA コンテナB コンテナC
  • 47. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. ECSタスク3 ECSタスク1 ECSタスク3 ECSタスク2 ECSタスク1 コンテナ配置方法検討
 47 ECSタスク1 ECSタスク2 ECSタスク3 コンテナA コンテナB コンテナC コンテナA コンテナB コンテナC コンテナAは全然余裕・・・ だけど1つのタスクで実行すると 全体をスケールアウトせざるを得ない タスクが別れていれば必要な部分だけスケー ルアウト可能
  • 48. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. コンテナ配置方法検討
 48 Frontタスク Backタスク Front Web Job タスク Front App Back Web Back App Back App Creatiaではこの様に配置することにしました
  • 49. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. コンテナ配置方法検討
 49 A 注意: コンテナ配置方法によりコンテナ間でホストを指定する方法が違います。 B 同一タスクのコンテナには localhostが使えます。 C localhost:3000 localhost:8080 A C task3.example:3000 task3.example:8080 B 別タスクの場合はサービス検出設定を することでRoute53での名前解決がで きます。
  • 50. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. Backタスク コンテナ配置方法検討
 50 Back Web Back App 同一タスク内の通信には両方のコンテナにマウントした Volumeを経由したソケット 通信も可能です。 Volume /var/app/tmp # puma.rb bind "unix:///var/app/tmp/sockets/puma.sock" # default.fonf upstream app { server unix:///var/app/tmp/sockets/puma.sock; }
  • 51. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. Backタスク 余談: Fargateのバージョンが変わったら コンテナが起動しない!
 51 Back Web Back App 余談ですが、この方式をとったことで Fargate1.3から1.4にバージョンが上がった時 にコンテナが起動しなくなることがありました。 Volume /var/app/tmp # puma.rb bind "unix:///var/app/tmp/sockets/puma.sock" # default.fonf upstream app { server unix:///var/app/tmp/sockets/puma.sock; }
  • 52. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. 余談: Fargateのバージョンが変わったら コンテナが起動しない!
 52 問題点は2つ 1つはプラットフォームのバージョンを「 LATEST」にしていたこと。 作成時はバージョン1.3がデフォルトだったのですが、ある時からバージョン 1.4がデ フォルトになりました。 突然バージョンが変わってしまわないように バージョンは明示したほうがいいです。 バージョンの設定は ECSサービスの更新から変更可能です。 「LATEST」にしていても動いているタスクが いきなり1.4に変わることはなく、 次にデプロイした時にバージョンが変わります。
  • 53. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. 余談: Fargateのバージョンが変わったら コンテナが起動しない!
 53 問題点は2つ もう1つはプラットフォームのこのバージョンアップ固有の問題です。 バージョン1.3ではDockerfile内にVOLUMEディレクティブを指定しなくても マウント時にファイルがコピーされていましたが、これは仕様上間違いらしく、バー ジョン1.4では正しい仕様になったようです。 Dockerfile内でマウントしようとしている パスをVOLUMEディレクティブで 指定することで解決しました。 # Dockerfile VOLUME [“/var/app/tmp”, “/var/app/dist”]
  • 54. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. • ECS以外 • コンテナの配置方法の検討 • ECSを動かす • ECSサービスの設定 目次
 54
  • 55. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. クラスター、タスク定義、サービスなどの設定をし、 早速動かしていきます。 ECSを動かす
 55
  • 56. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. ECSを動かす
 56 !!
  • 57. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. 前のタスクが停止しても自動的に新しいタスクが起動します ECSを動かす
 57
  • 58. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. ECSを動かす
 58 😇 ECS使い始めあるあるだと思います
  • 59. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. • ECSタスクが落ちる理由(経験則) – CloudWatchのロググループがない – コンテナ起動に失敗 – ヘルスチェックに失敗している ECSを動かす
 59
  • 60. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. CloudWatchのロググループがない 新しいタスク定義を作った時にやりがち CloudWatchに予め作っておくか、タスク定義で自動作成オプションを 有効にします。 ECSを動かす
 60
  • 61. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. コンテナ起動に失敗 これは理由がいろいろありすぎるのでタスクのログを見て原因を探るしかあり ません。 ECSを動かす
 61
  • 62. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. ヘルスチェックに失敗している 確認するポイントは • コンテナのポート • ターゲットグループのヘルスチェックパス です ECSを動かす
 62
  • 63. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. ECSのヘルスチェック アプリケーション死活監視のためのヘルスチェックは、データベースまで接続で きるようなパスを用意して使用することが多いと思います。 しかし、ECS用のヘルスチェックは死活監視用のものとは別に用意し、データ ベース含めたコンテナ外部要因でエラーにならないパスを用意した方がいい場 合もあります。 ECSを動かす
 63
  • 64. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. ECSのヘルスチェック DBまで接続するヘルスチェックだとDBが接続不可になるとECSのタスクがす べて停止してしまい、LBからエラーを返すしかなくなります ECSを動かす
 64 ECSサービス LB DB ECSタスク ECSタスク 503 ※DBが接続不可になった場合、LBからSorryページを返す設定にしていればこれはありだと思います。
  • 65. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. ECSのヘルスチェック コンテナさえ起動していれば成功するヘルスチェックだとECSタスクまでは停止 せず、ECS内のアプリでエラー内容を返すことができます。 ECSを動かす
 65 ECSサービス LB DB ECSタスク ECSタスク エラー内容 ※DBが復帰した時に接続も復帰できるアプリの作りである必要はあります。
  • 66. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. • ECS以外 • コンテナの配置方法の検討 • ECSを動かす • ECSサービスの設定 目次
 66
  • 67. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. 各種構築が終わり無事にシステムを稼働させることができました。 しかし、後から設定変更が必要になることがありました。 • タスク数を変えたい • オートスケール設定を変えたい • セキュリティグループやサブネットを変えたい など ECSサービスの設定変更
 67
  • 68. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. ECSサービスは作った後に変えられる設定と変えられない設定があり ます。 変えられない設定はこんなものがあります。 • デプロイメントタイプ (ローリングアップデートorBlue/Greenデプロイメント) • VPC、サブネット、セキュリティグループ • ロードバランサの設定 • サービス検出設定(Route53による名前解決) ECSサービスの設定変更
 68
  • 69. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. • タスク数を変えたい – できる • オートスケール設定を変えたい – できる • セキュリティグループやサブネットを変えたい – できない・・・ ECSサービスの設定変更
 69
  • 70. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. ECSサービスを作った後に設定に更新できない場合はECS サービス自体を作り直す必要があります。 しかし、エンドユーザー向けに公開してしまっているシステム だと停止させたくないものです・・・ ECSサービスの設定変更
 70
  • 71. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. システムを停止せずにECSサービスを作り直す! わりとシンプルな方法でできたのでご紹介します ECSサービスの設定変更
 71 サービスA LB ECSタスク ECSタスク ターゲット グループ
  • 72. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. ECSサービスの設定変更
 72 サービスA LB ECSタスク ECSタスク ターゲット グループ 設定を変えた新しい ECSサービ ス(サービスB)を作成します。 このとき、既存のECSサービス (サービスA)が紐付いているター ゲットグループと紐付けます。 サービスB サブネット セキュリティグ ループ変更
  • 73. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. ECSサービスの設定変更
 73 サービスA LB ECSタスク ECSタスク ターゲット グループ サービスBのタスクが起動してく るまで待ちます。 サービスBのタスク側のログを確 認しアクセスが来ているか確認 します。 サービスB ECSタスク ECSタスク
  • 74. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. ECSサービスの設定変更
 74 サービスA LB ターゲット グループ サービスBのタスクにアクセスが 来ているのを確認したら、サー ビスAのタスク数を0にします。 サービスB ECSタスク ECSタスク タスク数0に 更新
  • 75. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. ECSサービスの設定変更
 75 LB ターゲット グループ サービスAのタスクが0になって もシステムが正常動作している のが確認できたらサービス Aを 削除します。 サービスB ECSタスク ECSタスク
  • 76. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. ECSサービスの設定変更
 76 サービスA LB ターゲット グループ 元のサービス名にしたい場合は 同じ要領でもう一度ECSサービ スを作り直し・削除を行います。 サービスB ECSタスク ECSタスク サービスBと同じ設 定で作り直す
  • 77. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. 77 No 内容 1 サービス紹介 2 アプリケーション構成 3 ECS Fargateを使いこなすまで 4 まとめ Creatiaのインフラを支える技術について

  • 78. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. まとめ
  • 79. Copyright (C) 2021 クリエイティア株式会社All Right Reserved. • ECS以外のAWSの基礎知識は必要になる。 • コンテナの配置次第で構成が変わる。スケールさせたい組み合わ せで考える。 • ECSのヘルスチェックはアプリケーション死活監視に使うものと別 にした方がいい。 • 公開しているシステムを停止せずに設定変更する方法は一応あ る。 • Fargateを使いこなせるようになるには試行錯誤が必要。 まとめ
 79