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
0
2.4k
入社して3年間で『Rundeck』を使って自動化した「面倒」な作業たち / 20220302-meetup-kanamori
Rakus_Dev
March 08, 2022
Tweet
Share
More Decks by Rakus_Dev
See All by Rakus_Dev
多様なマネジメント経験から導き出した、事業成長を支えるEMの4つのコンピテンシー / 4 Key EM Competencies for Growth
rakus_dev
1
1.1k
圧倒的な『顧客志向』の文化の創り方 / Product Engineer Night 20250221
rakus_dev
0
120
読書シェア会 vol.2 / Yumemi.grow 20250225
rakus_dev
0
110
ラクスCTOが語る顧客視点を重視したプロダクト開発 / RAKUSTechCon2024_Kude
rakus_dev
0
2.6k
マルチプロダクトでのプロダクトマネージャーのリアル / RAKUSTechCon2024_Inagaki
rakus_dev
4
4.6k
拡大するマルチプロダクトSaaSの顧客理解にデザイン組織はどう取り組んでいるか / RAKUSTechCon2024_Design
rakus_dev
0
2.4k
急成長する大規模プロダクト開発のマネジメント課題とアプローチ / RAKUSTechCon2024_Seisan
rakus_dev
0
2.4k
パフォーマンス向上とリソース管理のためのアプローチ / RAKUSTechCon2024_RLC
rakus_dev
0
2.2k
急成長するサービスを支えるためのインフラ戦略 / RAKUSTechCon2024_Fujii
rakus_dev
0
2.3k
Other Decks in Technology
See All in Technology
Snowflake ML モデルを dbt データパイプラインに組み込む
estie
0
110
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
19k
サイト信頼性エンジニアリングとAmazon Web Services / SRE and AWS
ymotongpoo
7
1.7k
"TEAM"を導入したら最高のエンジニア"Team"を実現できた / Deploying "TEAM" and Building the Best Engineering "Team"
yuj1osm
1
230
JAWS FESTA 2024「バスロケ」GPS×サーバーレスの開発と運用の舞台裏/jawsfesta2024-bus-gps-serverless
ma2shita
3
280
What's new in Go 1.24?
ciarana
1
110
生成AI×財務経理:PoCで挑むSlack AI Bot開発と現場巻き込みのリアル
pohdccoe
1
780
E2Eテスト自動化入門
devops_vtj
1
100
DeepSeekとは?何がいいの? - Databricksと学ぶDeepSeek! 〜これからのLLMに備えよ!〜
taka_aki
1
160
プルリクエストレビューを終わらせるためのチーム体制 / The Team for Completing Pull Request Reviews
nekonenene
1
180
30→150人のエンジニア組織拡大に伴うアジャイル文化を醸成する役割と取り組みの変化
nagata03
0
200
自分だけの仮想クラスタを高速かつ効率的に作る kubefork
donkomura
0
110
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
137
6.8k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
430
KATA
mclloyd
29
14k
A Modern Web Designer's Workflow
chriscoyier
693
190k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
Building Applications with DynamoDB
mza
93
6.2k
Speed Design
sergeychernyshev
27
810
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
13
1k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Git: the NoSQL Database
bkeepers
PRO
428
65k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
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フロー図は無い… ・浮いた時間は別の作業の自動化に使いたい