Chapitre 6. Configuration d’un VPC partagé pour les clusters ROSA
Il est possible de créer Red Hat OpenShift Service sur des clusters AWS (ROSA) dans des clouds privés virtuels (VPC) gérés de manière centralisée.
Le partage de VPC sur plusieurs comptes AWS n’est actuellement pris en charge que pour les clusters ROSA Classic utilisant STS pour l’authentification.
Ce processus nécessite deux comptes AWS distincts qui appartiennent à la même organisation AWS. D’un compte fonctionne comme le compte AWS propriétaire de VPC (VPC Owner), tandis que l’autre compte crée le cluster dans le compte AWS créateur de cluster (Cluster Creator).
Conditions préalables pour le propriétaire de VPC
- Il y a un compte AWS avec les autorisations appropriées pour créer des rôles et partager des ressources.
- Le compte AWS du Cluster Creator est séparé du compte AWS du propriétaire VPC.
- Les deux comptes AWS appartiennent à la même organisation AWS.
- Le partage des ressources a été activé à partir du compte de gestion de votre organisation.
- Accès à la console AWS.
Conditions préalables pour le Créateur du cluster
- Installation de la ROSA CLI (rosa) 1.2.26 ou ultérieure.
- Il a créé tous les rôles et politiques nécessaires à l’échelle du compte pour créer un cluster.
- Le compte AWS du Cluster Creator est séparé du compte AWS du propriétaire VPC.
- Les deux comptes AWS appartiennent à la même organisation AWS.
L’installation d’un cluster dans un VPC partagé n’est prise en charge que pour OpenShift 4.12.34 et versions ultérieures, 4.13.10 et ultérieures, et tous les futurs flux 4.y.
6.1. Étape 1 - Propriétaire VPC : Configurer un VPC à partager au sein de votre organisation AWS Copier lienLien copié sur presse-papiers!
Dans un VPC configuré, vous pouvez partager des sous-réseaux avec un autre compte d’utilisateur AWS si ce compte se trouve dans votre organisation AWS actuelle.
Procédure
- Créez ou modifiez un VPC à vos spécifications dans la section VPC de la console AWS.
Créez un fichier de stratégie personnalisé pour permettre les autorisations VPC partagées nécessaires qui utilisent le nom SharedVPCPolicy:
$ cat <<EOF > /tmp/shared-vpc-policy.json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "route53:ChangeResourceRecordSets", "route53:ListHostedZones", "route53:ListHostedZonesByName", "route53:ListResourceRecordSets", "route53:ChangeTagsForResource", "route53:GetAccountLimit", "route53:GetChange", "route53:GetHostedZone", "route53:ListTagsForResource", "route53:UpdateHostedZoneComment", "tag:GetResources", "tag:UntagResources" ], "Resource": "*" } ] } EOFCréer la stratégie dans AWS:
$ aws iam create-policy \ --policy-name SharedVPCPolicy \ --policy-document file:///tmp/shared-vpc-policy.jsonCette politique sera jointe à un rôle nécessaire pour les autorisations VPC partagées.
Créer un fichier de politique de confiance personnalisé qui accorde la permission d’assumer des rôles:
$ cat <<EOF > /tmp/shared-vpc-role.json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<Account-ID>:root"1 }, "Action": "sts:AssumeRole" } ] } EOF- 1
- Le principal sera réduit après que le Cluster Creator aura créé les rôles de cluster nécessaires. Lors de la création, vous devez créer un espace d’utilisateur root en utilisant l’ID de compte AWS de Cluster Creator comme arn:aws:iam::{Account}:root.
Créer le rôle de l’IAM:
$ aws iam create-role --role-name <role_name> \1 --assume-role-policy-document file:///tmp/shared-vpc-role.json- 1
- <role_name> par le nom du rôle que vous souhaitez créer.
Joindre la politique de permissions SharedVPCPolicy personnalisée:
$ aws iam attach-role-policy --role-name <role_name> --policy-arn \1 arn:aws:iam::<AWS_account_ID>:policy/SharedVPCPolicy2 - Fournissez l’ARN SharedVPCRole au Cluster Creator pour continuer la configuration.
Ressources supplémentaires
- Consultez la documentation AWS pour partager vos ressources AWS.