$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
入社して3年間で『Rundeck』を使って自動化した「面倒」な作業たち / 20220302-...
Search
Rakus_Dev
March 08, 2022
Technology
0
3.3k
入社して3年間で『Rundeck』を使って自動化した「面倒」な作業たち / 20220302-meetup-kanamori
Rakus_Dev
March 08, 2022
Tweet
Share
More Decks by Rakus_Dev
See All by Rakus_Dev
【pmconf2025】AI時代の『ジュニア不要論』に異議あり! 未経験から戦力PdMを生み出すOJT戦略とは?
rakus_dev
1
830
プロダクトづくりにAIを溶かす3つの壁 ― ラクス流AI浸透のススメ / 3 Barriers to AI in Products: The Rakus Way
rakus_dev
0
2.2k
設計フェーズを加速するAI活用戦略 / AI Strategy for Accelerated Design
rakus_dev
2
620
10年以上続くWebサービスのAIファースト時代への向き合い方 / Navigating the AI-First Era: A Strategy for Established Web Services
rakus_dev
0
480
楽楽明細開発部 | 組織的なAI駆動開発の推進 / Promoting organizational AI-driven development
rakus_dev
0
480
AIエージェントを使った爆速デモアプリ作成 / Rapid demo app creation using AI agents
rakus_dev
0
480
Claude Codeによる自律的並列分析の実践 / Practicing Autonomous Parallel Analysis with Claude Code
rakus_dev
0
600
コードを書かないマネージャーがつくるコンテキストエンジニアリング / Context Engineering Created by a Non-Coding Manager
rakus_dev
0
510
AIへの再指示を抑える要件、設計、デザイン等のモバイル開発コンテキストの渡し方
rakus_dev
0
170
Other Decks in Technology
See All in Technology
GitHub Copilotを使いこなす 実例に学ぶAIコーディング活用術
74th
3
3.4k
エンジニアとPMのドメイン知識の溝をなくす、 AIネイティブな開発プロセス
applism118
4
1.3k
AlmaLinux + KVM + Cockpit で始めるお手軽仮想化基盤 ~ 開発環境などでの利用を想定して ~
koedoyoshida
0
110
評価駆動開発で不確実性を制御する - MLflow 3が支えるエージェント開発
databricksjapan
1
210
エンジニアリングをやめたくないので問い続ける
estie
2
1.2k
【U/day Tokyo 2025】Cygames流 最新スマートフォンゲームの技術設計 〜『Shadowverse: Worlds Beyond』におけるアーキテクチャ再設計の挑戦~
cygames
PRO
2
630
AIプラットフォームにおけるMLflowの利用について
lycorptech_jp
PRO
1
170
生成AI時代におけるグローバル戦略思考
taka_aki
0
200
ディメンショナルモデリングを支えるData Vaultについて
10xinc
1
110
Databricks向けJupyter Kernelでデータサイエンティストの開発環境をAI-Readyにする / Data+AI World Tour Tokyo After Party
genda
1
540
.NET 10の概要
tomokusaba
0
120
re:Invent2025 コンテナ系アップデート振り返り(+CloudWatchログのアップデート紹介)
masukawa
0
390
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Faster Mobile Websites
deanohume
310
31k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.3k
KATA
mclloyd
PRO
33
15k
Building an army of robots
kneath
306
46k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Bash Introduction
62gerente
615
210k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Transcript
#RAKUSMeetup ©2022 RAKUS Co., Ltd. ©2022 RAKUS Co., Ltd. 入社して3年間で
『Rundeck』を使って自動化した 「面倒」な作業たち 株式会社ラクス インフラ開発部 金森聖人
#RAKUSMeetup ©2022 RAKUS Co., Ltd. 自己紹介 金森聖人(かなもり まさと) ▪経歴 2015年
静岡県から上京 2019年 某工業系大学 夜間学部卒業 同年 株式会社ラクス入社 研修後 インフラ開発部に配属 2020年 「楽楽販売」インフラチーム配属 ▪趣味 音楽 遊戯王マスターデュエル FPS(Valorant Apexは難しい)
#RAKUSMeetup ©2022 RAKUS Co., Ltd. 「面倒」な作業
#RAKUSMeetup ©2022 RAKUS Co., Ltd. 「面倒」な作業 ▪なぜ「面倒」と感じるのか ・同じような作業の繰り返し ・実施する頻度が多い ・失敗した場合のリスクが大きい
・時間が掛かる ・作業自体にプレッシャー…
#RAKUSMeetup ©2022 RAKUS Co., Ltd. 「面倒」な作業 ▪なぜ「面倒」と感じるのか ・同じような作業の繰り返し ・実施する頻度が多い ・失敗した場合のリスクが大きい
・時間が掛かる ・作業自体にプレッシャー… 自動化しよ
#RAKUSMeetup ©2022 RAKUS Co., Ltd. 「面倒」を解消する会社 ◦楽楽精算 楽楽明細 楽楽販売 楽楽勤怠…etc
→ 企業を運営する上での「面倒」を解消するツール! ◦社内の風潮的にも… → 生産性を上げたい!効率的に仕事をしたい!というマインド
#RAKUSMeetup ©2022 RAKUS Co., Ltd. 新卒入社1年目から自動化 これやって みようか! 承知! ・新卒研修は開発もインフラも一緒にプ
ログラミング言語でアプリを作る研修をし てた ・インフラ配属後もスクリプト系の研修が あった → ある程度認められた(?)ため配属初期 から自動化の一部に携わることに 配属2カ月後くらいのある日
#RAKUSMeetup ©2022 RAKUS Co., Ltd. Rundeck
#RAKUSMeetup ©2022 RAKUS Co., Ltd. 『Rundeck』を使おう ▪Rundeckとは ・コミュニティ版を無料で利用可能 ・ssh経由でJOBを実行できるツール ・エージェントレス
・コマンドやスクリプトの実行が可能 ・JOBデータのgit管理可能 ・管理対象のサーバを登録可能 タグ管理可能 ・定期実行可能(cron表記もOK)
#RAKUSMeetup ©2022 RAKUS Co., Ltd. Rundeck -メリット- rundeck サーバ1 サーバ2
サーバ3 サーバ4 サーバ5 サーバ6 ▪ssh経由でJOBを実行できるツール ▪エージェントレス ・公開鍵認証 ・パスワード登録 等 ssh経由でJOBを実行するため、 クライアント側への特別な設定や エージェントのインストールが不要! →・クライアント側の設定変更が軽微 ・22番portでの通信のため ネットワーク関連設定も必要なし ssh ssh ssh ssh ssh ssh
#RAKUSMeetup ©2022 RAKUS Co., Ltd. Rundeck -メリット- ▪管理対象のサーバを登録可能 タグ管理可能 ・JOBを実行するサーバをyaml,xml形式でファイルに記
載することで実行先の登録が可能 →実行ごとに対象の情報を 入力する必要なし ・登録したサーバ情報にタグを付与可能 → 全ての〇〇サーバで情報取得! みたいなパターンが一撃で完了! rundeck サーバ1 (service) サーバ2 (service) サーバ3 (management) サーバ4 (service) サーバ5 (management) サーバ6 (service) [service]のタグを持ったサー バにだけ実行!
#RAKUSMeetup ©2022 RAKUS Co., Ltd. Rundeck -メリット- ▪コマンドやスクリプトの実行が可能 ▪JOBデータのgit管理可能 ・実行できる内容はコマンド、スクリプトからansible
までと多岐にわたる。 ・ツール独自の記載方法等も少ない →導入ハードルが低い! rundeck サーバ1 (service) サーバ2 (service) サーバ3 (management) サーバ4 (service) サーバ5 (management) サーバ6 (service) command script ansible ansible script command
#RAKUSMeetup ©2022 RAKUS Co., Ltd. Rundeck -メリット- ▪定期実行可能(cron表記もOK) ・作成したJOBの定期実行・時間指定可能 →
スクリプトファイルをサーバごとに配布する必要 なし! → サーバ上のcron,crontabからの脱却! rundeck サーバ1 (service) サーバ2 (service) サーバ3 (management) サーバ4 (service) サーバ5 (management) サーバ6 (service) AM2時にJOB_A実行! AM8時にJOB_B実行!
#RAKUSMeetup ©2022 RAKUS Co., Ltd. Rundeck
#RAKUSMeetup ©2022 RAKUS Co., Ltd. Rundeckで自動化したこと
#RAKUSMeetup ©2022 RAKUS Co., Ltd. Rundeckで自動化したこと •サービス用サーバ構築 •サーバ正常性チェック •サーバからの一括情報取得 •リリース作業の一部
#RAKUSMeetup ©2022 RAKUS Co., Ltd. Rundeckで自動化したこと ▪サービス用サーバ構築,サーバ正常性チェック <従来> ・構築対象サーバ上で手順書通りに構築作業 ・構築用スクリプトを実行
・複数の管理系サーバに設定追加作業 ・構築後には100項目くらいのチェックシート! → 手動作業がおおい! → 時間が掛かる → 1つのミスで顧客影響の可能性 <自動化後> ・WebUIに変数を入力して実行ボタンを押すだけ ・管理系サーバへの設定追加もまとめて実行 ・構築後にはチェックまで実行 → 実行した後は結果を待っているだけ → 実行中は手が空く → JOB化しているので品質が均一に PC サーバ サーバ サーバ サーバ Rundeck サーバ サーバ サーバ サーバ PC
#RAKUSMeetup ©2022 RAKUS Co., Ltd. Rundeckで自動化したこと ▪サーバからの一括情報取得,リリース作業の一部 <従来> ・ひたすらssh&スクリプト実行! →
パスワード入力が毎回発生する → 直列にしか作業不可能 → 実行対象ミスの恐怖 <自動化後> ・rundeckサーバから一括実行! ・時間指定,定期実行可能なため →サーバ構築時に接続経路は確保済み →並列実行OK → tag機能で実行対象ミスをしずらい → 作業漏れ防止! PC サーバ サーバ サーバ サーバ Rundeck サーバ サーバ サーバ サーバ PC
#RAKUSMeetup ©2022 RAKUS Co., Ltd. Rundeckで自動化したこと ▪Rundeckの導入により削減された時間 ・サービス機構築 <従来> 1サーバ60分程度の工数
<自動化後> 1サーバ20分程度の工数 JOB作成から2年間で約400台の構築をしたので… (60分-20分)×400台=16,000分≒266.6時間の削減に成功!
#RAKUSMeetup ©2022 RAKUS Co., Ltd. Rundeckを使って感じたデメリット
#RAKUSMeetup ©2022 RAKUS Co., Ltd. Rundeckを使って感じたデメリット ・JOBフローが図として展開されないため感覚的に掴みにくい ・一部のnodeのみ実行失敗した場合のリトライがしにくい ・Rundeckサーバ自体がダウンした場合に影響が大きい ・実行ログをしっかりとるためにスクリプト内でロギングが必要
・実行ログがたまり続けるため定期削除が必要 ・データベースがデフォルトでH2なため導入時には別のDBを組み合わせた ほうが管理しやすそう
#RAKUSMeetup ©2022 RAKUS Co., Ltd. まとめ
#RAKUSMeetup ©2022 RAKUS Co., Ltd. まとめ ・「面倒」な作業は自動化を進めよう! ・自動化の選択肢としてRundeck! ・ssh経由!設定変更軽微特定サーバのみ実行! ・Rundeckサーバ自体が落ちたら…
JOBフロー図は無い… ・浮いた時間は別の作業の自動化に使いたい