15.7. Wavelength Zone のサブネットを持つ既存の VPC へのクラスターのインストール
クラスターを Amazon Web Services (AWS) 上の既存の Amazon Virtual Private Cloud (VPC) にインストールできます。インストールプログラムは、カスタマイズ可能な残りの必要なインフラストラクチャーをプロビジョニングします。インストールをカスタマイズするには、クラスターをインストールする前に、install-config.yaml
ファイルでパラメーターを変更します。
AWS 上のクラスターを既存の VPC にインストールするには、AWS Wavelength Zones を使用してコンピュートノードをクラウドインフラストラクチャーのエッジまで拡張する必要があります。
このドキュメントの CloudFormation テンプレートを使用して、ネットワークリソースを作成できます。さらに、テンプレートを変更してインフラストラクチャーをカスタマイズしたり、テンプレートに含まれる情報を使用して会社のポリシーに基づいて AWS リソースを作成したりできます。
installer-provisioned infrastructure のインストールを実行する手順は、例としてのみ提供されています。既存の VPC にクラスターをインストールするには、クラウドプロバイダーと OpenShift Container Platform のインストールプロセスに関する知識が必要です。CloudFormation テンプレートを使用すると、これらの手順の完了を支援したり、独自のクラスターのインストールをモデル化したりできます。CloudFormation テンプレートを使用してリソースを作成する代わりに、これらのリソースを生成するために他の方法を使用することを決定できます。
15.7.1. AWS での VPC の作成 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform クラスター用の Amazon Web Services (AWS) で、Virtual Private Cloud (VPC) を作成し、Wavelength Zones のすべての場所にサブネットを作成すると、コンピュートノードをエッジロケーションに拡張できます。VPC は、VPN やルートテーブルなどの要件に合わせてさらにカスタマイズできます。初期デプロイメントに含まれていない新しい Wavelength Zones サブネットを追加することもできます。
提供される CloudFormation テンプレートおよびカスタムパラメーターファイルを使用して、VPC を表す AWS リソースのスタックを作成できます。
このドキュメントの CloudFormation テンプレートを使用して AWS インフラストラクチャーを作成しない場合は、記載されている情報を確認し、インフラストラクチャーを手動で作成する必要があります。クラスターが適切に初期化されない場合、インストールログを用意して Red Hat サポートに問い合わせする必要がある可能性があります。
前提条件
- AWS アカウントを設定している。
-
aws configure
を実行して、AWS キーと AWS リージョンをローカル AWS プロファイルに追加している。 - AWS アカウントで AWS Wavelength Zones にオプトインしている。
手順
CloudFormation テンプレートが必要とするパラメーター値が含まれる JSON ファイルを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - このドキュメントの「VPC の CloudFormation テンプレート」セクションに移動し、記載されているテンプレートから構文をコピーします。コピーしたテンプレートの構文を YAML ファイルとしてローカルシステムに保存します。このテンプレートは、クラスターに必要な VPC を記述しています。
次のコマンドを実行して、CloudFormation テンプレートを起動し、VPC を表す AWS リソースのスタックを作成します。
重要単一行にコマンドを入力してください。
aws cloudformation create-stack --stack-name <name> \ --template-body file://<template>.yaml \ --parameters file://<parameters>.json
$ aws cloudformation create-stack --stack-name <name> \
1 --template-body file://<template>.yaml \
2 --parameters file://<parameters>.json
3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
arn:aws:cloudformation:us-east-1:123456789012:stack/cluster-vpc/dbedae40-2fd3-11eb-820e-12a48460849f
arn:aws:cloudformation:us-east-1:123456789012:stack/cluster-vpc/dbedae40-2fd3-11eb-820e-12a48460849f
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、テンプレートコンポーネントが存在することを確認します。
aws cloudformation describe-stacks --stack-name <name>
$ aws cloudformation describe-stacks --stack-name <name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow StackStatus
がCREATE_COMPLETE
を表示した後に、出力には以下のパラメーターの値が表示されます。これらのパラメーター値を、クラスターを作成するために実行する他の CloudFormation テンプレートに指定する必要があります。VpcId
VPC の ID。
PublicSubnetIds
新規パブリックサブネットの ID。
PrivateSubnetIds
新規プライベートサブネットの ID。
PublicRouteTableId
新しいパブリックルートテーブル ID の ID。
15.7.2. VPC の CloudFormation テンプレート リンクのコピーリンクがクリップボードにコピーされました!
以下の CloudFormation テンプレートを使用し、OpenShift Container Platform クラスターに必要な VPC をデプロイすることができます。
例15.2 VPC の CloudFormation テンプレート
15.7.3. VPC キャリアーゲートウェイの作成 リンクのコピーリンクがクリップボードにコピーされました!
Wavelength Zones で実行される OpenShift Container Platform クラスターでパブリックサブネットを使用するには、キャリアーゲートウェイを作成し、キャリアーゲートウェイを VPC に関連付ける必要があります。サブネットは、ロードバランサーまたはエッジコンピュートノードをデプロイするのに役立ちます。
OpenShift Container Platform クラスター用の Wavelength Zones の場所に、エッジノードやインターネットに接続されたロードバランサーを作成するには、以下の必要なネットワークコンポーネントを作成する必要があります。
- 既存の VPC に関連付けるキャリアーゲートウェイ
- ルートエントリーをリストするキャリールートテーブル
- キャリアールートテーブルに関連付けるサブネット
キャリアーゲートウェイは、Wavelength Zone 内のサブネットのみを含む VPC に存在します。
以下では、AWS Wavelength Zones の場所に関連するキャリアーゲートウェイの機能を説明します。
- Wavelength Zone とキャリアーネットワーク (キャリアーネットワークから利用可能なデバイスを含む) の間の接続を提供します。
- ネットワークボーダーグループに格納されているパブリック IP アドレスである IP アドレスを Wavelength Zones からキャリアー IP アドレスに変換するなど、ネットワークアドレス変換 (NAT) 機能を実行します。このような変換機能は、受信トラフィックと送信トラフィックに適用されます。
- 特定の場所にあるキャリアーネットワークからの受信トラフィックを許可します。
- キャリアーネットワークとインターネットへの送信トラフィックを許可します。
インターネットからキャリアーゲートウェイを経由した Wavelength Zone への受信接続設定は存在しません。
このドキュメントの CloudFormation テンプレートを使用して、次の AWS リソースのスタックを作成できます。
- テンプレート内の VPC ID に関連付ける 1 つのキャリアーゲートウェイ
-
<ClusterName>-public-carrier
という名前の Wavelength Zone の 1 つのパブリックルートテーブル - キャリアーゲートウェイをターゲットとする新しいルートテーブルのデフォルトの IPv4 ルートエントリー
- AWS Simple Storage Service (S3) の VPC ゲートウェイエンドポイント
このドキュメントの CloudFormation テンプレートを使用して AWS インフラストラクチャーを作成しない場合は、記載されている情報を確認し、インフラストラクチャーを手動で作成する必要があります。クラスターが適切に初期化されない場合、インストールログを用意して Red Hat サポートに問い合わせする必要がある可能性があります。
前提条件
- AWS アカウントを設定している。
-
aws configure
を実行して、AWS キーおよびリージョンをローカルの AWS プロファイルに追加している。
手順
- ドキュメントの次のセクション「VPC キャリアーゲートウェイ用の CloudFormation テンプレート」に移動し、VPC キャリアーゲートウェイ用の CloudFormation テンプレート から構文をコピーします。コピーしたテンプレートの構文を YAML ファイルとしてローカルシステムに保存します。このテンプレートは、クラスターに必要な VPC を記述しています。
次のコマンドを実行して CloudFormation テンプレートをデプロイします。これにより、VPC を表す AWS リソースのスタックが作成されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<stack_name>
は CloudFormation スタックの名前です (例:clusterName-vpc-carrier-gw
)。クラスターを削除する場合に、このスタックの名前が必要になります。- 2
<template>
は、保存した CloudFormation テンプレート YAML ファイルの相対パスと名前です。- 3
<VpcId>
は、「AWS での VPC の作成」セクションで作成した CloudFormation スタックの出力から抽出した VPC ID です。- 4
<ClusterName>
は、CloudFormation スタックによって作成されるリソースに接頭辞として付加するカスタム値です。install-config.yaml
設定ファイルのmetadata.name
セクションで定義されているのと同じ名前を使用できます。
出力例
arn:aws:cloudformation:us-east-1:123456789012:stack/<stack_name>/dbedae40-2fd3-11eb-820e-12a48460849f
arn:aws:cloudformation:us-east-1:123456789012:stack/<stack_name>/dbedae40-2fd3-11eb-820e-12a48460849f
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、CloudFormation テンプレートコンポーネントが存在することを確認します。
aws cloudformation describe-stacks --stack-name <stack_name>
$ aws cloudformation describe-stacks --stack-name <stack_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow StackStatus
にCREATE_COMPLETE
が表示されると、出力に次のパラメーターの値が表示されます。このパラメーター値を、クラスターを作成するために実行する他の CloudFormation テンプレートに必ず指定してください。PublicRouteTableId
キャリアーインフラストラクチャーのルートテーブルの ID。
15.7.4. VPC キャリアーゲートウェイ用の CloudFormation テンプレート リンクのコピーリンクがクリップボードにコピーされました!
次の CloudFormation テンプレートを使用して、AWS Wavelength インフラストラクチャーにキャリアーゲートウェイをデプロイできます。
例15.3 VPC キャリアーゲートウェイ用の CloudFormation テンプレート
15.7.5. Wavelength Zones のサブネットの作成 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform クラスターのエッジコンピュートノードのマシンセットを設定する前に、Wavelength Zones にサブネットを作成する必要があります。コンピュートノードをデプロイする Wavelength Zone ごとに次の手順を実行してください。
このドキュメントの CloudFormation テンプレートを使用して、CloudFormation スタックを作成できます。その後、このスタックを使用してサブネットをカスタムプロビジョニングできます。
このドキュメントの CloudFormation テンプレートを使用して AWS インフラストラクチャーを作成しない場合は、記載されている情報を確認し、インフラストラクチャーを手動で作成する必要があります。クラスターが適切に初期化されない場合、インストールログを用意して Red Hat サポートに問い合わせする必要がある可能性があります。
前提条件
- AWS アカウントを設定している。
-
aws configure
を実行して、AWS キーおよびリージョンをローカルの AWS プロファイルに追加している。 - Wavelength Zones グループにオプトインしている。
手順
- このドキュメントの「VPC サブネット用の CloudFormation テンプレート」セクションに移動し、テンプレートから構文をコピーします。コピーしたテンプレートの構文を YAML ファイルとしてローカルシステムに保存します。このテンプレートは、クラスターに必要な VPC を記述しています。
次のコマンドを実行して CloudFormation テンプレートをデプロイします。これにより、VPC を表す AWS リソースのスタックが作成されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<stack_name>
は、CloudFormation スタックの名前です (cluster-wl-<wavelength_zone_shortname>
など)。クラスターを削除する場合に、このスタックの名前が必要になります。- 2
<template>
は、保存した CloudFormation テンプレート YAML ファイルの相対パスと名前です。- 3
${VPC_ID}
は VPC ID であり、VPC 用の CloudFormation テンプレートの出力に含まれる値VpcID
です。- 4
${ZONE_NAME}
は、サブネットを作成する Wavelength Zones 名の値です。- 5
${CLUSTER_NAME}
は、新しい AWS リソース名の接頭辞として使用する ClusterName の値です。- 6
${ROUTE_TABLE_PUB}
は、VPC のキャリアーゲートウェイ CloudFormation スタックの出力から抽出した PublicRouteTableId です。- 7
${SUBNET_CIDR_PUB}
は、パブリックサブネットの作成に使用する有効な CIDR ブロックです。このブロックは、VPC CIDR ブロックVpcCidr
の一部である必要があります。- 8
${ROUTE_TABLE_PVT}
は、VPC の CloudFormation スタックの出力から抽出した PrivateRouteTableId です。- 9
${SUBNET_CIDR_PVT}
は、プライベートサブネットの作成に使用する有効な CIDR ブロックです。このブロックは、VPC CIDR ブロックVpcCidr
の一部である必要があります。
出力例
arn:aws:cloudformation:us-east-1:123456789012:stack/<stack_name>/dbedae40-820e-11eb-2fd3-12a48460849f
arn:aws:cloudformation:us-east-1:123456789012:stack/<stack_name>/dbedae40-820e-11eb-2fd3-12a48460849f
検証
次のコマンドを実行して、テンプレートコンポーネントが存在することを確認します。
aws cloudformation describe-stacks --stack-name <stack_name>
$ aws cloudformation describe-stacks --stack-name <stack_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow StackStatus
がCREATE_COMPLETE
を表示した後に、出力には以下のパラメーターの値が表示されます。これらのパラメーター値を、クラスターを作成するために実行する他の CloudFormation テンプレートに必ず指定してください。PublicSubnetId
CloudFormation スタックによって作成されたパブリックサブネットの ID。
PrivateSubnetId
CloudFormation スタックによって作成されたプライベートサブネットの ID。
15.7.6. VPC サブネット用の CloudFormation テンプレート リンクのコピーリンクがクリップボードにコピーされました!
次の CloudFormation テンプレートを使用して、Wavelength Zones インフラストラクチャー上のゾーンにプライベートサブネットとパブリックサブネットをデプロイできます。
例15.4 VPC サブネット用の CloudFormation テンプレート
15.7.7. AWS Wavelength Zones サブネットを使用するためのインストール設定ファイルの変更 リンクのコピーリンクがクリップボードにコピーされました!
install-config.yaml
ファイルを変更して、Wavelength Zones のサブネットを含めます。
前提条件
- 「Wavelength Zones のサブネットの作成」手順を使用して、サブネットを作成している。
-
「インストール設定ファイルの作成」手順を使用して、
install-config.yaml
ファイルを作成している。
手順
install-config.yaml
設定ファイルを変更して、platform.aws.subnets
パラメーターで Wavelength Zones のサブネットを指定します。Wavelength Zones のサブネットを含むインストール設定ファイルの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ゾーン (アベイラビリティーゾーンと Wavelength Zones) 内に作成したサブネット ID のリスト。
次のステップ