# アンインストール手順

HULFT10 for Container Servicesをアンインストールする場合は、以下の手順に従い処理を行います。

なお、このページに記載されている手順では各種サービスのログは削除されず残ります。

## 事前準備

HULFT10 for Container Servicesのアンインストールにあたって、事前に確認しておく情報があります。

### アンインストールユーザーの権限設定

アンインストールには導入ユーザーと同じ権限が必要です。

詳細は、「AWS Marketplaceからの環境構築」-「事前準備」の「導入ユーザーの権限設定（必須）」を参照してください。

### アンインストールに必要な情報の確認

CloudFormationスタックの削除に必要な情報を、アンインストール作業の前に取得しておきます。

アンインストール作業の流れは以下のとおりです。

開始 |  |
↓ |  |
転送コンテナおよび管理コンテナの停止 |  | アンインストール作業の途中で転送を受け付けないように、あらかじめコンテナを停止しておきます。 コンテナを停止しない場合、サブスクリプションを削除しても継続して課金が発生します。
↓ |  |
サブスクリプションのキャンセル |  | Marketplaceでサブスクライブしたライセンスを解約します。 ライセンス解約後は、新規に管理コンテナの起動ができません。 ライセンス解約前に起動した管理コンテナは、停止するまで課金が発生します。
↓ |  |
カスタムリソースの削除 |  | CloudFormationで作成した環境に、後から追加したリソース（カスタムリソース）を削除します。 カスタムリソースがある状態でスタックの削除を実行すると、削除に失敗します。
↓ |  |
CloudFormation Template2 スタックの削除 |  | CloudFormationで作成したスタックを削除します。 ECS、Amazon Aurora MySQL、ALBなどのHULFT通信を行うためのリソースが削除されます。
↓ |  |
CloudFormation Template1 スタックの削除 |  | CloudFormationで作成したスタックを削除します。 導入時に作成したVPC上のリソースが全て削除されます。 カスタムリソースが残っているため削除に失敗した場合は、カスタムリソースを削除した後に、スタックの削除を再実施します。
↓ |  |
ログデータの削除（任意） |  | スタックの削除では消えないリソースがあります。 必要ない場合は削除します。
↓ |  |
終了 |  |

### 転送コンテナおよび管理コンテナの情報取得

転送コンテナおよび管理コンテナを停止するために必要な情報を取得します。

1. 作成済みのHULFT10 for Container ServicesのCloudFormation Template2の実行スタックのリソースタブをクリックします。

2. 論理IDがECSSummary1の行の物理IDをクリックします。

   ECSSummary1でネストされたスタックの情報画面が開きます。

3. 論理IDがECS1の行の物理IDをクリックします。

   ECS1でネストされたスタックの情報画面が開きます。

4. リソースタブをクリックしてEcsCluster、EcsService、およびEcsService2の値を取得します。

### スタックで作成されたVPCの情報取得

スタックの削除を確認するために必要な情報を取得します。

1. 作成済みのHULFT10 for Container ServicesのCloudFormation Template1の実行スタックのリソースタブをクリックします。

2. 論理IDがNetwork1の行の物理IDをクリックします。

   Network1でネストされたスタックの情報画面が開きます。

3. リソース タブをクリックして、論理IDがVPC1の行の物理IDをクリックします。

   VPC1でネストされたスタックの情報画面が開きます。

4. リソースタブをクリックしてEC2VPC1の値を取得します。

### サブスクリプションの確認

サブスクリプションを削除するために必要な契約IDを、CLIまたはMarketplaceのページで取得します。

CLIでHULFT10 for Container Servicesの契約ID（agreementId）を取得するコマンドの例

    aws marketplace-agreement search-agreements --catalog "AWSMarketplace" --filters name=PartyType,values=Acceptor name=AgreementType,values=PurchaseAgreement name=ResourceIdentifier,values=prod-xnj354j4fn57u name=Status,values=ACTIVE --region us-east-1

