リプラットフォームから EC2
AWS での Cloud Migration Factory ソリューションを使うと、EC2 インスタンスのグループをデータストアで定義された設定から自動的に起動し、EBS ボリュームがアタッチされた EC2 インスタンスをデプロイできます。これにより、新しい EC2 インスタンスをプロビジョニングできるようになるため、AWS CloudFormation 経由でリプラットフォームを行い、単一の CMF ユーザーインターフェイス内で AWS MGN を使ってオンプレミスサーバーをリホストすることができます。この機能を使用するには、データストアにサーバーの定義が含まれている必要があります。この問題を解決したら、サーバーをウェーブにリンクする必要があります。EC2 インスタンスを起動することにした場合、ユーザーはウェーブに対して以下のアクションを開始できます。
-
EC2 入力の検証
-
EC2 が CF テンプレートを生成する
-
EC2 デプロイ
前提条件
リプラットフォーム属性アクセスを追加する権限。
スクリプト実行プラットフォームの選択
自動化スクリプトをデプロイする前に、ニーズに最適なコンピューティングプラットフォームを決定します。
-
従来の自動化サーバー: 複雑な依存関係、複数のプログラミング言語、または特定の OS 要件を必要とするシナリオに最適
-
SSM 自動化ドキュメント: オンプレミス環境へのアクセスを必要としない標準の Python ベースの自動化スクリプトに推奨
初期設定
新しい EC2 インスタンスの設定は、ユーザーインターフェイスを使用して新しいサーバーアイテムを作成する方法、またはサーバーアイテムを含む CSV 入力フォームをインポートする方法で行われます。これらの定義は、AWS CMF インスタンスがデプロイされたのと同じ AWS アカウント内の S3 バケットに保存された AWS CloudFormation テンプレートに変換されます。
ユーザーインターフェイス定義
EC2 機能に対するリプラットフォームと併用する AWS Cloud Migration Factory データストアでサーバーを定義する際、サーバーは [リプラットフォーム] の [移行戦略] を使って設定する必要があります。[リプラットフォーム] を選択すると、この機能に必要な追加属性が画面に表示されます。これを正常に機能させるには、以下の属性を入力する必要があります。
必須属性
AMI Id – EC2 インスタンスの起動に使用される Amazon マシンイメージの ID。
アベイラビリティゾーン — EC2 インスタンスがデプロイされる AZ。
ルートボリュームサイズ — インスタンスのルートボリュームのサイズ (GB 単位)。
インスタンスタイプ — 使用する EC2 インスタンスタイプ。
セキュリティグループ ID — インスタンスに割り当てられたセキュリティグループのリスト。
サブネット ID — この EC2 インスタンスを割り当てるサブネット ID。
テナンシー — 現在、リプラットフォームから EC2 への統合でサポートされている唯一のオプションは [共有] であり、その他のオプションはテンプレート生成時に [共有] に置換されます。
オプションの属性
詳細モニタリングを有効化 - チェックを入れると詳細モニタリングができるようになります。
その他のボリューム名 — 追加 EBS ボリューム名のリスト。リスト内の各項目は、[サイズ] と [タイプ] リストと同じ行にマップする必要があります。
その他のボリュームサイズ — 追加 EBS ボリューム名のリスト。リスト内の各項目は、[名前] と [タイプ] リストと同じ行にマップする必要があります。
その他のボリュームタイプ — 追加 EBS ボリュームタイプのリスト。リスト内の各項目は、[名前] と [サイズ] リストと同じ行にマップする必要があります (指定しない場合、デフォルトはすべてのボリュームについて [gp2] となります)。
ボリューム暗号化の EBS KMS キー ID — EBS ボリュームを暗号化する場合は、[キー ID]、[キー ARN]、[キーエイリアス]、または [エイリアス ARN] を指定します。
EBS 最適化を有効にする — 選択して [EBS 最適化] をオンにします。
ルートボリューム名 — 表示されるオプションから選択します。指定されていない場合は ID が使用されます。
ルートボリュームタイプ — 作成するボリュームの EBS タイプを指定します。指定しない場合、デフォルトは [gp2] となります。
インテークフォーム定義
インテークフォームでは、データストアを使用して複数のタイプのレコードを作成または更新するための詳細を CSV ファイルの 1 行にまとめることができ、これにより、関連データをインポートできます。以下の例では、ウェーブ、アプリケーション、サーバーのレコードがインポート時に自動的に作成され、相互に関連付けられます。
例:インテークフォーム
列名 | データの例 | 必須 | メモ |
---|---|---|---|
wave_name |
|
はい |
|
app_name |
|
はい |
|
aws_accountid |
|
はい |
|
server_name |
|
はい |
|
server_fqdn |
|
はい |
|
server_os_family |
|
はい |
|
server_os_version |
|
はい |
|
server_tier |
|
いいえ |
|
server_environment |
|
いいえ |
|
subnet_IDs |
|
はい |
|
securitygroup_ID |
|
はい |
|
instanceType |
|
はい |
|
iamRole |
|
いいえ |
|
tenancy |
|
はい |
|
r_type |
|
はい |
|
root_vol_size |
|
はい |
|
ami_id |
|
はい |
|
availabilityzone |
|
はい |
|
root_vol_type |
|
いいえ |
|
add_vols_size |
|
いいえ |
|
add_vols_type |
|
いいえ |
|
ebs_optimized |
|
いいえ |
|
ebs_kmskey_id |
|
いいえ |
|
detailed_monitoring |
|
いいえ |
|
root_vol_name |
|
いいえ |
|
add_vols_name |
|
いいえ |
インテークフォームをインポートするには、AWS での Cloud Migration Factory ソリューションへの他のデータのインポートと同じ手順に従います。
デプロイアクション
EC2 入力の検証
インスタンスパラメータを定義したら、まず次のウェーブアクションを実行する必要があります。リプラットフォーム>EC2>EC2 の入力検証。このアクションは、有効な CloudFormation テンプレートを作成するために、各サーバーにすべての正しいパラメータが提供されていることを確認します。
注記
この検証では、現在のところ、入力パラメータが有効であるかどうかは検証されず、各サーバー定義に存在することだけが検証されます。テンプレートを作成する前に正しい値を確認する必要があります。そうしないと、テンプレートのデプロイが失敗します。
EC2 が CloudFormation テンプレートを生成する
ウェーブに含まれるすべてのサーバーの定義が検証されたら、CloudFormation テンプレートを生成できます。これを行うには、ウェーブアクションを実行します: リプラットフォーム>EC2>EC2 が CF テンプレートを生成する。このアクションは、ウェーブ内の各アプリケーション用に CloudFormation テンプレートを作成します。この場合、アプリケーション内のサーバーには [リプラットフォーム] の [移行戦略] があります。他の移行戦略が定義されているサーバーはテンプレートに含まれません。
実行すると、各アプリケーションのテンプレートは S3 バケット: -gfbuild-cftemplates に保存されます。これは、AWS での Cloud Migration Factory がデプロイされたときに自動的に作成されました。このバケットのフォルダ構造は以下のとおりです。
-
[ターゲット AWS アカウント ID]
-
[ウェーブ名]
-
CFN_Template_ \_ 0—yaml
-
生成アクションが実行されるたびに、テンプレートの新しいバージョンが S3 バケットに保存されます。テンプレートの S3 URI は通知に記載されます。これらのテンプレートはデプロイ前に必要に応じて確認または編集できます。
現在、CloudFormation テンプレートは以下の CloudFormation リソースタイプを生成しています。
-
AWS::EC2::Instance
-
AWS::EC2::Volume
-
AWS::EC2::VolumeAttachment
EC2 デプロイ
新しい EC2 インスタンスをデプロイする準備ができたら、EC2 デプロイアクションはウェーブアクションリプラットフォーム>EC2>EC2 デプロイから開始できます。このアクションでは、ウェーブ内の各アプリケーション用の最新バージョンの CloudFormation テンプレートを使用し、AWS CloudFormation で選択したターゲットアカウントにこれらのテンプレートをデプロイします。