0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CloudFormation で Amazon EVS を爆速デプロイ! 「Guidance for Automated Setup for Amazon EVS」

0
Last updated at Posted at 2026-04-19

はじめに

Amazon Elastic VMware Service (Amazon EVS) は、VMware Cloud Foundation (VCF) をネイティブに AWS 上で動かせるサービスです。詳細はこちらの記事をご覧ください。

Amazon EVS は VPC・DNS・ルーティング・VLAN 設計など、ネットワーク構成を自由にカスタマイズできる柔軟性の高いサービスです。しかしその自由度の高さゆえに、環境構築に必要なリソース数が多く、デプロイが複雑になりやすいという側面があります。

そんな課題を解消するソリューションが、AWS Solutions Library の中で公開されています。

image.png

Guidance for Automated Setup for Amazon Elastic VMware Service
https://aws.amazon.com/jp/solutions/guidance/automated-setup-for-amazon-elastic-vmware-service/

CloudFormation テンプレート 1 つ(evs_create_world.yaml)で、VPC・DNS・Route Server・Transit Gateway・EVS 環境まで、約 53 リソースを一括デプロイできます。本記事ではその仕組みを詳しく解説します。

注意: 本稿執筆時点の情報をもとにしています。最新情報は GitHub リポジトリ を参照してください。


手動デプロイの何がつらいのか

Amazon EVS を手動で構築する場合、自由度が高いが故に以下のような課題があります。

  • VPC、サブネット、Route 53、Route Server、DHCP など 50 以上のリソースを個別に構成する必要がある
  • DNS の正引き・逆引きレコードを 24 件手動で作成
  • 10 個の VLAN セグメントの IP アドレス設計が必要
  • リソース間の依存関係を正しい順序で構築する必要がある
  • 設定ミスのリスクが高く、再現性がない

image.png


CloudFormation で何が変わるか

evs_create_world.yaml を使うと、以下がすべて自動化されます。

  • 約 53 リソースを正しい依存関係で一括デプロイ
  • DNS レコード(正引き 12 件 + 逆引き 12 件)を自動作成
  • CIDR ベースの IP アドレス自動計算
  • パラメータ入力のみで環境をカスタマイズ可能
  • ベストプラクティスに従った再現性のある標準化されたデプロイ

image.png


アーキテクチャ全体像

evs_create_world.yaml が作成する AWS リソース

合計 約 53 リソース(Transit Gateway 含む) / 51 リソース(TGW 含まず)

このソリューションが作成する AWS リソースは、大きく 6 つのカテゴリに分かれます。

カテゴリー リソース数 主な内容
Route 53 (DNS) 26 Hosted Zones × 2(正引き・逆引き)、A レコード × 12、PTR レコード × 12
VPC Infrastructure 12 VPC、Subnets、IGW、NAT GW、Route Tables、EIP
Route Server 8 Route Server、Endpoints × 2、BGP Peers × 2、Route Propagations × 2
DHCP + R53 Resolver 3 DHCP Options Set、Route 53 Inbound Resolver
Transit Gateway 2 TGW + VPC Attachment(CreateTGWFlag=Create 時のみ)
EC2 Key Pair 1 RSA PEM 形式(ESXi ホストアクセス用)
EVS Environment 1 4x i4i.metal ホスト、10 VLAN セグメント、VCF 構成

Infrastructure Composer で見るリソース構成図

CloudFormation の Infrastructure Composer でテンプレートを開くと、リソース間の依存関係が可視化されます。左側の Route 53 レコード群(Forward/Reverse)、中央の DNS ゾーン、右側の VPC・Route Server 系、そして最終的に EVSEnvironment にすべてが集約される構造になっていることがわかります。

image.png


CloudFormation テンプレート詳細分析

テンプレートパラメータ(入力値)

パラメータは以下のグループに分けられます。

入力が必要なのはBroadcom Site IDと、VCF ソリューションキー、vSAN ライセンスキー、デプロイ先 AZ の指定の4 つのみです。他の項目はデフォルト値を使うこともできます。

VCF / vSAN ライセンス

パラメータ名 説明 値の例
MyVcfVersion VCF バージョン VCF-5.2.1 / VCF-5.2.2
MySiteId Broadcom Site ID(7 桁) 一意のサイト ID
MySolutionKey VCF ソリューションキー ライセンスキー文字列
MyVsanKey vSAN ライセンスキー ライセンスキー文字列

AZ / ネットワーク

パラメータ名 説明 値の例
MyAZ デプロイ先 Availability Zone us-east-1a
CreateTGWFlag Transit Gateway 作成フラグ Skip / Create
MyFQDN 完全修飾ドメイン名 evs.example.com
MyCIDR VPC CIDR の最初の 2 オクテット 10.0. (末尾ドット必須)

ホスト名

パラメータ名 説明 値の例
MyESXI01-04 ESXi ホスト名(4 台) esxi01 ~ esxi04
MyVC, MyNSX, MySDDCM, MyCB 管理コンポーネント名 vc, nsx, sddcm, cb
MyEdge01-02 NSX Edge ノード名 edge01, edge02
MyNSX01-03 NSX Manager ノード名 nsx01, nsx02, nsx03

