7.2. Red Hat OpenShift Service on AWS クラスター用の Virtual Private Cloud の作成


Red Hat OpenShift Service on AWS クラスターを作成するには、Virtual Private Cloud (VPC) が必要です。VPC エンドポイント経由でローカルの ECR ミラーからイメージをプルするには、privatelink サービス接続を設定し、特定のタグを使用してデフォルトのセキュリティーグループを変更する必要があります。VPC を作成するには、次のいずれかの方法を使用します。

  • ROSA コマンドラインインターフェイス (CLI) を使用して VPC を作成する
  • Terraform テンプレートを使用して VPC を作成する
  • AWS CLI を使用した VPC の作成
  • AWS コンソールで VPC リソースを手動で作成する

7.2.1. 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 をインストールし、最新バージョンに設定した。

検証

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

    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
    ネットワークスタック名は、後でリソースを削除するために使用されます。
サブネットへのタグ付け

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

Expand
リソースキー

パブリックサブネット

kubernetes.io/role/elb

1 または値なし

プライベートサブネット

kubernetes.io/role/internal-elb

1 または値なし

注記

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

  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

7.2.2. Terraform を使用した Virtual Private Cloud の作成

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

注記

Terraform の手順はテストとデモンストレーションを目的としています。独自のインストールでは、独自に使用するために VPC にいくつかの変更を加える必要があります。また、この Terraform スクリプトを使用する場合は、クラスターをインストールする予定のリージョンと同じリージョン内にスクリプトがあることを確認してください。この例では、us-east-2 を使用します。

前提条件

  • マシンに 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/zero-egress
    Copy to Clipboard Toggle word wrap
  3. 次のコマンドを実行して、Terraform ファイルを開始します。

    $ terraform init
    Copy to Clipboard Toggle word wrap

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

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

    $ terraform plan -out rosa-zero-egress.tfplan -var region=<aws_region> \ 
    1
    
          -var 'availability_zones=["aws_region_1a","aws_region_1b","aws_region_1c"]'\ 
    2
    
          -var vpc_cidr_block=10.0.0.0/16 \ 
    3
    
          -var 'private_subnets=["10.0.0.0/24", "10.0.1.0/24", "10.0.2.0/24"]' 
    4
    Copy to Clipboard Toggle word wrap
    1
    AWS リージョンを入力します。
    2
    VPC のアベイラビリティーゾーンを入力します。たとえば、ap-southeast-1 を使用する VPC の場合、アベイラビリティーゾーンとして ["ap-southeast-1a", "ap-southeast-1b", "ap-southeast-1c"] を使用します。
    3
    VPC の CIDR ブロックを入力します。
    4
    VPC 用に作成する各サブネットを入力します。
  5. 次のコマンドを実行して、このプランファイルを適用して VPC を構築します。

    $ terraform apply rosa-zero-egress.tfplan
    Copy to Clipboard Toggle word wrap
サブネットへのタグ付け

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

Expand
リソースキー

パブリックサブネット

kubernetes.io/role/elb

1 または値なし

プライベートサブネット

kubernetes.io/role/internal-elb

1 または値なし

注記

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

  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

7.2.3. AWS CLI を使用した VPC の作成

AWS CLI を使用して VPC を作成できます。この CLI の使用方法は、AWS create-vpc のドキュメント を参照してください。

7.2.4. AWS Virtual Private Cloud の手動作成

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

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

Expand
表7.3 VPC の要件
要件詳細

VPC 名

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

CIDR 範囲

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

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

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

パブリックサブネット

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

DNS ホスト名と解決

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

サブネットへのタグ付け

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

Expand
リソースキー

パブリックサブネット

kubernetes.io/role/elb

1 または値なし

プライベートサブネット

kubernetes.io/role/internal-elb

1 または値なし

注記

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

  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

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

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

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

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

サポートの利用

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

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat