検索

第5章 チュートリアル: AWS WAF と AWS ALB を使用した ROSA ワークロードの保護

download PDF

AWS WAF は Web アプリケーションファイアウォールです。保護対象の Web アプリケーションリソースに転送される HTTP および HTTPS 要求を監視できます。

AWS Application Load Balancer (ALB) を使用して、Red Hat OpenShift Service on AWS (ROSA) ワークロードに Web Application Firewall (WAF) を追加できます。外部ソリューションを使用すると、WAF の処理によるサービス拒否から ROSA リソースを保護できます。

重要

ALB ベースのソリューションを絶対に使用する必要がある場合を除き、より柔軟な CloudFront メソッド を使用することを推奨します。

5.1. 前提条件

  • 複数のアベイラビリティーゾーン (AZ) ROSA (HCP または Classic) クラスター。

    注記

    AWS ドキュメントによると、AWS ALB には AZ 全体にわたって少なくとも 2 つの public サブネットが必要です。このため、ALB では複数の AZ ROSA クラスターのみを使用できます。

  • OpenShift CLI (oc) にアクセスできる。
  • AWS CLI (aws) にアクセスできる。

5.1.1. 環境設定

  • 環境変数を準備します。

    $ export AWS_PAGER=""
    $ export CLUSTER=$(oc get infrastructure cluster -o=jsonpath="{.status.infrastructureName}")
    $ export REGION=$(oc get infrastructure cluster -o=jsonpath="{.status.platformStatus.aws.region}")
    $ export OIDC_ENDPOINT=$(oc get authentication.config.openshift.io cluster -o jsonpath='{.spec.serviceAccountIssuer}' | sed  's|^https://||')
    $ export AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text)
    $ export SCRATCH="/tmp/${CLUSTER}/alb-waf"
    $ mkdir -p ${SCRATCH}
    $ echo "Cluster: $(echo ${CLUSTER} | sed 's/-[a-z0-9]\{5\}$//'), Region: ${REGION}, OIDC Endpoint: ${OIDC_ENDPOINT}, AWS Account ID: ${AWS_ACCOUNT_ID}"

5.1.2. AWS VPC とサブネット

注記

このセクションは、既存の VPC にデプロイされたクラスターにのみ適用されます。クラスターを既存の VPC にデプロイしなかった場合は、このセクションをスキップして、その後のインストールセクションに進んでください。

  1. 以下の変数を、ROSA デプロイメントに合わせて適切な値に設定します。

    $ export VPC_ID=<vpc-id> 1
    $ export PUBLIC_SUBNET_IDS=(<space-separated-list-of-ids>) 2
    $ export PRIVATE_SUBNET_IDS=(<space-separated-list-of-ids>) 3
    1
    クラスターの VPC ID に置き換えます (例: export VPC_ID=vpc-04c429b7dbc4680ba)。
    2
    クラスターのプライベートサブネット ID のスペース区切りリストに置き換えます。() は必ず保持してください。例: export PUBLIC_SUBNET_IDS=(subnet-056fd6861ad332ba2 subnet-08ce3b4ec753fe74c subnet-071aa28228664972f)
    3
    クラスターのプライベートサブネット ID のスペース区切りリストに置き換えます。() は必ず保持してください。たとえば、export PRIVATE_SUBNET_IDS=(subnet-0b933d72a8d72c36a subnet-0817eb72070f1d3c2 subnet-0806e64159b66665a) です。
  2. クラスター識別子を使用して、クラスターの VPC にタグを追加します。

    $ aws ec2 create-tags --resources ${VPC_ID} \
      --tags Key=kubernetes.io/cluster/${CLUSTER},Value=shared --region ${REGION}
  3. パブリックサブネットにタグを追加します。

    $ aws ec2 create-tags \
      --resources ${PUBLIC_SUBNET_IDS} \
      --tags Key=kubernetes.io/role/elb,Value='1' \
            Key=kubernetes.io/cluster/${CLUSTER},Value=shared \
      --region ${REGION}
  4. プライベートサブネットにタグを追加します。

    $ aws ec2 create-tags \
      --resources ${PRIVATE_SUBNET_IDS} \
      --tags Key=kubernetes.io/role/internal-elb,Value='1' \
            Key=kubernetes.io/cluster/${CLUSTER},Value=shared \
      --region ${REGION}
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.