このトピックでは、あるスタックから別のスタックにリソースを移動する方法について説明します。
利用シーン
リソースは 1 つのスタックにしか存在できません。リソースがすでにスタック A に存在しているが、スタック B を使用して管理したい場合は、リソースを削除せずにスタック A から削除し、そのリソースをスタック B にインポートできます。このトピックでは、Elastic IP アドレス (EIP) を例に、EIP をスタック A からスタック B に移動する方法を説明します。
前提条件
EIP リソースを含むスタック (スタック A) が作成済みであることを確認します。詳細については、「ALIYUN::VPC::EIP」および「スタックの作成」をご参照ください。
スタックからのリソースの削除
この例では、EIP リソースはスタック A から削除されますが、保持されます。これにより、EIP リソースを別のスタックであるスタック B にインポートできます。スタックからリソースを削除する際にリソースを保持したい場合は、リソースの DeletionPolicy 属性を Retain に設定します。詳細については、「背景情報」をご参照ください。
操作手順
-
左側のナビゲーションウィンドウで、スタック をクリックします。
-
上部のナビゲーションバーで、リージョンのドロップダウンリストからリージョン (例:中国 (杭州)) を選択します。
-
リソースの削除ポリシーを更新します。EIP リソースの
DeletionPolicyをRetainに設定します。操作の詳細については、「削除ポリシーの更新」をご参照ください。
リソースに
DeletionPolicyが設定されていない場合、またはDeletionPolicyがDeleteに設定されている場合は、この手順を実行する必要があります。DeletionPolicyがRetainに設定されている場合は、この手順をスキップできます。 -
EIP リソースを削除します。
操作の詳細については、「リソースの削除」をご参照ください。
新しいスタックへのリソースのインポート
リソースをインポートする際は、DeletionPolicy 属性を設定する必要があります。設定しない場合、インポートは失敗します。
既存のリソースを使用したスタックの作成
既存の EIP リソースをインポートして、スタック B を作成できます。操作の詳細については、「既存のリソースからのスタックの作成」をご参照ください。
操作が成功すると、ROS コンソールで新しいスタック B を表示できます。インポートされた EIP リソースに関する情報は、スタック B の リソース タブで確認できます。
以下は、リソースインポート用のサンプルテンプレートです。
ROSTemplateFormatVersion: '2015-09-01'
Resources:
Eip:
Type: ALIYUN::VPC::EIP
DeletionPolicy: Retain
Properties:
Bandwidth: 5
Outputs:
EipAddress:
Value:
Fn::GetAtt:
- Eip
- EipAddress
AllocationId:
Value:
Fn::GetAtt:
- Eip
- AllocationId
既存のリソースのスタックへのインポート
前提条件
EIP リソースを含まないスタック (スタック B) が作成済みであることを確認します。操作の詳細については、「スタックの作成」をご参照ください。
操作手順
既存の EIP リソースをスタック B にインポートできます。操作の詳細については、「既存のリソースのスタックへのインポート」をご参照ください。
操作が完了すると、インポートされた EIP リソースに関する情報がスタック B の リソース タブで確認できます。
この例では、リソースのインポート前はテンプレートに EIP リソースが含まれていませんが、インポート後にはこれらのリソースが追加されます。サンプルテンプレートは次のとおりです。
インポート前
ROSTemplateFormatVersion: '2015-09-01'
インポート後
ROSTemplateFormatVersion: '2015-09-01'
Resources:
Eip:
Type: ALIYUN::VPC::EIP
DeletionPolicy: Retain
Properties:
Bandwidth: 5
Outputs:
EipAddress:
Value:
Fn::GetAtt:
- Eip
- EipAddress
AllocationId:
Value:
Fn::GetAtt:
- Eip
- AllocationId