Upgrade to Pro — share decks privately, control downloads, hide ads and more …

社内イベント管理システムを1週間でAKSからACAに移行した話し

 社内イベント管理システムを1週間でAKSからACAに移行した話し

第50回 Tokyo Jazug Nightで発表させて頂いた資料です
https://jazug.connpass.com/event/335527/

Shingo_Kawahara

December 18, 2024
Tweet

More Decks by Shingo_Kawahara

Other Decks in Technology

Transcript

  1. 自己紹介 • 河原 慎吾 Microsoft MVP for Azure • 株式会社セゾンテクノロジー

    • R&D組織運営 • クラウド/コンテナ担当 • CCoE Lead • 経歴 • VMwareベースの自社クラウド構築/運営 ⇓⇓⇓ • パブリッククラウド活用推進、組織運営 2 4月に社名 変わったよ
  2. Azure Container Apps • Azure 上でコンテナをデプロイして実行できる、フルマネージドのサー バーレス コンテナー プラットフォーム •

    Kubernetes上で動いているが、Kubernetesを極力意識させない作りに なっている • kubectlでデプロイとかはしない。K8sのバージョンアップも意識しない。 • でもイングレスなどの用語は出てくるのでk8sの知識があった方が理解しやすい 12 https://learn.microsoft.com/ja-jp/azure/container-apps/containers • 2022年にGA
  3. As-Is 全体像 Helm nginx-Ingress ClusterIP Pod Front Pod Front ClusterIP

    Pod Backend Pod Backend NameSpace cert-manager Helm cert-manager SQLDB Blob ServiceEndpoint ScaleSets AKS vNet Developer 社員 Internet ACR 社員マスタ ExRoute PublicPeering M365 Entra ID GraphAPI Internet LogAnalytics Monitor Internet push Internet オフィス 17 deploy Nuxt.js Spring Boot
  4. To-Be 全体像 Helm nginx-Ingress ClusterIP Pod Front Pod Front ClusterIP

    Pod Backend Pod Backend NameSpace cert-manager Helm cert-manager SQLDB Blob ServiceEndpoint ScaleSets AKS vNet Developer 社員 ACR 社員マスタ ExRoute PublicPeering M365 Entra ID GraphAPI Internet LogAnalytics Monitor Internet push オフィス 18 deploy vNet Container App Environment backend Subnet frontend Internet データ保存サービス群は 移行せずそのまま流用する Nuxt.js Spring Boot
  5. ざっくり移行の流れ • ほとんど改修が発生しなかったため、1週間程度でシステム切り替えまで 実行 20 アプリ担当 Azure担当 工程 期間 変更点洗い出し&工数/スケジュール試算

    準備期間 1日目 ユーザー通知 アプリ改修&テスト k8sシークレット値洗い出し 2日目 vNet、ACA構築 CI/CD実装 結合テスト 5日目 既存AKSサーバー停止 リリース 7日目 ドメイン変更
  6. 移行における修正ポイント • Blob Storage SDKが古すぎてMaven Centralから参照できな かったのでバージョンアップ • それに伴い他ライブラリもバージョンアップ •

    Kubernetes secretsの移行 • 各種k8sマニフェストファイルが不要になる • AKSの場合、以下セットが必要 • Bicep、Dockerfile、マニフェストファイル、ソースコード • デプロイ手法の見直し(CI/CD) • カスタムドメインの変更&DNS設定 21