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 によって使用されます。

Expand
VPC のパラメーター

アベイラビリティーゾーン

1

リージョン

us-east-1

VPC CIDR

10.0.0.0/16

rosa create network コマンドで使用する CloudFormation テンプレートを作成し、カスタマイズできます。デフォルトの VPC テンプレートの詳細は、このセクションの関連情報を参照してください。

前提条件

  • AWS アカウントを設定した。
  • Red Hat アカウントを設定した。
  • ROSA CLI をインストールし、最新バージョンに設定した。

手順

  1. 次のコマンドを実行して、デフォルトの CloudFormations テンプレートを使用して AWS VPC を作成します。

    $ rosa create network
    Copy to Clipboard Toggle word wrap
  2. オプション: 追加のパラメーターを指定して VPC をカスタマイズします。

    --param フラグを使用すると、デフォルトの VPC テンプレートへの変更を指定できます。次のコマンド例では、regionNameAvailabilityZoneCount、および VpcCidr のカスタム値を指定します。

    $ 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 Toggle word wrap

    このコマンドの実行には約 5 分かかります。リソースが作成されるたびに、AWS から定期的にステータスの更新が提供されます。CloudFormation に問題がある場合は、ロールバックが試行されます。それ以外のエラーが発生した場合は、エラーメッセージの指示に従うか、AWS サポートにお問い合わせください。

検証

  • 完了すると、作成されたリソースの概要が表示されます。

    INFO[0140] Resources created in stack:
    INFO[0140] Resource: AttachGateway, Type: AWS::EC2::VPCGatewayAttachment, ID: <gateway_id>
    INFO[0140] Resource: EC2VPCEndpoint, Type: AWS::EC2::VPCEndpoint, ID: <vpce_id>
    INFO[0140] Resource: EcrApiVPCEndpoint, Type: AWS::EC2::VPCEndpoint, ID: <vpce_id>
    INFO[0140] Resource: EcrDkrVPCEndpoint, Type: AWS::EC2::VPCEndpoint, ID: <vpce_id>
    INFO[0140] Resource: ElasticIP1, Type: AWS::EC2::EIP, ID: <IP>
    INFO[0140] Resource: ElasticIP2, Type: AWS::EC2::EIP, ID: <IP>
    INFO[0140] Resource: InternetGateway, Type: AWS::EC2::InternetGateway, ID: igw-016e1a71b9812464e
    INFO[0140] Resource: KMSVPCEndpoint, Type: AWS::EC2::VPCEndpoint, ID: <vpce_id>
    INFO[0140] Resource: NATGateway1, Type: AWS::EC2::NatGateway, ID: <nat-gateway_id>
    INFO[0140] Resource: PrivateRoute, Type: AWS::EC2::Route, ID: <route_id>
    INFO[0140] Resource: PrivateRouteTable, Type: AWS::EC2::RouteTable, ID: <route_id>
    INFO[0140] Resource: PrivateSubnetRouteTableAssociation1, Type: AWS::EC2::SubnetRouteTableAssociation, ID: <route_id>
    INFO[0140] Resource: PublicRoute, Type: AWS::EC2::Route, ID: <route_id>
    INFO[0140] Resource: PublicRouteTable, Type: AWS::EC2::RouteTable, ID: <route_id>
    INFO[0140] Resource: PublicSubnetRouteTableAssociation1, Type: AWS::EC2::SubnetRouteTableAssociation, ID: <route_id>
    INFO[0140] Resource: S3VPCEndpoint, Type: AWS::EC2::VPCEndpoint, ID: <vpce_id>
    INFO[0140] Resource: STSVPCEndpoint, Type: AWS::EC2::VPCEndpoint, ID: <vpce_id>
    INFO[0140] Resource: SecurityGroup, Type: AWS::EC2::SecurityGroup, ID: <security-group_id>
    INFO[0140] Resource: SubnetPrivate1, Type: AWS::EC2::Subnet, ID: <private_subnet_id-1> \ 
    1
    
    INFO[0140] Resource: SubnetPublic1, Type: AWS::EC2::Subnet, ID: <public_subnet_id-1> \ 
    2
    
    INFO[0140] Resource: VPC, Type: AWS::EC2::VPC, ID: <vpc_id>
    INFO[0140] Stack rosa-network-stack-5555 created \ 
    3
    Copy to Clipboard Toggle word wrap
    1 2
    これら 2 つのサブネット ID は、rosa create cluster コマンドの使用時にクラスターを作成するために使用されます。
    3
    ネットワークスタック名は、後でリソースを削除するために使用されます。
Terraform を使用した Virtual Private Cloud の作成

Terraform は、確立されたテンプレートを使用してさまざまなリソースを作成できるツールです。次のプロセスでは、必要に応じてデフォルトのオプションを使用して Red Hat OpenShift Service on AWS クラスターを作成します。Terraform の使用の詳細は、関連情報を参照してください。

前提条件

  • マシンに Terraform バージョン 1.4.0 以降がインストールされている。
  • マシンに Git がインストールされている。

