□プロジェクト概要
現行のオンプレ環境で利用している製品のEoLに伴い、最新バージョンのvSphere8.0、NSX4を用いて
後継基盤の構築の計画から設計、構築、検証を実施。
リージョン冗長で2つの拠点にシステム(vSANクラスタ)を構築。
NSXを用いてSDN環境を構築し、仮想マシンが利用する仮想ネットワークをシステムの故障時やメンテナンス時にクラスタ間で移動できる機能を導入。
また上記環境の構築をAnsible, TerraformといったIaC化ツールで構築。
□チーム情報
・リーダー
・他チームとの交渉(自分)
・インフラ構築(vCenter/ESXi/NSX/L2スイッチ)(自分)
・IaC化ツールの実装(自分)
□担当業務
以下の対応を実施。
・vCenterの構築(コードで自動化)
・ESXiの構築(コードで自動化)
・クラスタ環境構築(Ansibleで自動化)
・vSAN環境構築
・NSX4環境構築(Terraformで自動化)
・仮想ネットワーク環境構築
・物理スイッチの構築
□課題
・NSX4の導入が会社として初めてだったので、どのような構成にするかといったところから検討が必要となった。
・NSX4を構築するためのIaC化ツールを何にするかの選定もセットでやる必要があった。
□取組、工夫点
・vCenter, ESXi, vSANが現行のオンプレサーバを構築したときのAnsibleのコードを応用して作成
・NSX4についてはネットの記事や現行のオンプレサーバ環境(NSX-V)をもとに構成検討を進め、検証環境を構築し構成を固めていった。
・上記の検証環境の構築の段階からTerraformで構築を開始。周りにTerraformを扱っている人がいなかったので独学で勉強した。
サンプルコードを生成AIに作成してもらいつつ、ディレクトリ構成や、モジュール化、バックエンド(S3)などをどうするか自走しながら検討した。
・Terraformで提供しているdataブロックでは取得できない値をexternal data source(python)を作成し、値を取得できるような仕組みを実装した。
□成果
・VMware環境の構築作業の9割をAnsibleを用いて自動化させることができた。(vSANの構築以外全てAnsiblleでIaC化)
・NSX4環境はTerraformですべて構築できた。検証環境、商用環境を同じモジュールを用いて構築できる状態にした。
・AWSのCodecommitでコードをGit管理する仕組みを作った。