Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
initContainerをECSで実現したい.pdf
Search
clouddev-code
November 08, 2025
0
7
initContainerをECSで実現したい.pdf
clouddev-code
November 08, 2025
Tweet
Share
More Decks by clouddev-code
See All by clouddev-code
VPC_Lattice検討したが_採用しなかった話.pptx.pptx.pdf
cloudevcode
0
6
Presentation_-_コンテナイメージ高速化技術.pptx.pdf
cloudevcode
0
9
GitHub_Copilot_AgentでするMCP_Streamable_HTTPまで.pdf
cloudevcode
0
88
EKS_Auto_Mode_Deep_Live.pdf
cloudevcode
0
36
re_invent_2024アップデートで実現可能なアーキテクチャを考える.pdf
cloudevcode
1
290
WebAssembly_workloadをEKSで利用するには.pdf
cloudevcode
0
1.3k
Fluentbit_mulitline_filterについて.pdf
cloudevcode
1
850
ECS EBS integation の概要、ユースケース
cloudevcode
0
870
ELYA-japanese-Llama-2-7bを Rust(WASM)で動かしてみた
cloudevcode
1
630
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
660
Faster Mobile Websites
deanohume
310
31k
Rails Girls Zürich Keynote
gr2m
95
14k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
For a Future-Friendly Web
brad_frost
180
10k
Embracing the Ebb and Flow
colly
88
4.9k
Thoughts on Productivity
jonyablonski
73
4.9k
Bash Introduction
62gerente
615
210k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
970
Agile that works and the tools we love
rasmusluckow
331
21k
Transcript
initContainerをECSで実現 したい 2025.11.07 氏名 : 蛭田聡司
プロフィール Profile 01 Name Soushi Hiruta 02 Work 基盤設計構築 03
Community CommunityBuilder 2025 ( Container Category ) 04 興味 KubeConEU 2023~2026 05 Social X @web_se GitHub clouddev-code
目次 CONTENT 01 initContainerとは initContainerの概要、sidecar containerについて 02 どんなときに使うか。 どういうケースで使うか、制限事項など 03
ECSでつかうには ECSで使う方法について 04 利用しているパターン Cloudwatch Application Signals
initContainerについて ここにはタイトルを補足する内容を記入してください。 01
動的に設定ファイルを更新してアプリを起動させたい アプリ起動設定ファイルを更新してから起動、例を挙げると Dify SSLの初期ファイルをコピーしてからでないとアプリが起動できない、開発とか商用など コンフィグファイルにS3バケット名が埋め込まれているなら環境依存するイメージを開発、ステージ、本番度にイメージを作るなどコンテナのポータビリ ティに反するので、コンフィグファイルは起動時に置換して起動させたい こんなケースありませんか? 分量の多いテキストを入力する際に便利なページです。
設定ファイルをコンテナ起動前に更新する Nginx設定ファイル、istio injectionなどメイン起動前にしておきたいケースがあ る。 initContainerとは メインコンテナ起動前に処理させるコンテナ
コンテナが停止した状態をポーリングしてお く必要があった。 Sidecar container以前 Kubernetes 1.28より前のバージョンではメインコンテナが終了していも、 sidecar が生き続ける問題があった コンテナ間状態通 知
メインコンテナが終了した場合サイドカーコンテナ に通知して終了する仕組みが必要 コンテナ間連携に難 メインコンテナがなんらかで終了して も別コンテナが起動しない 他コンテナがどうなっているかわからず、 Pod が停止しない事象がある
Sidecar Containerで無事コンテナが異常終了して もPodが終了することが可能になった Kubernetes 1.28で対応したSidecar container 写真と一緒に分量の多いテキストを入力する際に便利なページです。
ECSで試したい 02
動的に設定ファイルを更新してアプリを起動させたい デーモン起動していないとECS Taskが終了してしまうので、起動前に設定ファイルがある必要がある ECS Serviceはデーモン起動していないといけない
設定ファイルをコンテナ起動前に更新する Essentail Container、Sidecar containerを含め、なんらかでコンテナが終了した 場合、Taskを終了する。 Init containerについてはEssentail containerにしない。また、app containerより 先に起動する必要があるので、コンテナ間の依存関係を設定しておく必要が
ある。 コンテナがいないと支障がでるFluentbit 、Cloudwatch Agentはessential containerは有効にしておく ファイルのやりとりは揮発性のbind mountを使う サイドカーパターン
タイムアウト 各種タイムアウトの説明 01 ECS_CONTAINER_START_TIMEOUT Fargateの場合、120秒まで設定可能 02 FargateSpot Stop timeout SIGKILL発火のあと停止するまでどのくらい待つか設定する。120秒まで設定可能
Init container in ECSでの利用ケース 03
Application Signalsにメトリクスを送信するモ ジュー ルを取得配置 Application Signals にトレース情報を収集するにはOpen Temetryのモジュール をjava起動時に、javaagent オプションに指定する必要がある。Main
container に入れ込むことも可能だが、Open Telemtryのモジュールはバージョンアップし たいときとか別管理してすることがinit containerをつかうことで可能になる。 ファイルのやりとりは揮発性のbind mountのボリュームを利用する Application Signalsで利用例 写真と一緒に分量の多いテキストを入力する際に便利なページです。
コンテナ設定ファイルの初期化に活用できる。 ただし、起動上限には注意が必要。Fargateの場合、ECS_CONTAINER_START_TIMEOUT 180sまで設定できる 初期化処理をする場合init containerは利用できる!