Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
コンテナ監視って何見るの?~初心者編~
kaojiri
July 26, 2021
Technology
8
4.7k
コンテナ監視って何見るの?~初心者編~
OpsJAWS Meetup #19でのLT登壇資料です。
kaojiri
July 26, 2021
Tweet
Share
More Decks by kaojiri
See All by kaojiri
Kubernetesモニタリングのベストプラクティス_JAWSDays2021_20210320
kaojiri
0
360
AWS SummitTokyo2019-reCap_20190620
kaojiri
1
52
JAWS-UG_SAITAMA_20190420
kaojiri
1
180
OpsJAWS-JAWSUG-KANAZAWA_20181123
kaojiri
1
230
AWS Systems ManagerとAWS Configのちょっといい話
kaojiri
3
960
組織を意識したAWS構成管理プロセスを考える_20180112
kaojiri
0
490
JAWS Days2017 EXCEL構成管理からの脱却と次世代MSPとDevOps 2.0 by OpsJAWS
kaojiri
0
1.3k
OpsJAWS#7 20160729 SIerにおけるDevOpsの現状 ~terraformを使ったAWS開発~
kaojiri
1
750
OpsJAWS#5 20160420 背伸びをしないAWS構成管理
kaojiri
0
2.4k
Other Decks in Technology
See All in Technology
CAMのサービス開発の歴史と共通基盤を使った 開発スタイルへの変遷について
ishikawa_pro
0
110
LINEのData Platform室が実践する大規模分散環境のCapacity Planning
line_developers
PRO
0
720
Stripe Search APIを利用した、LINEとStripeの顧客情報連携/line-dc-202205
stripehideokamoto
0
130
Building smarter apps with machine learning, from magic to reality
picardparis
4
3.1k
1,000万人以上が利用する「家族アルバム みてね」のSRE組織は4年間でどのように作られてきたのか/SRE NEXT 2022
isaoshimizu
6
3.3k
AI Company
shurain
0
490
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
0
600
キャッチアップ Android 13 / Catch up Android 13
yanzm
2
1.2k
Scrum Fest Niigata 2022 開発エンジニアに聞いてみよう!
moritamasami
1
580
E2E自動テスト導入・運用をめぐる先入観と実際に起きたこと / Preconceptions and What Happened with E2E Testing
ak1210
5
1.3k
AWS CLI入門_20220513
suzakiyoshito
0
4k
Spotify物理コントローラーがほしい
miso
0
170
Featured
See All Featured
Unsuck your backbone
ammeep
659
55k
The Brand Is Dead. Long Live the Brand.
mthomps
45
2.7k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
119
28k
Designing for humans not robots
tammielis
241
23k
Why You Should Never Use an ORM
jnunemaker
PRO
47
5.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
268
11k
The Illustrated Children's Guide to Kubernetes
chrisshort
14
35k
Learning to Love Humans: Emotional Interface Design
aarron
261
37k
Large-scale JavaScript Application Architecture
addyosmani
499
110k
Six Lessons from altMBA
skipperchong
14
1.3k
YesSQL, Process and Tooling at Scale
rocio
157
12k
Robots, Beer and Maslow
schacon
152
7.1k
Transcript
コンテナ監視って何見るの? ~初心者編~ Koji Aizawa 2021/07/26 OpsJAWS
Agenda 1. コンテナの課題とオーケストレーションの必要性 2. 監視の基本的な考え方 a. アプローチの仕方 b. コンテナの状態変化を継続的に把握する重要性 3.
まとめ
コンテナって何見ればいいの? コンテナって何を見ればいいの?
1. コンテナの課題とオーケストレーションの必 要性
本番環境では各コンポーネントを 冗長化するのが基本 • コンテナの障害対策 ◦ 複数台のコンテナを起動 ◦ ロードバランサーでアクセス分散 • サーバの障害対策
◦ 各コンテナは別々のサーバで起動 コンテナ単体の課題とオーケストレーションの必要性 出典:『Kubernetes on AWS』(リックテレコム刊 2020年)
コンテナ単体の課題とオーケストレーションの必要性 本番環境では各コンポーネントを 冗長化するのが基本 • コンテナの障害対策 ◦ 複数台のコンテナを起動 ◦ ロードバランサーでアクセス分散 •
サーバの障害対策 ◦ 各コンテナは別々のサーバで起動 コントロールプレーン コンテナ単体の課題とオーケストレーションの必要性 出典:『Kubernetes on AWS』(リックテレコム刊 2020年)
オーケストレーションサービスの構成要素 • コントロールプレーン ノードはどれか、コンテナをどのノード に配置すべきかなどの管理を行うもの • データプレーン コンテナを実行するサーバそのもの AWS Blog(Docker
on AWS)より引用: https://aws.amazon.com/jp/blogs/news/jp-docker-on-aws-container-service-selection-example/
オーケストレーションサービスの構成要素 コントロールプレーン データプレーン コンテナたち
2. 監視の基本的な考え方
監視の基本的な考え方 1/3 • コントロールプレーン ノードはどれか、コンテナをどのノード に配置すべきかなどの管理を行うもの • データプレーン コンテナを実行するサーバそのもの コントロールプレーンの監視
→マネージドなので不要 AWS Blog(Docker on AWS)より引用: https://aws.amazon.com/jp/blogs/news/jp-docker-on-aws-container-service-selection-example/
監視の基本的な考え方 2/3 • コントロールプレーン ノードはどれか、コンテナをどのノード に配置すべきかなどの管理を行うもの • データプレーン コンテナを実行するサーバそのもの コントロールプレーンの監視
→マネージドなので不要 データプレーンの監視 →EC2なので今までと同じ (Fargateなら管理から解放) AWS Blog(Docker on AWS)より引用: https://aws.amazon.com/jp/blogs/news/jp-docker-on-aws-container-service-selection-example/
監視の基本的な考え方 3/3 • コントロールプレーン ノードはどれか、コンテナをどのノード に配置すべきかなどの管理を行うもの • データプレーン コンテナを実行するサーバそのもの コントロールプレーンの監視
→マネージドなので不要 データプレーンの監視 →EC2なので今までと同じ (Fargateなら管理から解放) AWS Blog(Docker on AWS)より引用: https://aws.amazon.com/jp/blogs/news/jp-docker-on-aws-container-service-selection-example/ コンテナの監視 ・EC2ベース(プロセス監視に近い ) ・オーケストレーションならではのコン テナ挙動を捉える
具体例:Amazon ECSのタスク起動フロー 1. タスク定義で指定したキャパシティ(CPU・メモリ)でノードのリソースを 確保 2. コンテナレジストリからイメージをpull 3. コンテナを起動 4.
ヘルスチェック 5. ユーザーからのリクエストを受け付ける Running Pending Task Status
具体例:Amazon ECSのタスク起動フロー 1. タスク定義で指定したキャパシティ(CPU・メモリ)でノードのリソースを 確保 → リソースを確保できない 2. コンテナレジストリからイメージをpull → イメージをPullできない 3.
コンテナを起動 → コンテナを正常に起動できない(起動処理失敗など) 4. ヘルスチェック → ヘルスチェック失敗 5. ユーザーからのリクエストを受け付ける → 高負荷などによるリソース過剰使用など Running Pending Task Status
具体例:この時何が起こるか? いずれもタスクの再作成(問題のタスクは停止され、新しいタスクが作成)が 繰り返される • Pendingから停止した場合は、一定間隔で再試行&試行回数上限あり。 • Runningから停止した場合は、無期限で再作成される ※AWS公式Docより つまり、予期しないタスクの再作成が発生する可能性がある、ということ Amazon EC2時代も、何らかのサーバー異常により
Amazon EC2のTerminate・再作成がないわけ ではないが、コンテナ(=プロセス)の停止・起動の方がよりカジュアルに発生しやすいと言える コンテナの状態変化を”継続的”に把握することが重要
3. まとめ
ああ コンテナ監視のポイント コントロールプレーンの監視 マネージドサービスを使えばノータッチで OK データプレーンの監視 EC2時代と同じ コンテナの監視 EC2時代と同じ + オーケストレーション固有の挙動(状態変化)を継
続的に捉える 本番でコンテナを使うための構成を理解する コンテナ単体の課題とオーケストレーションの必要性を 理解する ※ブログで同内容を公開中: https://blog.newrelic.co.jp/container/container-monitoring-practice/
2021.9.15 ¥ 3,300 (including tax) ついに発売される New Relic の全てを理解できる 330
ページにわたる技術書籍。オブザーバビリティの基本から New Relic One の基本機能、さらには16のオブザーバビリ ティ実装パターンまで含めた、初心者から応用を理解したい上 級者まで対象にした New Relic のパーフェクトガイドブック。 予約受付中 単行本版 & Kindle版 同時発売 CLICK & CHECK IT OUT!
Thank you @kaojiri