1.3. Red Hat OpenShift Service on AWS クラスター用の Virtual Private Cloud の作成
Red Hat OpenShift Service on AWS クラスターを作成するには、AWS Virtual Private Cloud (VPC) が必要です。次の方法を使用して VPC を作成できます。
- ROSA CLI を使用した VPC の作成
- Terraform テンプレートを使用して VPC を作成する
- AWS コンソールで VPC リソースを手動で作成する
Terraform の手順はテストとデモンストレーションを目的としています。独自のインストールでは、独自に使用するために VPC にいくつかの変更を加える必要があります。また、このリンク先の Terraform 設定を使用する場合は、クラスターをインストールする予定のリージョンと同じリージョン内に設定があることを確認してください。以下の例では、us-east-2
が使用されています。
ROSA CLI を使用した AWS VPC の作成
バージョン 1.2.48 以降の ROSA CLI では、rosa create network
コマンドを使用できます。このコマンドは、AWS CloudFormation を使用して、Red Hat OpenShift Service on AWS クラスターのインストールに必要な VPC と関連ネットワークコンポーネントを作成します。CloudFormation はネイティブの AWS インフラストラクチャーコードツールであり、AWS CLI と互換性があります。
テンプレートを指定しない場合、次のパラメーターを持つリソースを作成するデフォルトのテンプレートが CloudFormation によって使用されます。
VPC のパラメーター | 値 |
---|---|
アベイラビリティーゾーン | 1 |
リージョン |
|
VPC CIDR |
|
rosa create network
コマンドで使用する CloudFormation テンプレートを作成し、カスタマイズできます。デフォルトの VPC テンプレートの詳細は、このセクションの関連情報を参照してください。
前提条件
- AWS アカウントを設定した。
- Red Hat アカウントを設定した。
- ROSA CLI をインストールし、最新バージョンに設定した。
手順
次のコマンドを実行して、デフォルトの CloudFormations テンプレートを使用して AWS VPC を作成します。
rosa create network
$ rosa create network
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: 追加のパラメーターを指定して VPC をカスタマイズします。
--param
フラグを使用すると、デフォルトの VPC テンプレートへの変更を指定できます。次のコマンド例では、region
、Name
、AvailabilityZoneCount
、およびVpcCidr
のカスタム値を指定します。rosa create network --param Region=us-east-2 --param Name=quickstart-stack --param AvailabilityZoneCount=3 --param VpcCidr=10.0.0.0/16
$ rosa create network --param Region=us-east-2 --param Name=quickstart-stack --param AvailabilityZoneCount=3 --param VpcCidr=10.0.0.0/16
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドの実行には約 5 分かかります。リソースが作成されるたびに、AWS から定期的にステータスの更新が提供されます。CloudFormation に問題がある場合は、ロールバックが試行されます。それ以外のエラーが発生した場合は、エラーメッセージの指示に従うか、AWS サポートにお問い合わせください。
検証
完了すると、作成されたリソースの概要が表示されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Terraform を使用した Virtual Private Cloud の作成
Terraform は、確立されたテンプレートを使用してさまざまなリソースを作成できるツールです。次のプロセスでは、必要に応じてデフォルトのオプションを使用して Red Hat OpenShift Service on AWS クラスターを作成します。Terraform の使用の詳細は、関連情報を参照してください。
前提条件
- マシンに Terraform バージョン 1.4.0 以降がインストールされている。
- マシンに Git がインストールされている。
手順
シェルプロンプトを開き、次のコマンドを実行して Terraform VPC リポジトリーのクローンを作成します。
git clone https://github.com/openshift-cs/terraform-vpc-example
$ git clone https://github.com/openshift-cs/terraform-vpc-example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、作成したディレクトリーに移動します。
cd terraform-vpc-example
$ cd terraform-vpc-example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Terraform ファイルを開始します。
terraform init
$ terraform init
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このプロセスが完了すると、初期化を確認するメッセージが表示されます。
既存の Terraform テンプレートに基づいて VPC Terraform プランを構築するには、
plan
コマンドを実行します。AWS リージョンを含める必要があります。クラスター名を指定することもできます。terraform plan
が完了すると、rosa.tfplan
ファイルがhypershift-tf
ディレクトリーに追加されます。オプションの詳細は、Terraform VPC リポジトリーの README ファイル を参照してください。terraform plan -out rosa.tfplan -var region=<region>
$ terraform plan -out rosa.tfplan -var region=<region>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、このプランファイルを適用して VPC を構築します。
terraform apply rosa.tfplan
$ terraform apply rosa.tfplan
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: 次のコマンドを実行すると、Terraform でプロビジョニングされたプライベート、パブリック、およびマシンプールのサブネット ID の値を、Red Hat OpenShift Service on AWS クラスターの作成時に使用する環境変数としてキャプチャーできます。
export SUBNET_IDS=$(terraform output -raw cluster-subnets-string)
$ export SUBNET_IDS=$(terraform output -raw cluster-subnets-string)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを使用して、変数が正しく設定されたことを確認できます。
echo $SUBNET_IDS
$ echo $SUBNET_IDS
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
subnet-0a6a57e0f784171aa,subnet-078e84e5b10ecf5b0
$ subnet-0a6a57e0f784171aa,subnet-078e84e5b10ecf5b0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
AWS Virtual Private Cloud の手動作成
Terraform を使用する代わりに、AWS Virtual Private Cloud (VPC) を手動で作成することを選択した場合は、AWS コンソールの VPC ページ に移動します。
VPC は、次の表に示す要件を満たしている必要があります。
要件 | 詳細 |
---|---|
VPC 名 | クラスターを作成するときは、特定の VPC 名と ID が必要です。 |
CIDR 範囲 | VPC CIDR 範囲はマシンの CIDR と一致する必要があります。 |
アベイラビリティーゾーン | 単一ゾーンの場合は 1 つの可用性ゾーンが必要で、複数ゾーンの場合は 3 つの可用性ゾーンが必要です。 |
パブリックサブネット | パブリッククラスターには、NAT ゲートウェイを備えたパブリックサブネットが 1 つ必要です。プライベートクラスターにはパブリックサブネットは必要ありません。 |
DNS ホスト名と解決 | DNS ホスト名と解決が有効になっていることを確認する必要があります。 |