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
入社して3年間で『Rundeck』を使って自動化した「面倒」な作業たち / 20220302-...
Search
Rakus_Dev
March 08, 2022
Technology
3.5k
0
Share
入社して3年間で『Rundeck』を使って自動化した「面倒」な作業たち / 20220302-meetup-kanamori
Rakus_Dev
March 08, 2022
More Decks by Rakus_Dev
See All by Rakus_Dev
主体的に活躍する内製QA組織の作り方と組織文化の醸成 / How to Build a Proactive In-house QA Organization and Foster Its Culture
rakus_dev
0
260
AI実装による「レビューボトルネック」を解消する仕様駆動開発(SDD)/ ai-sdd-review-bottleneck
rakus_dev
0
280
仕様駆動開発の組織的定着に向けた取り組み ~『楽楽電子保存』開発チームの事例~ / Establishing SDD: Organizational Initiatives
rakus_dev
0
540
全エンジニアのAI活用状況を可視化する~Lookerを用いたアンケート分析と今後の推進策~ / Visualizing AI Adoption Across Engineering
rakus_dev
0
580
出してみてわかったAIエージェントプロダクトの舞台裏 〜楽楽AIエージェント for 楽楽精算〜 / Behind the Scenes of Rakuraku AI Agent
rakus_dev
0
570
プロダクトマネージャーの目標と評価 / Goal Setting for Product Managers
rakus_dev
1
1k
【pmconf2025】AI時代の『ジュニア不要論』に異議あり! 未経験から戦力PdMを生み出すOJT戦略とは?
rakus_dev
1
1.1k
プロダクトづくりにAIを溶かす3つの壁 ― ラクス流AI浸透のススメ / 3 Barriers to AI in Products: The Rakus Way
rakus_dev
0
2.9k
設計フェーズを加速するAI活用戦略 / AI Strategy for Accelerated Design
rakus_dev
4
750
Other Decks in Technology
See All in Technology
ポスター発表&デモと総括 / Poster Presentations & Demonstrations and Summary
ks91
PRO
0
160
人が担う「価値」とは?これからの「QA」とは / Human Value and the Future of Quality Assurance
bitkey
PRO
0
140
string地獄を脱出する
sansantech
PRO
1
100
Spring Boot における AOT Cache 活用テクニックと 起動時間改善事例
ntt_dsol_java
0
170
イベントストーミングとKiroの仕様駆動開発で実現する要件の認識合わせプロセス
syobochim
7
960
プラットフォームエンジニア ワークショップ/ platform-workshop
databricksjapan
0
130
テストコードのないプロジェクトにテストを根付かせる
tttol
0
230
海外カンファレンス「JavaOne」参加レポート ユーザー系IT企業における目的・成果/JavaOne Report Purpose and Results in the User IT Company
muit
0
110
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.7k
AI Adaptable なテストを整える工夫 / Ways to Make Your Tests AI-Adaptable
bitkey
PRO
2
170
形式手法特論:公平性制約の位相的特徴づけ #kernelvm / Kernel VM Study Kansai 12th
ytaka23
1
580
Spring AI × MCP 入門〜AIエージェントへのツール公開、境界設計から始める最小構成 〜
yuyamiyamoto
0
180
Featured
See All Featured
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
340
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
290
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
4 Signs Your Business is Dying
shpigford
187
22k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Automating Front-end Workflow
addyosmani
1370
210k
Balancing Empowerment & Direction
lara
6
1.1k
Designing for Performance
lara
611
70k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
170
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
390
Information Architects: The Missing Link in Design Systems
soysaucechin
0
940
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フロー図は無い… ・浮いた時間は別の作業の自動化に使いたい