HULFT10 for Container Services の ECS on Fargate 環境アップデートしてみた

# はじめに
こんにちは。すぎもんです:smiley:
前回、「HULFT for Container Services Ver.10.1.0」の環境構築を実施しましたが、
今回は、「HULFT for Container Services Ver.10.2.0」へのアップデートを実施してみたいと思います。

☆前回記事（環境構築）も参考にしてください
https://qiita.com/sugimon/items/368f3f6746f124c1fa59

# 今回やること
HULFT10 for Container Services（ECS on Fargate）のアップデート手順を実施します。

■オンラインマニュアル
https://dev.hulft.com/help/ja-jp/HULFT-V10/CONT-SUGF/Content/HULFT_SUGF_CONT/aws_marketplace/aws_fargate_update.htm?tocpath=1.%20AWS%20Marketplace%E3%81%8B%E3%82%89%E3%81%AE%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89%7C_____6

**HULFT10 for Container Servicesの環境構成**
HULFT10 for Container Servicesの環境は、**AWS CloudFormation**を利用してアップデートします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/7d4d3bfb-68fb-8b4e-3514-66181132002a.png)


# 実施手順
以下の手順でHULFT for Container Services（ECS on Fargate）をV10.2.0にアップデートします。
**１．事前準備**
①IAMロール作成 
②スタック更新用テンプレートURLの取得
③Amazon Aurora MySQLエンジンバージョンの取得
④データベーススナップショットの作成

**２．スタック更新**
①転送コンテナの停止
②管理コンテナの停止
③RDSの起動
④スタックを更新
⑤スタックの詳細を指定
⑥スタックオプションの設定
⑦スタックの内容確認と更新
⑧スタックの更新確認


# １．事前準備
**①IAMロール作成**
導入ユーザーには「AdministratorAccess」権限が必要です。
「AdministratorAccess」権限のIAMロールがない場合は作成します。
AWSマネジメントコンソールのIAM > ロールで「ロールを作成」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/5cafeb8b-295e-4aac-bc23-3f14db1134e4.png)

「AWSのサービス」にチェックを入れ、[サービスまたはユースケース]に「CloudFormation」を指定して、「次へ」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/83766892-98d2-6126-d463-4b72a3be4bae.png)

「AdministratorAccess」にチェックを入れ、「次へ」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/8ffc9eab-b25b-4c70-486f-e34f75eacf0e.png)

ロール名を入力し、「ロールを作成」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/5b23ae3e-ee57-a7de-4a60-7c56771d7648.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/86f32747-12c7-ea8a-36a5-ea5ad221aeab.png)

IAMロールが作成されたことを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/24c04e34-5dd3-9ad0-8576-902d99f149e4.png)

**②スタック更新用テンプレートURLの取得**
AWS MarketplaceでDeployment templateの「UpdateTemplate1」を右クリックし、「リンクのアドレスをコピー」を選択します。リンクのアドレスはこの後の手順で使用するので、メモしておきます。 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/cc534df1-ba7b-e4a9-3892-c0fc31d43921.png)

**③Amazon Aurora MySQLエンジンバージョンの取得**
AWSマネジメントコンソールのRDS > データベースでアップデート対象クラスタのDB識別子をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/97d92976-5502-054c-41da-55beb3e1463c.png)

[設定]タブの[エンジンバージョン]の値を確認します。エンジンバージョンはこの後の手順で使用するためメモしておきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/128aa1bc-99df-26c3-0770-5c6ae6ecbc44.png)

**④データベーススナップショットの作成**
AWSマネジメントコンソールのRDS > スナップショットで「スナップショットの取得」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/55f2dce3-a268-158f-7479-4816da919224.png)

「DBクラスター」にチェックを入れ、対象のDBクラスターを選択し、スナップショット名を入力して、「スナップショットの取得」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/e8f9c5b5-f789-3c2d-2d3c-3c27d8e6c8d6.png)

スナップショットが作成されることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/abf411ad-69b5-cbd4-218d-401ec1d586b9.png)

