# 事前準備

HULFT10 for Container Servicesの導入にあたって、事前に確認および決定しておく情報があります。

## 導入ユーザーの権限設定（必須）

導入ユーザーには「AdministratorAccess」権限が必要です。

導入作業のため様々なリソースへのアクセス、CloudFormation実行のためのIAMロール作成を行います。

CloudFormationを実行する際に指定するIAMロールについては、「CloudFormation実行ロール（必須）」を参照してください。

## サービスクォータの確保（必須）

CloudFormationで作成するリソースの中にはクォータが定められているものがあります。CloudFormationの実行前にHULFT10導入リージョンの各クォータに空きがあることを確認してください。 空きがない場合、クォータの引き上げリクエストを行うことができます。

詳細は 以下のAWS 公式ドキュメント を参照してください。

「クォータ引き上げのリクエスト」 （2023年11月1日現在）

CloudFormationで作成されるリソースのうち、初期クォータ数が少なく枯渇しやすいリソースについては、以下の表でご確認ください。

表1.2 初期クォータ数が少なく枯渇しやすいリソース

サービス名 | 作成数 | サービスクォータ
--- | --- | ---
VPC | 1 | VPCs per Region
Internet gateway | 1 | Internet gateways per Region
NAT gateway | 1 | NAT gateways per Availability Zone
Elastic IP | 1 | EC2-VPC Elastic IPs
Amazon Simple Storage Service (Amazon S3) | 2 | General purpose buckets

## 導入に必要な情報の確認

CloudFormationの実行時およびEFS導入VPCの設定に必要な情報を、導入作業の前に決定しておきます。

導入作業の流れは以下のとおりです。

図1.5 導入作業の流れ

事前に決定した値をどのCloudFormationのパラメーターに設定するのかについては、「表1.3 事前準備が必要なCloudFormationのパラメーター」でご確認ください。

(CloudFormation_parameters.csv)

  をクリックすると、各パラメーターの値をメモするファイルをダウンロードできます。

  CloudFormationを実行するとき、メモした値をコピーして各パラメーターに貼り付けてください。

表1.3 事前準備が必要なCloudFormationのパラメーター

グループ名 | パラメーター名 | 要否 | 事前準備 | AWSサービス名 | 入力説明
--- | --- | --- | --- | --- | ---
CloudFormation NewDeployTemplate1
System Parameters | 01ResourceIdentifier | 必須 | 「システム名の決定（必須）」 |  | 19文字以内、英小文字、数字およびハイフン（-）
Create VPC Configuration | 02VpcCIDR | 必須 | 「新規作成するVPCのCIDRの確認（必須）」 | Amazon VPC | アドレス空間は最小 /24
Peering EFS VPC Configuration | 05EfsPeeringVpcId | 必須 | 「EFS導入VPCのVPCID、CIDR、EFSID情報（必須）」 | Amazon VPC Amazon EFS |
06EfsPeeringVpcCidr | 必須 |
External ALB Configuration | 14SourceIP1 | 必須 | 「HULFT10への接続を許可するIPリストの確認（必須）」 |  | 接続の制限をかけない場合は、「14SourceIP1」に0.0.0.0/0 を設定
15SourceIP2 | 任意
16SourceIP3 | 任意
Peering HULFT VPC Configuration | 17PeeringVpcId | 任意 | 「HULFT8導入VPCID、CIDR情報（任意）」 | Amazon VPC |
18PeeringVpcCidr | 任意 |
アクセス許可 | 必須 | 「CloudFormation実行ロール（必須）」 | IAM |
CloudFormation NewDeployTemplate2
EC2 Configuration | 03ImageId | 任意 | 「使用するAMIのIDの取得（任意）」 | Amazon EC2 |
19KeyName | 必須 | 「キーペアの作成（必須）」 | Amazon EC2 |
DB Configuration | 22DBEngineVersion | 任意 | 「データベース エンジンバージョンの取得（任意）」 | Amazon RDS |
Storage Configuration | 04EfsId | 必須 | 「EFS導入VPCのVPCID、CIDR、EFSID情報（必須）」 | Amazon VPC Amazon EFS |
21S3IAMPolicy | 任意 | 「S3接続の準備（任意）」 |  |
Domain Configuration | 12DomainName | 必須 | 「Route 53へのホストゾーン登録（必須）」 | Amazon Route 53 |
13HostZoneID | 必須 |
アクセス許可 | 必須 | 「CloudFormation実行ロール（必須）」 | IAM |

### システム名の決定（必須）

任意のシステム名を決定します。CloudFormationで作成するAWSのリソース名およびDNS名に使用します。

入力説明 | : | 19文字以内、英小文字、数字およびハイフン（-）
設定先 | : | 「CloudFormation NewDeployTemplate1」のパラメーター「01ResourceIdentifier」

### 新規作成するVPCのCIDRの確認（必須）

CloudFormationで新規に作成するのVPCのアドレス空間を指定する必要があります。アドレス空間は最小 /24で確保し、ほかのVPCやオンプレミスのCIDRと重複しないようにする必要があります。

AWSサービス名 | : | Amazon VPC
設定先 | : | 「CloudFormation NewDeployTemplate1」のパラメーター「02VpcCIDR」 この値は、EFS導入VPCの「ルートテーブルの設定」にも指定します。

### EFS導入VPCのVPCID、CIDR、EFSID情報（必須）

CloudFormationで、新規に作成したVPCとPeering接続を行うために、EFS導入VPCの情報を指定する必要があります。

この指定は必須のため、接続できるEFS環境がない場合は新規にVPCを作成し、EFSを導入してください。

EFSのファイルをHULFTで読み書きするためには、ファイルに対する実行権限が必要になります。

転送コンテナはデフォルトではユーザーID“65532”で動作しています。

そのため、オーナーのユーザーIDが“65532”以外の既存ファイルを対象に転送する場合、以下のいずれかの方法でファイルに対してアクセスを可能にする必要があります。

- ファイルのその他の権限に読み込み書き込み実行権限を付与

- ECSのタスク定義を変更し、既存ファイルにアクセス可能なユーザーで転送コンテナを起動

  この方法の場合、アップデートによりCloudFormationで更新を行うと、タスク定義に指定したユーザーIDの設定が消えてしまいます。このため、アップデート時に再度設定する必要があります。

AWSサービス名 | : | Amazon VPC、Amazon EFS
設定先 | : | 「CloudFormation NewDeployTemplate1」のパラメーター「05EfsPeeringVpcId」 「CloudFormation NewDeployTemplate1」のパラメーター「06EfsPeeringVpcCidr」 「CloudFormation NewDeployTemplate2」のパラメーター「04EfsId」

### HULFT10への接続を許可するIPリストの確認（必須）

HULFT10 for Container Servicesに接続許可するIPをHULFT10導入時に設定します。事前に接続を許可するIPを確認しておく必要があります。

接続には以下の2種類があります。

- HULFT管理コンソールへの接続

- HULFT転送受付時の接続

接続の制限をかけない場合は接続を許可するIPに0.0.0.0/0を設定しますが、セキュリティを確保するために接続許可の設定を推奨します。

導入時にIPを3つまで指定できます。うち1つ目は入力必須ですが、2つ目以上の入力は任意です。4つ以上のIPを指定する必要がある場合は、導入後に「セキュリティグループの設定」を行ってください。

入力説明 | : | 接続の制限をかけない場合は、「14SourceIP1」に0.0.0.0/0 を設定します。
設定先 | : | 「CloudFormation NewDeployTemplate1」の以下のパラメーター 「14SourceIP1」 「15SourceIP2」 「16SourceIP3」

### HULFT8導入VPCID、CIDR情報（任意）

CloudFormationで新規に作成したVPCとPeering接続を行うVPCの情報を指定する必要があります。

AWSサービス名 | : | Amazon VPC
設定先 | : | 「CloudFormation NewDeployTemplate1」の以下のパラメーター 「17PeeringVpcId」 「18PeeringVpcCidr」

### CloudFormation実行ロール（必須）

様々なリソースの作成、ECSサービス登録のためにIAM設定を行うためAdministratorAccessの実行権限が必要になります。事前にIAMロールとして CloudFormationサービスで利用できる Admin権限のロールを作成してください。

AWSサービス名 | : | IAM
設定先 | : | 「CloudFormation NewDeployTemplate1」のパラメーター「アクセス許可」 「CloudFormation NewDeployTemplate2」のパラメーター「アクセス許可」

### 使用するAMIのIDの取得（任意）

ECSに利用するEC2イメージは、Amazon ECSに最適化されたAmazon Linux 2023 のAmazon マシンイメージ（以降、AMI）を利用します。

AMIのIDを以下の設定先に指定しなかった場合は、最新のAMIのIDが自動で取得されます。

AWSサービス名 | : | Amazon EC2
設定先 | : | 「CloudFormation NewDeployTemplate2」のパラメーター「03ImageId」

AMI ID取得コマンドの例

    aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2023/recommended --region ap-northeast-1

詳細は 以下のAWS 公式ドキュメント を参照してください。

「Amazon ECS に最適化された AMI」 （2023年11月1日現在）

### キーペアの作成（必須）

ECSの実行環境としてEC2を利用します。事前にEC2用のキーペアを作成しておく必要があります。

AWSサービス名 | : | Amazon EC2
設定先 | : | 「CloudFormation NewDeployTemplate2」のパラメーター「19KeyName」

詳細は 以下のAWS 公式ドキュメント を参照してください。

「Amazon ECS を使用するようにセットアップする」 （2023年11月1日現在）

### データベース エンジンバージョンの取得（任意）

データベースのエンジンバージョンを任意に指定する場合、事前に使用可能なデータベース エンジンバージョンの一覧を取得します。

取得した一覧から、Amazon Aurora MySQLバージョン3(MySQL8.0互換)のものを選択してください。

AWSサービス名 | : | Amazon RDS
設定先 | : | 「CloudFormation NewDeployTemplate2」のパラメーター「22DBEngineVersion」

CLIでデータベースのエンジンバージョンを取得するコマンドの例

    aws rds describe-db-engine-versions --engine aurora-mysql --engine-version 8.0 --query "DBEngineVersions[].EngineVersion"

### S3接続の準備（任意）

S3接続の準備として、以下が必要です。

- 配信先および集信先としてのS3バケットの作成

- ECSタスクがS3にアクセスするために使用するIAMポリシーの作成

  S3へのすべての操作を許可する場合は、ビルトインのarn:aws:iam::aws:policy/AmazonS3FullAccessを指定します。

設定先 | : | 「CloudFormation NewDeployTemplate2」の以下のパラメーター 「21S3IAMPolicy」

### Route 53へのホストゾーン登録（必須）

HULFT10 for Container Servicesをホストとするためのドメインを、Route 53でホストゾーンとして登録および管理しておく必要があります。HULFT10導入時にACMを利用してTLSの証明書を発行してください。

これにより、インターネットに公開するホスト名として使用できます。

AWSサービス名 | : | Amazon Route 53
設定先 | : | 「CloudFormation NewDeployTemplate2」の以下のパラメーター 「12DomainName」 「13HostZoneID」