MyCIDR パラメータの仕組み(/16 固定)

MyCIDR は最初の 2 オクテットのみを指定するプレフィックス文字列で、テンプレート内で第 3・第 4 オクテットが直接文字列結合されるため、VPC は常に /16 で作成されます。/18 等のカスタム CIDR には非対応です。

例: MyCIDR = "10.0."

VPC:                10.0.0.0/16
Service Access:     10.0.0.0/24
Public Subnet:      10.0.5.0/24
VMkernel Mgmt:      10.0.10.0/24
ESXi01 IP:          10.0.10.11
vCenter IP:         10.0.60.10

条件付きリソース: Transit Gateway

CreateTGW 条件(CreateTGWFlag == "Create")の場合のみ、Transit Gateway と VPC Attachment が作成されます。既存の TGW を流用したい場合や TGW が不要の場合は Skip を選択すれば OK です。


ネットワーク設計(VLAN / サブネット / DNS)

ここから 入力した値を元にリソースがどのように自動デプロイされるのかを解説してみます。

image.png

DNS リソース — Route 53(26 リソース)

2 つの Hosted Zone が作成されます。

  • ForwardDNSZone: 正引き Hosted Zone — {MyFQDN}
  • ReverseDNSZone: 逆引き Hosted Zone — {MyCIDR 逆順}.in-addr.arpa

正引きレコード(12 件)

リソース名 FQDN IP アドレス
ESXI01Forward esxi01.{FQDN} {CIDR}10.11
ESXI02Forward esxi02.{FQDN} {CIDR}10.12
ESXI03Forward esxi03.{FQDN} {CIDR}10.13
ESXI04Forward esxi04.{FQDN} {CIDR}10.14
vCenterForward vc.{FQDN} {CIDR}60.10
NSXMgrForward nsx.{FQDN} {CIDR}60.11
SDDCMForward sddcm.{FQDN} {CIDR}60.12
CBForward cb.{FQDN} {CIDR}60.13
Edge01Forward edge01.{FQDN} {CIDR}60.14
Edge02Forward edge02.{FQDN} {CIDR}60.15
NSX01Forward nsx01.{FQDN} {CIDR}60.16
NSX02Forward nsx02.{FQDN} {CIDR}60.17
NSX03Forward nsx03.{FQDN} {CIDR}60.18

逆引きレコード(12 件)

リソース名 PTR レコード 解決先 FQDN
ESXI01Reverse 11.10.{CIDR 逆} esxi01.{FQDN}
vCenterReverse 10.60.{CIDR 逆} vc.{FQDN}
NSXMgrReverse 11.60.{CIDR 逆} nsx.{FQDN}

(全 12 件が対応する正引きレコードに対して自動生成されます)

これを手動でやるとなると、入力ミスや記法ミスなどで手戻りが発生することがあるので自動化の恩恵が一番大きいところかもしれません。


image.png

VPC Infrastructure — 12 リソース

リソース 詳細
UnderlayVPC {CIDR}0.0/16、DNS サポート有効
ServiceAccessSubnet {CIDR}0.0/24
PublicVPCSubnet {CIDR}5.0/24
ServiceAccessSubnetRTB Route Table + Association
PublicSubnetRTB Route Table + Association
VPCInternetGateway IGW + VPC Attachment
NatGWEIP + VPCNatGateway Elastic IP + NAT Gateway
PublicRouteIGW 0.0.0.0/0 → IGW
PrivateRouteNATGateway 0.0.0.0/0 → NAT GW

DHCP — 2 リソース

リソース 詳細
DHCPOptionsSet Domain={FQDN}DNS={CIDR}0.100/0.101NTP=169.254.169.123
AssociateDHCPOpsSetVPC VPC に DHCP Options Set を関連付け

Route Server — 8 リソース

リソース 詳細
EVSRouteServer ASN 65022、PersistRoutes=enable
EVSRouteServerAssociation VPC に関連付け
EVSRouteServerEndpoint01/02 ServiceAccessSubnet 内
EVSRouteServerPeer01 ASN=65000、{CIDR}80.10 (NSX Uplink)
EVSRouteServerPeer02 ASN=65000、{CIDR}80.11 (NSX Uplink)
Propagation (x2) ServiceAccess RTB + Public RTB

Transit Gateway — 2 リソース(条件付き)

リソース 詳細
EVSTGW Condition: CreateTGW
EVSTGWVPCAttachment ServiceAccessSubnet に接続

EVS Environment — 1 リソース

すべてのリソースに依存する 最終リソースです。

  • 4x i4i.metal ホスト + 10 VLAN セグメント
  • VCF ホスト名設定 + ライセンス情報
  • Route Server Peering 接続

10 個の VLAN セグメントと IP アドレス設計

MyCIDR パラメータ(例: 10.0.)から各セグメントの /24 サブネットが自動計算されます。