# ２．スタック更新
**①転送コンテナの停止**
AWSマネジメントコンソールのAmazon Elastic Container Service > クラスターで対象のクラスターをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/ce2c1d3c-55a3-d0a6-d372-c4e8d11024d8.png)
[Deployments and tasks]でタスクの起動状況を確認します。
タスクが起動している場合は転送コンテナのサービス名をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/43603021-8f07-49e8-0b14-f41ae07dd37d.png)

「サービスを更新」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/c1049fa1-69b2-0a70-e825-f2eca27d7a91.png)

[必要なタスク]に「0」を入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/df8bc148-fea6-4844-c4ba-e0173315a8d0.png)

[タスクの最小数]に「0」を入力して、「更新」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/a67d8fca-aa18-4b0d-0c16-3ca20e2ac3f0.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/ee601f27-9a8e-1a31-ad26-d44c6943189f.png)

**②管理コンテナの停止**
AWSマネジメントコンソールのAmazon Elastic Container Service > クラスターで対象のクラスターをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/c9bef8c7-abcc-795e-67b8-637a66470dfb.png)

[Deployments and tasks]でタスクの起動状況を確認します。
タスクが起動している場合は管理コンテナのサービス名をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/465d2f13-3fdc-d4ae-70e2-6939d289836e.png)

「サービスを更新」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/5f1ed5b3-595e-e691-ba4e-6174e57478f8.png)

[必要なタスク]に「0」を入力して、「更新」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/fac1de5d-ab7f-52e9-edb3-8ce166373d92.png)


**③RDSの起動**
AWSマネジメントコンソールのRDS > データベースで対象クラスターのステータスが「一時的に停止済み」になっている場合は、対象クラスターにチェックを入れ、アクション⇒開始を選択して、クラスターを起動します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/0d2f6e60-5fdd-b1e2-2cbe-ea9b5a9e6c3a.png)

対象クラスターのステータスが「利用可能」になっていることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/981d8015-6bde-9bad-9d32-77c634458b07.png)

**④スタックを更新**
AWSマネジメントコンソールのCloudFormation > スタックで、更新対象のスタック名で検索し、[ネストされているものを表示]をOFFにします。対象のスタック名をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/ed5841e3-e783-46b5-eeab-b641da3391a1.png)

更新ボタンを押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/bc1ab64a-2419-d909-5f1a-e51fd290ba10.png)

「既存のテンプレートを置換」と「Amazon S3 URL」にチェックを入れ、「[１．事前準備](#１事前準備) ②スタック更新用テンプレートURLの取得」で取得したAmazon S3 URLを入力して、「次へ」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/4fdb0d3b-a4aa-82ed-8f32-87c2d1728219.png)

**⑤スタックの詳細を指定**
スタックの詳細を指定します。
[DBEngineVersion]には「[１．事前準備](#１事前準備) ③Amazon Aurora MySQLエンジンバージョンの取得」で取得したエンジンバージョンを指定し、「次へ」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/e2ebd273-233c-d0a5-d5da-901c584e7928.png)

**⑥スタックオプションの設定**
アクセス許可に「[１．事前準備](#１事前準備) ①IAMロール作成」で作成したIAMロールを指定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/43d88f93-6649-279d-0605-60bb7cfd758d.png)

確認事項にチェックを入れ、「次へ」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/fef41c45-2cc4-e297-207f-b3e817ae2adf.png)

**⑦スタックの内容確認と更新**
設定した内容を確認し、「送信」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/819d257e-1ee6-3738-fb97-8d913fecdfb9.png)

**⑧スタックの更新確認**
更新したスタックの[イベント・アップデート済み]をクリックし、更新したスタックのステータスが「UPDATE_COMPLETE」となっていることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/c1d451cf-7574-00be-a1b5-567997725062.png)

# 最後に
皆さん、いかがでしたでしょうか。
HULFT10 for Container Servicesのアップデートは、AWS CloudFormationにより、シンプルな手順で実施することができました。事前準備で確認したことをしっかりメモしておくことにより、スタック更新時の設定もスムーズに進められると思います。

このブログでは、今後も様々なTopics記事や接続検証等、皆さんの役に立つような記事を投稿していきたいと思います！
これからも是非チェックいただき、宜しければフォローをお願いします。
最後まで読んでいただきありがとうございました！それでは、また！