HCP TerraformとAzure:イオンスマートテクノロジーのインフラ革新 / HCP Terraform and Azure AEON Smart Technology's Infrastructure Innovation
by
AEON
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
HCP TerraformとAzure イオンスマートテクノロジーのインフラ⾰新 イオンスマートテクノロジー株式会社 DevSecOps Div SREチーム 林 如弥 2025年01⽉27⽇ LayerX‧イオン‧JALインフォテックに学ぶ Terraformによる⾃動化‧効率化の最前線
Slide 2
Slide 2 text
⽬次 はじめに • 各種紹介(⾃⼰‧会社) • イオンスマートテクノロジーのインフラ概要 • HCP TerraformとAzureの活⽤事例 • 今後の展望 • お知らせ‧宣伝 2
Slide 3
Slide 3 text
各種紹介
Slide 4
Slide 4 text
⾃⼰紹介 各種紹介 もりはや aka 林 如弥(X:@morihaya55) イオンスマートテクノロジー株式会社 DevSecOps Div SREチーム所属 (2024/3⼊社) 趣味:Podcast鑑賞‧映画鑑賞‧読書‧ジョギング おすすめのPodcast 「COTENラジオ」 おすすめの書籍 「数理思考モデルで紐解く RULE DESIGN」 おすすめの映画 「RRR」 4
Slide 5
Slide 5 text
55
Slide 6
Slide 6 text
6 イオングループ紹介 - 関連数字 https://www.aeon.info/company/ - "INFOGRAPHICS 数字で⾒るイオングループ"
Slide 7
Slide 7 text
7 イオングループ紹介 - イオンの主な事業 https://www.aeon.info/company/message/profile/ - "イオン会社案内2024 - イオンの主な事業"
Slide 8
Slide 8 text
8 会社紹介
Slide 9
Slide 9 text
9 iAEONアプリについて 膨⼤なIDと購買データを集約したアプリ「iAEON」 iAEONはイオングループが提供する決済機能やポイントプログラムを1つにまとめたアプリです。 イオングループ内の多数の事業会社がもつ顧客IDを⼀つのアプリに統合しています。
Slide 10
Slide 10 text
10 iAEONアプリについて 膨⼤なIDと購買データを集約したアプリ「iAEON」 iAEONはイオングループが提供する決済機能やポイントプログラムを1つにまとめたアプリです。 イオングループ内の多数の事業会社がもつ顧客IDを⼀つのアプリに統合しています。 https://prtimes.jp/main/html/rd/p/000004399.000007505.html
Slide 11
Slide 11 text
イオンスマートテクノロジーの インフラ概要
Slide 12
Slide 12 text
イオンスマートテクノロジーのインフラ概要 12 iAEONアプリを⽀えるAzureとHCPt
Slide 13
Slide 13 text
イオンスマートテクノロジーのインフラ概要 13 iAEONアプリを⽀えるAzureとHCPt
Slide 14
Slide 14 text
🔵 iAEONを動作させるための主要なリソースが稼働している 🔵 各システムによってアーキテクチャは異なる 🔵 各システムはサブスクリプションとVnetによって分離されている 🔵 RBACによる各システム担当チームごとへ適切な権限付与 🔵 主なコンピューティングリソースはAKS(Azure Kubernetes Service) 🔵 Entra IDを利⽤したNew Relic, PagerDutyなど他ツールへのSSOを実現 14 Microsoft Azureについて
Slide 15
Slide 15 text
イオンスマートテクノロジーのインフラ概要 🔵 Azureのほぼ全てのリソースのプロビジョンを⾏う 🔵 リモートでの`terraform plan, apply`の実⾏と履歴の保存 🔵 Terraformのステートファイルの格納 🔵 環境変数の保存 🔵 HCPt⾃体の設定もIaC管理 🔵 コードと、実リソースとのドリフト検知 15 HCP Terraform(HCPt)について
Slide 16
Slide 16 text
HCP TerraformとAzureの活⽤事例
Slide 17
Slide 17 text
HCP TerraformとAzureの活⽤事例 レビュワが迷わないための情報をPRに書くよう推奨 Azure DevOpsでは”pull_request_template.md”をおくだけ 🔵 対応背景 🔵 対応内容 🔵 レビュー観点、確認して欲しいポイント 🔵 テスト結果について 🔵 備考 17 レビュー時のPRテンプレート活⽤
Slide 18
Slide 18 text
HCP TerraformとAzureの活⽤事例 18 レビュー時のPRテンプレート活⽤-2
Slide 19
Slide 19 text
HCP TerraformとAzureの活⽤事例 特に良いのが「レビュー観点、確認して欲しいポイント」の項⽬。 PRを作成した側の”不安に感じる部分”が引き出されやすい。 (ただし、レビュワーはそれに引きづられすぎてもいけない) ## 以下は記⼊例 ネーミングが適切か 追記の位置が適切か CI(terraform plan)の結果が”No changes”か 19 レビュー時のPRテンプレート活⽤-3
Slide 20
Slide 20 text
HCP TerraformとAzureの活⽤事例 🔵 Terraformのコードは、ほぼ全てモジュール化を⾏っている 🔵 “resource”を書くのは各システムで1回のみ 🔵 リソースを作成する場合はvariablesに列挙していく 20 モジュール化による記述の効率化
Slide 21
Slide 21 text
HCP TerraformとAzureの活⽤事例 🔵 ”modules”ディレクトリに⽤途別のモ ジュールのコード 🔵 “systems”ディレクトリにシステム別の variablesのコード 21 モジュール化による記述の効率化-2
Slide 22
Slide 22 text
HCP TerraformとAzureの活⽤事例 🔵 コードの⾏数は”resource”ベタ書きに⽐べて⼤幅に削減!! 🔵 しかし、確かに⾏数は削減できているが、現状書き⼿に負担が⼤き い状況もある…(今後の展望へ) 22 モジュール化による記述の効率化-3
Slide 23
Slide 23 text
HCP TerraformとAzureの活⽤事例 🔵 コード化されたインフラはコピー作成と削除が可能 🔵 数百を超えるリソースを⼀気に扱える 23 ⼤量リソースな環境の作成と削除
Slide 24
Slide 24 text
HCP TerraformとAzureの活⽤事例 🔵 作成時、基本的には既存のディレクトリをまるっとコピー 🔵 新環境⽤のネーミングルールに沿って⼀括変換 🔵 実のところ、1回でスルッと作成できることはあまりなく、細かな 修正は都度⼊る(共通部分の考慮や、Azure, Terraformの変化など) 🔵 それでもWebポータルから同じことをやるよりは、断然効率が良い 24 ⼤量リソースな環境の作成と削除-2
Slide 25
Slide 25 text
HCP TerraformとAzureの活⽤事例 🔵 Variables Setsは複数のHCPtのWorkspaceで利⽤できる環境変数のセット 🔵 HCPtのWorkspaceにはタグを設定可能 🔵 HCPtの”tfe_workspace_variable_set”とタグのマッチによって、適切な Variable Setsを半⾃動で設定が可能 🔵 格納するのはAzureのService PrincipalやNew RelicのAPI KeyなどTerraform を実⾏するために必要なクレデンシャルなど 25 Variables Setsのタグによる展開
Slide 26
Slide 26 text
HCP TerraformとAzureの活⽤事例 26 Variables Setsのタグによる展開-2
Slide 27
Slide 27 text
HCP TerraformとAzureの活⽤事例 HCLコードのイメージは以下の通り。 Workspaceが増加しても適切なタグさえ付与しておけば、⾃動でVariable Sets が設定されていくのは気持ちが良いほど! 27 Variables Setsのタグによる展開-3
Slide 28
Slide 28 text
今後の展望
Slide 29
Slide 29 text
今後の展望 🔵 Sentinelを活⽤したコードへのポリシー導⼊ 🔵モジュールのリファクタリング 🔵 Azure, New Relic, PagerDuty等がセットで⽴ち上がるように 🔵 リソースが隠蔽されて逆に読みづらい課題の解消 🔵 Copilotの活⽤でTerraform⼈材をより増やす 🔵 そのためにもVCSをADOからGitHubへ移⾏したい…! 29 課題の解消、さらなる進化を
Slide 30
Slide 30 text
まとめ
Slide 31
Slide 31 text
まとめ 🔵 iAEONアプリをはじめ、多くのサービスの基盤としてAzureを利⽤ 🔵 クラウドネイティブな環境でスケーラビリティと柔軟性を実現 🔵 TerraformによるIaCによって、品質、効率、その他多くのメリット 🔵 インフラの⼀貫性確保、変更管理の簡素化、⾃動化の促進 🔵 HCPtは、Terraformの活⽤を⼤幅に加速する便利な機能を持つ 🔵 リモート実⾏、状態管理、チームコラボレーションの強化 31 HCP TerraformとAzureの活⽤は続く
Slide 32
Slide 32 text
お知らせ‧宣伝
Slide 33
Slide 33 text
直近イベントのお知らせ お知らせ 33 https://inhouse-dev-summit.findy-tools.io/2025 https://findy-tools.connpass.com/event/341029/ 私たちイオンのメンバーも登壇!!
Slide 34
Slide 34 text
お知らせ
Slide 35
Slide 35 text
幅広いポジションで積極的に採⽤中で す!! お知らせ 35