このトピックでは、Resource Orchestration Service (ROS) コンソールでリソースをあるスタックから別のスタックに移動する方法について説明します。
シナリオ
リソースは 1 つのスタックにのみ存在できます。スタック A に既に存在するリソースをスタック B で管理する場合、スタック A からリソースを削除し、スタック B にインポートできます。スタック A からリソースを削除する場合は、Retain ポリシーを使用する必要があります。この例では、Elastic IP Address (EIP) がスタック A からスタック B に移動されます。
前提条件
EIP を含むスタック A が作成されています。詳細については、「ALIYUN::VPC::EIP」および「スタックの作成」をご参照ください。
スタック A から EIP を削除する
このセクションでは、スタック A から EIP を削除しますが、ROS に EIP を保持する方法について説明します。後続の操作でスタック B に EIP をインポートできるように、EIP を保持します。スタックからリソースを削除するときに ROS にリソースを保持する場合は、リソースの DeletionPolicy プロパティを Retain に設定する必要があります。DeletionPolicy プロパティは、リソースが削除される基準となるポリシーを指定します。詳細については、「背景情報」をご参照ください。
手順
ROS コンソール にログインします。
左側のナビゲーションペインで、[スタック] をクリックします。
上部のナビゲーションバーで、リージョン ドロップダウンリストからスタック A が存在するリージョンを選択します。たとえば、中国 (杭州) を選択します。
EIP の
DeletionPolicyプロパティをRetainに設定して、EIP を更新します。詳細については、「スタックからリソースを削除する」トピックの 手順 4 セクションをご参照ください。
EIP の
DeletionPolicyプロパティが空のままになっているか、Deleteに設定されている場合は、この手順を実行する必要があります。EIP のDeletionPolicyプロパティがRetainに設定されている場合は、この手順を無視できます。EIP を削除します。
詳細については、「スタックからリソースを削除する」トピックの 手順 5 セクションをご参照ください。
スタック B に EIP をインポートする
リソースをインポートする場合は、リソースの DeletionPolicy プロパティを指定する必要があります。このプロパティを指定しないと、リソースのインポートは失敗します。
スタック B (新規スタック) に EIP をインポートする
既存のリソースをインポートしてスタックを作成できます。この例では、EIP をインポートしてスタック B を作成します。詳細については、「既存のリソースをインポートしてスタックを作成する」をご参照ください。
インポートされた EIP を使用してスタック B が作成された後、ROS コンソールの [スタック] ページでスタック B を表示し、スタック詳細ページの [リソース] タブで EIP に関する情報を表示できます。
次のサンプルコードは、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スタック B (既存のスタック) に EIP をインポートする
前提条件
EIP を含まないスタック B という名前のスタックが作成されています。詳細については、「スタックの作成」をご参照ください。
手順
既存のリソースをスタックにインポートできます。この例では、EIP をスタック B にインポートします。詳細については、「既存のリソースをインポートしてスタックを更新する」をご参照ください。
EIP がスタック B にインポートされた後、ROS コンソールのスタック詳細ページの [リソース] タブで EIP に関する情報を表示できます。
次のサンプルコードは、EIP をスタック B にインポートする前後のテンプレートを示しています。インポート前は、テンプレートに EIP は含まれていません。インポート後、テンプレートには 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