Cloud Execution for Desktop dans AWS
Suivez ce guide pour déployer le module Cloud Execution for Desktop pour le traitement des données privé AWS.
Condition préalable
Avant de déployer le module Cloud Execution for Desktop, vous devez effectuer les étapes suivantes sur la page Configurer un compte AWS et un VPC pour les données privées…
Avoir configuré un VPC dédié à Alteryx One Platform, comme indiqué dans la section Créer un VPC.
Avoir rattaché un rôle de compte de service et IAM de base au compte de service, comme indiqué dans la section Configurer l'IAM.
Avoir déclenché avec succès le provisionnement du traitement des données privé, comme indiqué dans la section Déclencher le provisionnement de la gestion des données privées.
Configuration du compte
Étape 1 : Configurer l'IAM
Étape 1a : Créer une politique IAM Cloud Execution
Note
AAC_CEFD_SA_Policy est un exemple de nom de politique. Vous pouvez choisir n'importe quel nom pour la politique, mais il doit commencer par AAC_CEFD.
Vous devez créer une politique IAM personnalisée. Nommez-la AAC_CEFD_SA_Policy et utilisez le document de politique suivant. Nous vous recommandons d'utiliser l'onglet JSON au lieu de l'éditeur visuel. Alteryx One a besoin d'autorisations * pour s'exécuter. Attendez-vous à recevoir des avertissements de sécurité lorsque vous créez la politique. Notez que le document de politique IAM prend en charge la création de rôles et inclut une politique en ligne permettant à la fonction Lambda d'assumer des rôles.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::*:role/*",
"Condition": {
"StringEqualsIfExists": {
"iam:PassedToService": [
"ec2.amazonaws.com",
"ec2.amazonaws.com.cn"
]
}
}
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"iam:CreateServiceLinkedRole",
"kms:CreateGrant",
"kms:Decrypt",
"kms:DescribeKey",
"kms:Encrypt",
"kms:GetKeyPolicy",
"kms:GetKeyRotationStatus",
"kms:ListGrants",
"kms:ListResourceTags",
"kms:ListRetirableGrants",
"kms:PutKeyPolicy",
"kms:RetireGrant",
"kms:RevokeGrant",
"kms:ScheduleKeyDeletion",
"kms:TagResource",
"kms:UntagResource"
],
"Resource": [
"arn:aws:kms:*:*:key/*",
"arn:aws:iam::*:role/*"
]
},
{
"Sid": "VisualEditor2",
"Effect": "Allow",
"Action": [
"iam:GetPolicy",
"iam:GetPolicyVersion",
"iam:GetRole",
"iam:GetRolePolicy",
"iam:PutRolePolicy",
"iam:DeleteRolePolicy",
"iam:DetachRolePolicy",
"iam:AttachRolePolicy",
"iam:GetUser",
"iam:GetUserPolicy",
"iam:ListInstanceProfilesForRole",
"iam:ListPolicyTags",
"iam:ListPolicyVersions",
"iam:ListRolePolicies",
"iam:PassRole",
"iam:TagPolicy",
"iam:TagRole",
"iam:UntagPolicy",
"iam:UntagRole",
"iam:UpdateAssumeRolePolicy",
"iam:CreatePolicy",
"iam:CreatePolicyVersion",
"iam:CreateRole",
"iam:DeletePolicy",
"iam:DeletePolicyVersion",
"iam:DeleteRole",
"iam:PassRole",
"iam:PutRolePolicy",
"iam:UpdateRole"
],
"Resource": [
"arn:aws:iam::*:policy/*",
"arn:aws:iam::*:oidc-provider/*",
"arn:aws:iam::*:user/*",
"arn:aws:iam::*:role/*"
]
},
{
"Sid": "VisualEditor3",
"Effect": "Allow",
"Action": [
"autoscaling:*",
"ec2:*",
"elasticloadbalancing:*",
"iam:GetAccountName",
"iam:ListAccountAliases",
"iam:ListRoles",
"iam:CreateInstanceProfile",
"iam:DeleteInstanceProfile",
"iam:GetInstanceProfile",
"iam:TagInstanceProfile",
"iam:UntagInstanceProfile",
"iam:RemoveRoleFromInstanceProfile",
"iam:AddRoleToInstanceProfile",
"logs:CreateLogGroup",
"logs:DeleteLogGroup",
"logs:DescribeLogGroups",
"logs:ListTagsLogGroup",
"logs:PutRetentionPolicy",
"logs:TagResource",
"logs:UntagResource",
"logs:TagLogGroup",
"logs:UntagLogGroup",
"networkmanager:Describe*",
"networkmanager:Get*",
"networkmanager:List*",
"sts:GetCallerIdentity",
"logs:CreateLogStream",
"logs:DeleteLogStream",
"logs:PutLogEvents",
"lambda:GetFunction",
"lambda:GetFunctionCodeSigningConfig",
"lambda:GetPolicy",
"lambda:CreateFunction",
"lambda:DeleteFunction",
"lambda:ListVersionsByFunction",
"lambda:AddPermission",
"lambda:RemovePermission",
"lambda:UntagResource",
"lambda:UpdateFunctionConfiguration",
"lambda:UpdateFunctionCode",
"lambda:tagResource",
"events:DescribeRule",
"events:DeleteRule",
"events:PutRule",
"events:PutTargets",
"events:RemoveTargets",
"events:ListTagsForResource",
"events:ListTargetsByRule"
],
"Resource": "*"
},
{
"Sid": "VisualEditor4",
"Effect": "Allow",
"Action": "secretsmanager:*",
"Resource": "arn:aws:secretsmanager:*:*:secret:*"
}
]
}Étape 1b : Marquer la politique IAM
Marquez la politique IAM personnalisée créée à l'étape 1a.
Nom de la balise | Valeur |
|---|---|
AACResource | aac_sa_custom_policy |
Étape 1c : Rattacher la politique IAM
Rattachez la politique IAM AAC_CEFD_SA_Policy au compte de service aac_automation_sa créé à la page Configurer un compte AWS et un VPC pour les données privées.
Étape 2 : Configurer le sous-réseau
Note
Si vous avez acheté Designer Cloud et EMR, configurez les sous-réseaux comme indiqué dans la section Designer Cloud and EMR Serverless in AWS. Les ressources EMR et CEfD partagent les sous-réseaux d'options.
Cloud Execution for Desktop dans un environnement de traitement de données privé, 1 sous-réseau est nécessaire. Le groupe contient 3 sous-réseaux individuels, chacun dans une zone de disponibilité différente.
public (obligatoire) : ce groupe n'exécute aucun service, mais il est utilisé pour les flux sortants du VPC.
private (obligatoire) : ce groupe exécute des services privés sur le PDP.
Groupe d'options : utilisez ce groupe si vous activez Cloud Execution for Desktop dans votre environnement de traitement des données. Si vous activez cette option, un swarm AMI s'exécute dans ce sous-réseau pour gérer les tâches de traitement Designer Desktop qui s'exécutent dans le cloud.
Étape 2a : Créer des sous-réseaux dans le VPC
Configurez des sous-réseaux dans le VPC aac_vpc.
Créez des sous-réseaux et marquez-les comme indiqué dans l'exemple ci-dessous. Vous pouvez ajuster les CIDR et les valeurs de sous-réseau pour les adapter à votre architecture réseau.
Les grands espaces d'adressage sont conçus pour s'adapter à un cluster entièrement évolutif. Si nécessaire, vous pouvez choisir un espace d'adressage plus petit, mais vous risquez de rencontrer des problèmes de mise à l'échelle lors de charges de traitement importantes.
Important
Vous devez marquer les sous-réseaux avec le nom de la balise et la valeur de la balise comme indiqué dans le tableau.
CIDR | Nom du sous-réseau | Sous-réseau | AZ | Nom de la balise | Valeur de la balise |
|---|---|---|---|---|---|
10.10.0.0/21 | option | 10.10.4.0/24 | AZa | AACSubnet | option |
option | 10.10.5.0/24 | AZb | AACSubnet | option | |
option | 10.10.6.0/24 | AZc | AACSubnet | option |
Étape 2b : Tables de routage des sous-réseaux
Créez la table de routage pour vos sous-réseaux.
Note
Cette table de routage est un exemple.
Nom du sous-réseau | Destination de routage | Cible | Commentaires |
|---|---|---|---|
publique | Bloc CIDR /18 Bloc CIDR /21 0.0.0.0/0 | local local <gateway id> | Configurez les mêmes routes vers les tables de routage des 3 sous-réseau AZ. |
privé | Bloc CIDR /18 Bloc CIDR /21 <id du préfixe s3> 0.0.0.0/0 | local local <id du point de terminaison vpce> <gateway id> | Configurez les mêmes routes vers les tables de routage des 3 sous-réseau AZ. 0.0.0.0/0 devrait sortir vers le réseau public. |
option | Bloc CIDR /21 <id du préfixe s3> 0.0.0.0/0 | Locale <id du point de terminaison vpce> <gateway id> | Configurez les mêmes routes vers les tables de routage des 3 sous-réseau AZ. En fait, 0.0.0.0/0 devrait sortir vers le réseau public. |
Note
Votre <gateway id> pourrait correspondre à une passerelle NAT de zone ayant été créée via AZ ou à une passerelle de transit, en fonction de votre architecture réseau. S'il s'agit d'une passerelle NAT, créez une passerelle NAT via AZ pour les sous-réseaux publics.
Traitement des données privé
Attention
La modification ou la suppression de ressources de cloud public provisionnées par Alteryx One après la configuration de gestion des données privées peut entraîner des incohérences. Ces incohérences peuvent causer des erreurs lors de l'exécution de la tâche ou lors du désapprovisionnement de la configuration de gestion des données privées.
Étape 1 : Déclencher le déploiement Cloud Execution
Le provisionnement du plan des données est déclenché à partir de la console d'administration dans Alteryx One. Vous devez disposer des privilèges Admin de l'espace de travail dans un espace de travail pour pouvoir le voir.
Depuis la page d'accueil Alteryx One, sélectionnez Menu Profil, puis sélectionnez Admin de l'espace de travail.
Dans la console d'administration, sélectionnez Gestion des données privées, puis Traitement.
Cochez la case Cloud Execution for Desktop, puis sélectionnez Mettre à jour.
Sélectionner Mettre à jour déclenche le déploiement du cluster et des ressources dans le compte AWS. Cela permet d'exécuter une série de contrôles de validation afin de vérifier la configuration correcte du compte AWS.
Note
Le processus de provisionnement dure environ 35 à 40 minutes.
Une fois le provisionnement terminé, vous pouvez afficher les ressources créées (par exemple, les instances EC2 et les groupes de nœuds) via la console AWS. Il est essentiel de ne pas les modifier vous-même. Les modifications manuelles peuvent entraîner des problèmes avec le fonctionnement du plan des données privé.