# VLAN 名 CIDR 用途 備考
1🟦 VmkManagement {CIDR}10.0/24 ESXi ホスト管理ネットワーク ESXi 01-04: .11-.14
2🟦 VMotion {CIDR}20.0/24 vMotion(VM ライブマイグレーション)
3🟩 VSan {CIDR}30.0/24 vSAN ストレージトラフィック
4🟨 VTep {CIDR}40.0/24 NSX VXLAN トンネルエンドポイント
5🟨 EdgeVTep {CIDR}50.0/24 NSX Edge VTEP
6🟧 VmManagement {CIDR}60.0/24 VM 管理コンポーネント vCenter, NSX, SDDCM, CB, Edge, NSX Mgr
7🟧 Hcx {CIDR}70.0/24 VMware HCX(ハイブリッド接続)
8🟥 NsxUpLink {CIDR}80.0/24 NSX アップリンク(BGP ピアリング) Peer: .10, .11 → Route Server
9⬜ ExpansionVlan1 {CIDR}90.0/24 拡張用 VLAN 1 将来の拡張に予約
10⬜ ExpansionVlan2 {CIDR}100.0/24 拡張用 VLAN 2 将来の拡張に予約
  • 🟦 ホスト管理系(#1, #2)
  • 🟩 ストレージ系(#3)
  • 🟨 オーバーレイ系(#4, #5)
  • 🟧 VM 管理系(#6, #7)
  • 🟥 アップリンク系(#8)
  • ⬜ 拡張予約(#9, #10)

デプロイ手順

AWS マネジメントコンソールからのデプロイの場合

AWS マネジメントコンソールから CloudFormation -> スタック -> スタックの作成 にてデプロイできます。

  • GitHub リポジトリから ダウンロードした evs_create_world.yaml をテンプレートとしてアップロードします。

    image.png

  • 必要項目を入力してデプロイを行います。多くの項目がデフォルトで入力されています。
    image.png

AWS CLI でのデプロイの場合

# 1. リポジトリをクローン
git clone https://github.com/aws-solutions-library-samples/guidance-for-automated-setup-for-elastic-vmware-service-on-aws.git

# 2. デプロイディレクトリに移動
cd guidance-for-automated-setup-for-elastic-vmware-service-on-aws/deployment

# 3. CloudFormation スタックをデプロイ
aws cloudformation create-stack \
  --stack-name evs-environment \
  --template-body file://evs_create_world.yaml \
  --parameters ParameterKey=MyVcfVersion,ParameterValue=VCF-5.2.1 \
               ParameterKey=MySiteId,ParameterValue=<BroadcomSiteID> \
               ParameterKey=MySolutionKey,ParameterValue=<VCFライセンスキー> \
               ParameterKey=MyVsanKey,ParameterValue=<vSANライセンスキー> \
               ParameterKey=MyAZ,ParameterValue=us-east-1a \
               ParameterKey=MyFQDN,ParameterValue=evs.example.com \
               ParameterKey=MyCIDR,ParameterValue=10.0. \
  --capabilities CAPABILITY_IAM

の CloudFormation からパラメータをフォームで入力してデプロイすることもできます。


注意事項と制約

  • DNS は Route 53 のみ対応: カスタム DNS サーバーを使いたい場合は、このテンプレートは使えません。Amazon EVS ユーザーガイドの手動手順に従ってください。
  • CIDR 固定: VPC は常に /16 で作成(カスタム CIDR には非対応)
  • サービスクォータ: i4i.metal インスタンスの vCPU クォータ(512 vCPU = 4 x 128)が事前に確保されている必要があります。
  • クリーンアップ時の順序: CloudFormation スタック削除前に、EVS Environment を手動で削除する必要があります。
# ESXi ホストの削除
aws evs delete-environment-host --environment-id [environment-id] --host [host]
# EVS Environment の削除
aws evs delete-environment --environment-id [environment-id]
# CloudFormation スタック削除
aws cloudformation delete-stack --stack-name evs-environment

デプロイ後の Next Steps

デプロイが終わったら、次は以下の作業に進みます。

  1. CloudFormation スタック出力値の確認
    EVS Environment ID、VPC ID、Subnet ID 等の出力値を記録
  2. vCenter / NSX Manager へのアクセス確認
    DNS 名前解決の確認、管理コンソールへのログイン検証
  3. ネットワーク接続の検証
    Transit Gateway 経由の接続、BGP ピアリング状態の確認
  4. VMware ワークロードの移行計画策定
    HCX を活用した移行戦略の検討、移行対象 VM の選定
  5. 運用監視・バックアップの設定
    CloudWatch 監視、AWS Backup の設定、アラート通知の構成

まとめ

Amazon EVS のデプロイは、手動では 50 以上のリソースを正しい依存関係で構築する必要があり、DNS レコードの手動作成まで含めると非常に骨の折れる作業でした。

今回紹介した Guidance for Automated Setup for Amazon EVS を使えば、CloudFormation テンプレート 1 つで約 53 リソースを一括デプロイでき、MyCIDR プレフィックスを指定するだけで 10 個の VLAN セグメントと 24 件の DNS レコードが自動生成されます。再現性の高い、標準化されたデプロイが実現できるため、PoC や検証環境の構築、複数環境の展開にぴったりです。

Amazon EVS を触ってみたいけど環境構築がハードル、という方はぜひ試してみてください。

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?