CodeBuild上でGitHub Actionsを動かしてDBマイグレーション効率化

10.5K Views

July 02, 24

スライド概要

profile-image

ウェルスナビ株式会社 技術広報チームの公式アカウントです。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

CodeBuild上でGitHub Actionsを 動かしてDBマイグレーション効率化 1

2.

⾃⼰紹介 森 祐太朗(Mori Yutaro) ウェルスナビ株式会社 システム基盤 ウェルスナビでは ● 2024年3⽉ ⼊社 ● 新規プロダクトに向けた環境基盤を構築中 ひとこと ● 最近新卒がチームに配属されて平均年齢が若返りました👶 2 @2024 WealthNavi Inc.

3.

WealthNaviとは ※⼀般社団法⼈⽇本投資顧問業協会「契約資産状況(最新版)(2023年9⽉末現 在)『ラップ業務』『投資⼀任業』」を基にネット専業業者を⽐較 ウエルス アドバイザー社調べ(2023年12⽉時点) ※画面はイメージです。 3 @2024 WealthNavi Inc.

4.

お詫び LTまでに実装を⽬指していましたが、調整諸々でま だ実装できておりません。 これからお話する内容は、構想中のものでこれから 改善に向けて取り組むものになります。 4 @2024 WealthNavi Inc.

5.

アジェンダ 1. 現状の課題 2. 概要 3. アーキテクチャ 4. 実装方法 5. まとめ 5 @2024 WealthNavi Inc.

6.

1. 現状の課題 6 @2024 WealthNavi Inc.

7.

背景 複数の新規プロダクト開発が活発化 採用ページより抜粋 https://recruit.wealthnavi.com/ 7 @2024 WealthNavi Inc.

8.

背景 複数の新規プロダクト開発が活発化 ● 構築優先に なりがち ● 運用に手が 回らない… 採用ページより抜粋 https://recruit.wealthnavi.com/ 8 @2024 WealthNavi Inc.

9.

背景 DBデータ移⾏運⽤ ● ● 一つの運用アカウントから複 数本番プロダクトアカウントへ クエリを投げる プロダクト毎に閉じられた環 境から本番アクセスできるよう にしたい 9 @2024 WealthNavi Inc.

10.

2. 概要 10 @2024 WealthNavi Inc.

11.

GitHub Actions AWS CodeBuild がマネージド型の GitHub Action ランナーの サポートを開始 https://aws.amazon.com/jp/about-aws/whats-new/2024/04/a ws-codebuild-managed-github-action-runners/ 11

12.

CodeBuild上でGitHub Actionsを動かせると嬉しいこと ● RDSへの接続などセキュアなCI/CDパイプライン構築 ● GitHub Actionsワークフローファイルを利⽤できる ● ホストランナーの実⾏コンピューティングにLambdaを選択可能 Actionランナー実行環境 GitHub Actions CodeBuild(Lambda) 30秒で終了するジョブ 10個 1分×10⇒10分の課金 30秒×10⇒5分の課金 12 @2024 WealthNavi Inc.

13.

3. アーキテクチャ 13 @2024 WealthNavi Inc.

14.

アーキテクチャ 設計ポイント ● プロダクトで使われないリ ソースは別アカウント ● マージされたときにGitHub Actionsを起動させる ● Dry-runとMigrationジョブ の間に⼿動承認フェーズを ⼊れる 14 @2024 WealthNavi Inc.

15.

4. 実装 15 @2024 WealthNavi Inc.

16.

実装 16 @2024 WealthNavi Inc.

17.

実装 17 @2024 WealthNavi Inc.

18.
[beta]
実装

runs-on: codebuild-<project_name>-${{ github.run_id
}}-${{ github.run_attempt }}

でセルフホスト GitHub アクションランナーを設定す
る AWS CodeBuild
https://docs.aws.amazon.com/ja_jp/codebuild/la
test/userguide/action-runner.html#sample-githu
b-action-runners-create-project
18

@2024 WealthNavi Inc.

19.

実装 19 @2024 WealthNavi Inc.

20.

実装 20 @2024 WealthNavi Inc.

21.

4. まとめ 21 @2024 WealthNavi Inc.

22.

まとめ 良いところ ● ⼿動運⽤がなくなり開発者、運⽤者の負担が減らせる ● GitHub ActionsをCodeBuild上で実⾏すればセキュアなCI/CDが実現 ● GitHub Actionsのワークフローを使えるので新規にBuildspecを使う必要がなくなった ● CodeBuild上で実⾏できるのでAWSのNetwork FWでアウトバウンド通信も制御可能 今後の課題 ● 他環境へ展開できるようにCodeBuildのIaC開発 ● これから実装を⽬指す💪 22 @2024 WealthNavi Inc.

23.

鋭意制作中! 23 @2024 WealthNavi Inc.

24.

Appendix 1 定期的にWealthNaviの開発(技術‧組織)に関する情報を発信しています。 開発者ブログ ● 技術広報に関する お問い合わせ先 ● https://zenn.dev/p/wn_engineering ブックマーク追加や記事への「いいね」していただけると嬉しいです ウェルスナビ DevRelチーム([email protected]) 24 @2024 WealthNavi Inc.

25.

Appendix 2 ウェルスナビでは複数の開発系ポジションで採⽤を強化しています。 主な採⽤中職種 ● ● ● ● ● エンジニアリングマネージャー バックエンド開発エンジニア QAエンジニア データエンジニア サイバーセキュリティエンジニア 採⽤情報詳細 ● 下記URL(QRコード)よりご確認ください。 https://recruit.wealthnavi.com/ 採⽤に関する お問い合わせ先 ● ● 「カジュアルに話を聞いてみたい」という温度感でも構いません。 ウェルスナビ採⽤チーム([email protected])までご連 絡お待ちしております。 25 @2024 WealthNavi Inc.

26.

【重要な注意事項】 ● 本資料は、断定的判断を提供するものではなく、情報を提供することのみを⽬的としており、いか なる種類の商品も勧誘するものではありません。最終的な決定は、お客様⾃⾝で判断するものと し、当社はこれに⼀切関与せず、また、⼀切の責任を負いません。 ● 本資料には将来の出来事に関する予想が含まれている場合がありますが、それらは予想であり、ま た、本資料の内容の正確性、信頼性、完全性、適時性等を⼀切保証するものではありません。本資 料に基づいて被ったいかなる損害についても、当社は⼀切の責任を負いません。また、当社は、新 しい情報や将来の出来事その他の情報について、更新⼜は訂正する義務を負いません。 ● 本資料を利⽤することによりお客様に⽣じた直接的損害、間接的損害、派⽣的損害その他いかなる 損害についても、当社は⼀切の責任を負いません。 商号等:ウェルスナビ株式会社 金融商品取引業者 関東財務局長(金商) 第2884号 加入協会:日本証券業協会 一般社団法人日本投資顧問業協会 26 @2024 WealthNavi Inc.

27.

ご清聴ありがとうございました 27 @2024 WealthNavi Inc.