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.9k
コンテナ監視って何見るの?~初心者編~
OpsJAWS Meetup #19でのLT登壇資料です。
kaojiri
July 26, 2021
Tweet
Share
More Decks by kaojiri
See All by kaojiri
Kubernetesモニタリングのベストプラクティス_JAWSDays2021_20210320
kaojiri
0
490
AWS SummitTokyo2019-reCap_20190620
kaojiri
1
57
JAWS-UG_SAITAMA_20190420
kaojiri
1
180
OpsJAWS-JAWSUG-KANAZAWA_20181123
kaojiri
1
240
AWS Systems ManagerとAWS Configのちょっといい話
kaojiri
3
1.2k
組織を意識したAWS構成管理プロセスを考える_20180112
kaojiri
0
570
JAWS Days2017 EXCEL構成管理からの脱却と次世代MSPとDevOps 2.0 by OpsJAWS
kaojiri
0
1.4k
OpsJAWS#7 20160729 SIerにおけるDevOpsの現状 ~terraformを使ったAWS開発~
kaojiri
1
830
OpsJAWS#5 20160420 背伸びをしないAWS構成管理
kaojiri
0
2.5k
Other Decks in Technology
See All in Technology
5分でわかるファストドクターテクノロジーズ
fast_doctor
0
100
ECSコスト削減のブレイクアウトセッションを聴いてきた話 / joining a breakout session on reducing costs with ECS
yayoi_dd
0
140
オブザーバビリティのベストプラクティスと弥生の現状 / best practices for observability and YAYOI’s current state
yayoi_dd
0
170
JAWS-UG 横浜 #54 資料
takakuni
0
220
cdk deployに必要な権限ってなんだ?
kinyok
0
210
あつめたデータをどう扱うか
skrb
2
180
MarvelClient Upgrade 64bit クライアントへの自動アップグレード設定
mitsuru_katoh
0
220
PHPのimmutable arrayとは
hnw
1
180
イ良い日ンマを作る(USBストレージ容量偽装の手法) / USB Storage Capacity Faking Techniques
shutingrz
0
560
NGINXENG JP#2 - 2-NGINXの動作の詳細
hiropo20
1
140
MLOps Workshopでの学びと弥生の研究開発基盤 / takeaways from MLOps workshop and YAYOI's research and development infrastructure
yayoi_dd
0
170
IoTを始めたきっかけの話と個人でできるIoTの今後 / 新年LT会「私の愛するIoT 2023」
you
0
250
Featured
See All Featured
Pencils Down: Stop Designing & Start Developing
hursman
114
10k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
657
120k
The Invisible Customer
myddelton
113
12k
Into the Great Unknown - MozCon
thekraken
2
310
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
217
21k
The Mythical Team-Month
searls
210
40k
Fantastic passwords and where to find them - at NoRuKo
philnash
32
1.9k
Building Your Own Lightsaber
phodgson
96
4.9k
Art, The Web, and Tiny UX
lynnandtonic
284
18k
Fashionably flexible responsive web design (full day workshop)
malarkey
396
63k
Producing Creativity
orderedlist
PRO
335
38k
Making the Leap to Tech Lead
cromwellryan
117
7.7k
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