Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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