コマンド応答に含まれるagreementIdは後続の手順で使用するため保管してください。

## スタックの削除

作成済みのHULFT10 for Container ServicesのTemplate1スタックおよびTemplate2スタックを削除します。

スタックの削除でEC2環境をアンインストールする手順は以下のとおりです。

1. 転送コンテナの停止

   事前準備で取得した情報を利用してCLIまたはECSのページでサービスの停止を行います。

   CLIで転送コンテナを停止するコマンドの例

       aws ecs update-service --cluster EcsCluster --service EcsService2 --desired-count 0

   このコマンドの--clusterには、事前準備で取得したEcsClusterの値を指定します。

   このコマンドの--serviceには、事前準備で取得したEcsService2の値を指定します。

2. 管理コンテナの停止

   事前準備で取得した情報を利用してCLIまたはECSのページでサービスの停止を行います。

   CLIで管理コンテナを停止するコマンドの例

       aws ecs update-service --cluster EcsCluster --service EcsService --desired-count 0

   このコマンドの--clusterには、事前準備で取得したEcsClusterの値を指定します。

   このコマンドの--serviceには、事前準備で取得したEcsServiceの値を指定します。

3. サブスクリプションのキャンセル

   事前準備で取得した情報を利用してMarketplaceのページでサブスクリプションをキャンセルします。

   1. サブスクリプションの管理を開き、アクティブなサブスクリプションを開きます。

   2. 契約 IDの列に表示されているIDと、事前準備で取得したagreementIdが一致しているものを探し、契約IDのリンクを開きます。

   3. アクションボタンのサブスクリプションをキャンセルを選択し、サブスクリプションをキャンセルします。

   4. キャンセル実施後にサブスクリプションの状態を確認します。

   CLIでサブスクリプションの状態を取得するコマンドの例

       aws marketplace-agreement describe-agreement --region us-east-1 --agreement-id  agreementId

   このコマンドの--agreement-idには、事前準備で取得したagreementIdの値を指定します。

   レスポンスのstatusが“CANCELLED”であることを確認してください。

4. カスタムリソースの削除

   「AWS Marketplaceからの環境構築」-「導入手順」を実施した後に、スタックで作成されたリソースに変更を加えた場合は、変更を元に戻してください。

5. CloudFormation Template2のスタックを削除

   1. 作成済みのHULFT10 for Container ServicesのCloudFormation Template2の実行スタックを開きます。

   2. 削除ボタンからスタックの削除を実行します。

   3. およそ40分で実行が完了します。スタックの情報－ステータスがDELETE_COMPLETEになっていることを確認します。

6. CloudFormation Template1のスタックを削除

   1. 作成済みのHULFT10 for Container ServicesのCloudFormation Template1の実行スタックを開きます。

   2. 削除ボタンからスタックの削除を実行します。

   3. およそ20分で実行が完了します。スタックの情報－ステータスがDELETE_COMPLETEになっていることを確認します。

7. VPCの確認

   事前準備で取得した情報を利用してCLIまたはVPCのページで、スタックで作成されたVPCが削除されていることを確認します。

   CLIでVPCを確認するコマンドの例

       aws ec2 describe-vpcs --vpc-ids EC2VPC1

   このコマンドの--vpc-idsには、事前準備で取得したEC2VPC1の値を指定します。

   正常にスタックの削除が完了していると、VPCが見つからないためエラーになります。

   VPCの情報が出力される場合は削除が正常に完了していません。

   問題があるリソースを手動で削除し、再度スタックの削除を実施してください。

## ログデータの削除（任意）

HULFT10 for Container ServicesのCloudFormationスタックで作成されるリソースの一部は、スタックを削除した後も残ります。

残るリソースは、バックアップデータやログデータとして、一定期間保持しておく可能性があるものです。

必要ない場合は、削除してください。

スタックを削除しても残るリソースの一覧は「ログデータの取得および削除」を参照してください。