手順

  1. シェルプロンプトを開き、次のコマンドを実行して Terraform VPC リポジトリーのクローンを作成します。

    $ git clone https://github.com/openshift-cs/terraform-vpc-example
    Copy to Clipboard Toggle word wrap
  2. 次のコマンドを実行して、作成したディレクトリーに移動します。

    $ cd terraform-vpc-example
    Copy to Clipboard Toggle word wrap
  3. 次のコマンドを実行して、Terraform ファイルを開始します。

    $ terraform init
    Copy to Clipboard Toggle word wrap

    このプロセスが完了すると、初期化を確認するメッセージが表示されます。

  4. 既存の Terraform テンプレートに基づいて VPC Terraform プランを構築するには、plan コマンドを実行します。AWS リージョンを含める必要があります。クラスター名を指定することもできます。terraform plan が完了すると、rosa.tfplan ファイルが hypershift-tf ディレクトリーに追加されます。オプションの詳細は、Terraform VPC リポジトリーの README ファイル を参照してください。

    $ terraform plan -out rosa.tfplan -var region=<region>
    Copy to Clipboard Toggle word wrap
  5. 次のコマンドを実行して、このプランファイルを適用して VPC を構築します。

    $ terraform apply rosa.tfplan
    Copy to Clipboard Toggle word wrap
    1. オプション: 次のコマンドを実行すると、Terraform でプロビジョニングされたプライベート、パブリック、およびマシンプールのサブネット ID の値を、Red Hat OpenShift Service on AWS クラスターの作成時に使用する環境変数としてキャプチャーできます。

      $ export SUBNET_IDS=$(terraform output -raw cluster-subnets-string)
      Copy to Clipboard Toggle word wrap
    2. 次のコマンドを使用して、変数が正しく設定されたことを確認できます。

      $ echo $SUBNET_IDS
      Copy to Clipboard Toggle word wrap

      出力例

      $ subnet-0a6a57e0f784171aa,subnet-078e84e5b10ecf5b0
      Copy to Clipboard Toggle word wrap

AWS Virtual Private Cloud の手動作成

Terraform を使用する代わりに、AWS Virtual Private Cloud (VPC) を手動で作成することを選択した場合は、AWS コンソールの VPC ページ に移動します。

VPC は、次の表に示す要件を満たしている必要があります。

Expand
表1.2 VPC の要件
要件詳細

VPC 名

クラスターを作成するときは、特定の VPC 名と ID が必要です。

CIDR 範囲

VPC CIDR 範囲はマシンの CIDR と一致する必要があります。

アベイラビリティーゾーン

単一ゾーンの場合は 1 つの可用性ゾーンが必要で、複数ゾーンの場合は 3 つの可用性ゾーンが必要です。

パブリックサブネット

パブリッククラスターには、NAT ゲートウェイを備えたパブリックサブネットが 1 つ必要です。プライベートクラスターにはパブリックサブネットは必要ありません。

DNS ホスト名と解決

DNS ホスト名と解決が有効になっていることを確認する必要があります。

1.3.1. トラブルシューティング

クラスターのインストールに失敗した場合は、次の一般的な問題のトラブルシューティングを実行してください。

  • DHCP オプションセット にドメイン名が含まれていることを確認し、ドメイン名にスペースや大文字が含まれていないことを確認します。
  • VPC でカスタム DNS リゾルバーが使用されている場合 (DHCP オプションセットの ドメインネームサーバー フィールドが AmazonProvideDNS ではない)、Route53 で設定されているプライベートホストゾーンを適切に解決できることを確認します。

Red Hat OpenShift Service on AWS クラスターのインストールのトラブルシューティングの詳細は、Red Hat OpenShift Service on AWS クラスターのインストールのトラブルシューティング を参照してください。

サポートの利用

追加の サポート が必要な場合は、Red Hat カスタマーポータルにアクセスして、ナレッジベースの記事の確認、サポートケースの作成、追加の製品ドキュメントおよびリソースの確認を行ってください。

サブネットへのタグ付け

VPC を使用して Red Hat OpenShift Service on AWS クラスターを作成する前に、VPC サブネットにタグを付ける必要があります。自動化されたサービス事前チェックにより、これらのリソースをクラスターで使用する前に、リソースが正しくタグ付けされているかどうかが検証されます。次の表は、リソースにタグを付ける方法を示しています。

Expand
リソースキー

パブリックサブネット

kubernetes.io/role/elb

1 (または値なし)

プライベートサブネット

kubernetes.io/role/internal-elb

1 (または値なし)

注記

少なくとも 1 つのプライベートサブネットと、該当する場合は 1 つのパブリックサブネットにタグを付ける必要があります。

前提条件

  • VPC を作成した。
  • aws CLI をインストールした。

手順

  1. 次のコマンドを実行して、ターミナルでリソースにタグを付けます。

    1. パブリックサブネットの場合は、以下を実行します。

      $ aws ec2 create-tags --resources <public-subnet-id> --region <aws_region> --tags Key=kubernetes.io/role/elb,Value=1
      Copy to Clipboard Toggle word wrap
    2. プライベートサブネットの場合は、以下を実行します。

      $ aws ec2 create-tags --resources <private-subnet-id> --region <aws_region> --tags Key=kubernetes.io/role/internal-elb,Value=1
      Copy to Clipboard Toggle word wrap

検証

  • 次のコマンドを実行して、タグが正しく適用されていることを確認します。

    $ aws ec2 describe-tags --filters "Name=resource-id,Values=<subnet_id>"
    Copy to Clipboard Toggle word wrap

    出力例

    TAGS    Name                    <subnet-id>        subnet  <prefix>-subnet-public1-us-east-1a
    TAGS    kubernetes.io/role/elb  <subnet-id>        subnet  1
    Copy to Clipboard Toggle word wrap

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat