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
CircleCI Server運用のポイント / Point of CirlceCI Serv...
Search
dehio3
October 01, 2019
Technology
1
620
CircleCI Server運用のポイント / Point of CirlceCI Server operation
【東京】CircleCI ユーザーコミュニティミートアップ#7
https://circleci.connpass.com/event/147712/
dehio3
October 01, 2019
Tweet
Share
More Decks by dehio3
See All by dehio3
とっ散らかったログバケットを S3バッチオペレーションで整理整頓 / Organizing disordered log buckets using S3 Batch Operations
tomohide_tanaka
0
220
40代エンジニアの生活の変化とキャリアの歩み
tomohide_tanaka
0
1.3k
AWSソリューションを活用して 1ヶ月で動画配信機能をリリースした話 / The story of releasing the Video distribution service in one month using AWS solutions
tomohide_tanaka
1
1.4k
GitHub Actionsで Terraformをplan&applyしてみた / I tried to plan and apply Terraform with GitHub Actions
tomohide_tanaka
6
6k
CircleCI_Serverの利用状況を可視化した話 / CircleCI Server Visualization of usage status
tomohide_tanaka
0
880
Other Decks in Technology
See All in Technology
AWS CDK 入門ガイド これだけは知っておきたいヒント集
anank
5
760
第64回コンピュータビジョン勉強会「The PanAf-FGBG Dataset: Understanding the Impact of Backgrounds in Wildlife Behaviour Recognition」
x_ttyszk
0
240
サービスを止めるな! DDoS攻撃へのスマートな備えと最前線の事例
coconala_engineer
1
190
SRE不在の開発チームが障害対応と 向き合った100日間 / 100 days dealing with issues without SREs
shin1988
2
2.1k
PHPからはじめるコンピュータアーキテクチャ / From Scripts to Silicon: A Journey Through the Layers of Computing
tomzoh
2
150
組織内、組織間の資産保護に必要なアイデンティティ基盤と関連技術の最新動向
fujie
0
300
How Do I Contact Jetblue Airlines® Reservation Number: Fast Support Guide
thejetblueairhelpsupport
0
150
60以上のプロダクトを持つ組織における開発者体験向上への取り組み - チームAPIとBackstageで構築する組織の可視化基盤 - / sre next 2025 Efforts to Improve Developer Experience in an Organization with Over 60 Products
vtryo
3
1.9k
QuickSight SPICE の効果的な運用戦略~S3 + Athena 構成での実践ノウハウ~/quicksight-spice-s3-athena-best-practices
emiki
0
290
MCP とマネージド PaaS で実現する大規模 AI アプリケーションの高速開発
nahokoxxx
1
170
OpenTelemetryセマンティック規約の恩恵とMackerel APMにおける活用例 / SRE NEXT 2025
mackerelio
3
2k
ポストコロナ時代の SaaS におけるコスト削減の意義
izzii
1
470
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Docker and Python
trallard
45
3.5k
How to Ace a Technical Interview
jacobian
278
23k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Scaling GitHub
holman
460
140k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Side Projects
sachag
455
42k
Facilitating Awesome Meetings
lara
54
6.5k
Transcript
CircleCI Server 運用のポイント CircleCI ユーザーコミュニティミートアップ #7
自己紹介 Tanaka Tomohide • twitter: @dehio3 • blog:https://www.dehio3.com/ • 音響屋→インフラエンジニア
• CircleCI運用歴:10ヶ月 2
はじめに
CircleCI Serverとは • オンプレミス版のCircleCI • CirlceCIから公開されているTerraformを利用して、AWS上に 構築可能 ◦ https://github.com/circleci/enterprise-setup
CircleCI Server 使ってる?✋
CircleCI Server 検討してる?✋
今日話す内容 • オンプレ版の運用中に発生した課題から気づいた運用のポイ ント • CircleCI Server 2.17.3時点での情報(9/30時点の最新) ◦ https://circleci.com/server/changelog/
CircleCI Server の 構成要素
None
ビルドの詳しい仕組みは https://speakerdeck.com/kimh/circleci-2-dot-0wozhi-eru2tufalse-kontenakurasutatosre
永続リソースと 一時リソースそれぞれのポイント
永続リソース
None
スケーリングのタイミング • nomad-clientはAutoScalingから起動する。 • AutoScalingでEC2インスタンス起動アクション後、nomad-clientでbuild処理可能 な状態になるまで3,4分かかる。 • AutoScalingのアクションは自動では実行されない為、スケールリングアクションの 契機は自分で実装する必要がある。 •
キューの滞留を検知してからスケールリングすると、スケールリングしたタイミング では既にキューが捌け終わって、無駄なスケールになる事もある。 • スケジュールでの時間契機か、リソース状況契機か、利用状況に応じてスーリング の検討が必要。
一時リソース
None
machine executorは冗長化未対応 • machine executorを動作させるサブネットは現状一つしか指定でない。 • 設定はWebコンソールから実施する為、AZを変更する場合は再起動が必要。 • 8/23のAZ障害はまさに直撃した・・ていうかこの時気づいた( ;∀;)
• 即サポートに連絡して改善要望!!
machine executorインスタンスのゾンビ化 • “machine”と”setup_remote_docker”を利用すると、一時的なEC2インスタンスが 新規に作成される。 • 本来であれば処理が終わるとインスタンスが削除されるが、バグ(2.14.01以前)や 起動中のserviceboxの再起動によって、インスタンスが削除されずに残る事があ る。 •
ゾンビインスタンは無駄なコストになるので、定期的なゾンビインスタンスのチェック が必要。
DLCのキャッシュ保持期間 • “docker_layer_caching”を設定すると専用のEBSボリュームが作成され、都度マ ウントされる事で、キャッシュが実現される。 • “Inactivity period before clearing Docker
cache storage volumes (days)”にて chacheの保持期間を設定でき、デフォルトの14日に設定される。 • 保持期間はEBSボリュームの作成日ではなく、最終利用日から14日保持される。 • EBSボリュームについては、未利用時であっても課金される為、利便性とコストの バランスで保持期間を設定する。
まとめ
まとめ • 当然だがオンプレ版の場合はCircleCIのインフラも運用する 必要がある。 • インフラの維持コストを抑える為に、状況の可視化と継続的な 運用の改善が必要。 • まだまだ改善の余地はあるので、今後のCirlceCI Serverの開
発に期待!!
おまけ
前回のミートアップ https://speakerdeck.com/tomohide_tanaka/circleci-server-visualization-of-usage-status
SaaS版のビルド情報を取得ツールを作成 https://www.dehio3.com/entry/2019/09/23/115924
Thank you!! 25