コンテナ実行基盤を構成するOSS
by
ryo_of_the_ryo
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
コンテナ実行基盤を構成するOSS Open Source Conference 2026 Kyoto さくらインターネット株式会社 益邑遼 1
Slide 2
Slide 2 text
自己紹介 益邑遼(マスムラリョウ) さくらインターネット 2024/04/01から現職 サービス統括本部 サービス開発部 アプリケーション実行基盤 AppRun専有型の開発・運用を担当 京都在住、音楽が好きです 2
Slide 3
Slide 3 text
今日の内容 AppRun専有型の概要 AppRun専有型の機能 デモ AppRun専有型の仕組み AppRun専有型を構成するOSS まとめ 3
Slide 4
Slide 4 text
さくらのクラウドとは さくらインターネットが提供する国産クラウドコンピューティング サービス サーバー、スイッチ、ロードバランサ、ストレージなどをAPI/UIで 利用可能 ガバメントクラウドに採択 4
Slide 5
Slide 5 text
AppRunとは さくらのクラウドが提供するコンテナ実行基盤 インフラ管理が不要 オートスケーリング機能 ログ、メトリクス基盤との連携 https://cloud.sakura.ad.jp/lp/apprun/ 5
Slide 6
Slide 6 text
AppRunとは 共用型/専有型の2サービスが提供されている 項目 AppRun共用型 AppRun専有型 複数ユーザーで共有するマルチテ ユーザー専用のシングルテナント基 実行環境 ナント基盤 盤 プライベートネットワ 非対応 対応(スイッチやSEG経由で接続可 ーク接続 能) 安定性能や閉域ネットワーク接続が 向いているケース まず小さく始めたい場合 必要な場合 6
Slide 7
Slide 7 text
AppRun専有型とは コンテナをデプロイ・実行する、コンテナオーケストレーションサ ービス ユーザ毎に専用のVMを払い出し、その上でコンテナを実行する 7
Slide 8
Slide 8 text
AppRun専有型の特徴 ユーザ毎にVMを払い出す、シングルテナント型 VMの管理、運用は不要 さくらのクラウドのネットワーク機能と連携した構成を取ることが できる 閉域ネットワーク内にコンテナをデプロイすることが可能 セキュリティ面や性能/安定性がより求められるユースケースにマッチ 8
Slide 9
Slide 9 text
AppRun専有型の機能 CPU負荷に応じたオートスケーリング ローリングデプロイ 監視プラットフォーム(モニタリングスイート)と連携したログ、 メトリクスを提供 https://cloud.sakura.ad.jp/products/monitoring-suite/ ユーザはアプリケーションに集中して開発/運用することができる 9
Slide 10
Slide 10 text
AppRun専有型の機能 L7ロードバランサ ホスト名やポートに応じた自動ルーティング VRRPによる冗長化 Let's Encryptによる証明書発行/持ち込み証明書 10
Slide 11
Slide 11 text
AppRun専有型の概念 11
Slide 12
Slide 12 text
デモ(クラスタ作成) 12
Slide 13
Slide 13 text
デモ(クラスタ作成) 13
Slide 14
Slide 14 text
デモ(オートスケーリンググループ作成) 14
Slide 15
Slide 15 text
デモ(オートスケーリンググループ作成) 15
Slide 16
Slide 16 text
デモ(ロードバランサ作成) 16
Slide 17
Slide 17 text
デモ(ロードバランサ作成) 17
Slide 18
Slide 18 text
デモ(アプリケーションバージョン作成) 18
Slide 19
Slide 19 text
デモ(アプリケーションバージョン作成) 19
Slide 20
Slide 20 text
デモ(アプリケーションバージョン作成) 20
Slide 21
Slide 21 text
デモ(動作確認) 21
Slide 22
Slide 22 text
デモ(ログ、メトリクス閲覧) 22
Slide 23
Slide 23 text
Terraform対応 さくらのクラウドはTerraformに対応しており、IaCで宣言的に記 述することができます https://registry.terraform.io/providers/sacloud/sakura/lat est/docs/resources/apprun_dedicated_cluster 23
Slide 24
Slide 24 text
AppRun専有型の仕組み 各agentがcontrol planeとやりとりし、LBの設定更新やコンテナ 24 の配置を行う
Slide 25
Slide 25 text
プライベートネットワークで構成する場合 サービスエンドポイントゲートウェイ ネットワーク機能の拡張サービス プライベートネットワーク内のサーバーから、さくらのクラウド が提供するマネージドサービスへ安全に接続できるようにする https://manual.sakura.ad.jp/cloud/network/switch/seg. 25
Slide 26
Slide 26 text
構成例 26
Slide 27
Slide 27 text
AppRun専有型を構成するOSS コントロールプレーンの核となる「コンテナ配置ロジック」は自前 実装 汎用的で成熟した機能はOSSに委ねる コンテナ実行、L7ロードバランシング、冗長化、テレメトリ転送 など OSS採用の理由 開発・運用コストの削減 コミュニティの知見とセキュリティアップデートの活用 27
Slide 28
Slide 28 text
OSS選定の方針 自社で差別化すべき領域は自前実装 コンテナ配置ロジック、API、さくらのクラウド連携 業界標準・実績のあるものを優先 28
Slide 29
Slide 29 text
Docker ワーカーノード上でコンテナを実行するための基盤 OCI準拠を前提とすることで、ポータビリティを確保 エコシステムが成熟している シングルテナントなので、プロセスレベルの分離でも十分 29
Slide 30
Slide 30 text
Go コンテナ周りのライブラリが充実している 言語仕様が比較的小さい 標準ライブラリが充実しており、配布するagentイメージの依存関 係が少なくて済む 30
Slide 31
Slide 31 text
Traefik ロードバランサノード上で動くL7ロードバランサ https://traefik.io/ ユーザーアプリケーションへのL7ルーティングを動的に反映できる 一部設定変更時、再起動せずに済む 31
Slide 32
Slide 32 text
Traefik File Provider で動的に設定を受け取る agent が設定ファイルを生成・更新し、Traefik が検知して反映 32
Slide 33
Slide 33 text
Keepalived ロードバランサノードをVRRPで冗長構成にする ライブラリとして成熟している 33
Slide 34
Slide 34 text
OpenTelemetry Collector テレメトリの収集、転送に使用 収集経路を統一できる コンポーネントによっては成熟度が異なるのがデメリット 34
Slide 35
Slide 35 text
Ubuntu ノードのOSとして利用 LTS版があり、長期にわたるサポートを受けられる パッケージ管理が容易で、エコシステムが豊富 運用実績・コミュニティの知見が豊富 セキュリティアップデートの提供体制が整っている cloud-initの動作実績が豊富 35
Slide 36
Slide 36 text
cloud-init サーバの初回起動時に自動で設定を行う ネットワーク設定等 サーバ初期設定の自動化を容易に実現 ノードの構築・スケールアウトを効率的に 36
Slide 37
Slide 37 text
Valkey 一時的な制御データ保持 コンテナの状態管理 ノード情報 37
Slide 38
Slide 38 text
Ogen OpenAPI v3 code generator https://ogen.dev/ Goの型、インターフェースを生成 OpenAPIを中心に据えることでAPIとSDKの整合性を保証しやすい 38
Slide 39
Slide 39 text
TypeSpec クラウドサービスの API や データモデル(スキーマ) を定義する ための言語 https://typespec.io/ 冗長になりがちなOpenAPIを簡潔に書ける 39
Slide 40
Slide 40 text
sqlc SQLから型安全なGoコードを自動生成する https://sqlc.dev/ SQLを先に書いて、そのSQLを実行するコードを生成する ORMに比べて何が実行されるか分かりやすい 40
Slide 41
Slide 41 text
API / DB コード生成パイプライン TypeSpec から OpenAPI を生成 Ogen で Go の型とサーバハンドラインターフェースを生成 sqlc で SQL から型安全な Go の DB アクセスコードを生成 開発者は生成されたインターフェースにビジネスロジックを実装し ていく 41
Slide 42
Slide 42 text
Dewy アプリケーションを宣言的にデプロイするためのソフトウェア https://dewy.linyo.ws/ja レジストリをポーリングし、アプリケーションを子プロセスとして 管理する 管理システムのデプロイに使用 42
Slide 43
Slide 43 text
まとめ AppRun専有型は、ユーザー専用のVM上でコンテナを実行するシ ングルテナント型サービス コントロールプレーンの核となるコンテナ配置ロジックは自前実装 コンテナ実行、L7ロードバランシング、冗長化、テレメトリ転送な どは成熟したOSSを活用 Docker, Traefik, Keepalived, OpenTelemetry Collector な ど さくらのクラウドネットワークと連携し、閉域環境での利用も可能 43
Slide 44
Slide 44 text
44
Slide 45
Slide 45 text
ご清聴ありがとうございました 45
Slide 46
Slide 46 text
参考リンク https://cloud.sakura.ad.jp/lp/apprun/ https://registry.terraform.io/providers/sacloud/sakura/latest /docs/resources/apprun_dedicated_cluster https://cloud.sakura.ad.jp/products/monitoring-suite/ https://manual.sakura.ad.jp/cloud/network/switch/seg.html https://traefik.io/ https://ogen.dev/ https://typespec.io/ https://sqlc.dev/ https://dewy.linyo.ws/ja 46