Chapitre 7. Tutoriel : Utilisation d’AWS WAF et d’AWS ALB pour protéger les charges de travail ROSA


AWS WAF est un pare-feu d’application Web qui vous permet de surveiller les requêtes HTTP et HTTPS qui sont transmises à vos ressources d’application Web protégées.

Il est possible d’utiliser un balanceur de charge d’application AWS (ALB) pour ajouter un pare-feu d’application Web (WAF) à votre Red Hat OpenShift Service sur AWS (ROSA). L’utilisation d’une solution externe protège les ressources ROSA contre le déni de service dû à la gestion du WAF.

Important

Il est recommandé d’utiliser la méthode CloudFront plus flexible, sauf si vous devez absolument utiliser une solution basée sur ALB.

7.1. Conditions préalables

  • Cluster de zones de disponibilité multiples (AZ) ROSA (HCP ou Classic).

    Note

    Les ALB AWS nécessitent au moins deux sous-réseaux publics à travers les AZ, selon la documentation AWS. C’est pour cette raison que seuls plusieurs clusters AZ ROSA peuvent être utilisés avec des ALB.

  • Accès à l’OpenShift CLI (oc).
  • Accès à AWS CLI (aws).

7.1.1. Configuration de l’environnement

  • Élaborer les variables de l’environnement:

    $ 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}"
    Copy to Clipboard Toggle word wrap

7.1.2. AWS VPC et sous-réseaux

Note

Cette section ne s’applique qu’aux clusters qui ont été déployés dans des VPC existants. Dans le cas où vous n’avez pas déployé votre cluster dans un VPC existant, sautez cette section et passez à la section d’installation ci-dessous.

  1. Définissez les variables ci-dessous aux valeurs appropriées pour votre déploiement 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
    Copy to Clipboard Toggle word wrap
    1
    Le remplacement par l’ID VPC du cluster, par exemple: exporte VPC_ID=vpc-04c429b7dbc4680ba.
    2
    Le remplacer par une liste séparée de l’espace des ID de sous-réseau privés du cluster, en veillant à préserver le (). Exportation PUBLIC_SUBNET_IDS=(subnet-056fd6861ad332ba2 sous-net-08ce3b4ec753fe74c sous-net-071aa2828664972f).
    3
    Le remplacer par une liste séparée de l’espace des ID de sous-réseau privés du cluster, en veillant à préserver le (). Exportation PRIVATE_SUBNET_IDS=(subnet-0b933d72a8d72c36a sousnet-0817eb72070f1d3c2 sousnet-0806e64159b66665a).
  2. Ajoutez une balise au VPC de votre cluster avec l’identifiant du cluster:

    $ aws ec2 create-tags --resources ${VPC_ID} \
      --tags Key=kubernetes.io/cluster/${CLUSTER},Value=shared --region ${REGION}
    Copy to Clipboard Toggle word wrap
  3. Ajoutez une étiquette à vos sous-réseaux publics:

    $ 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}
    Copy to Clipboard Toggle word wrap
  4. Ajouter une balise à vos sous-réseaux privés:

    $ 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}
    Copy to Clipboard Toggle word wrap
Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat