Skip to main content

Cloud Execution for Desktop in AWS

Befolgen Sie diese Anleitung, um das Cloud Execution for Desktop-Modul für die Verarbeitung personenbezogener Daten in AWS bereitzustellen.

Voraussetzung

Bevor Sie das Cloud Execution for Desktop-Modul bereitstellen, müssen Sie die folgenden Schritte auf der AWS-Konto und VPC für private Daten einrichten-Seite ausführen...

  1. Eine VPC konfigurieren, die speziell für Alteryx One Platform bestimmt ist, wie im Abschnitt VPC erstellen beschrieben.

  2. Dem Dienstkonto angehängtes Dienstkonto und Basis-IAM-Rolle, wie im Abschnitt IAM konfigurieren beschrieben.

  3. Lösen Sie die Bereitstellung der Verarbeitung privater Daten aus, wie im Abschnitt Bereitstellung der Handhabung privater Daten auslösen beschrieben.

Kontoeinrichtung

Schritt 1: IAM konfigurieren

Schritt 1a: Cloud Execution-IAM-Richtlinie erstellen

Anmerkung

AAC_CEFD_SA_Policy ist ein Beispiel für einen Richtliniennamen. Sie können einen beliebigen Namen für die Richtlinie wählen, der Name muss jedoch mit AAC_CEFD beginnen.

Sie müssen eine benutzerdefinierte IAM-Richtlinie erstellen. Nennen Sie sie AAC_CEFD_SA_Policy und verwenden Sie das folgende Richtliniendokument. Wir empfehlen, die JSON-Registerkarte anstelle des visuellen Editors zu verwenden. Alteryx One erfordert einige -Berechtigungen für die Ausführung. Beim Erstellen der Richtlinie werden einige Sicherheitswarnungen angezeigt. Beachten Sie, dass das IAM-Richtliniendokument die Erstellung von Rollen unterstützt und eine Inline-Richtlinie für die Lambda-Funktion enthält, um Rollen zu übernehmen.

{
    "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:*"
        }
    ]
}

Schritt 1b: IAM-Richtlinie taggen

Versehen Sie die in Schritt 1a erstellte benutzerdefinierte IAM-Richtlinie mit Tags.

Tag-Name

Wert

AACResource

aac_sa_custom_policy

Schritt 1c: IAM-Richtlinie anhängen

Verbinden Sie die IAM-Richtlinie AAC_CEFD_SA_Policy mit dem auf der Seite AWS-Konto und VPC für private Daten einrichten erstellten aac_automation_sa-Dienstkonto.

Schritt 2: Subnetz konfigurieren

Anmerkung

Wenn Sie Designer Cloud und EMR erworben haben, konfigurieren Sie die Subnetze wie unter Designer Cloud und EMR serverlos in AWS beschrieben. Sowohl EMR- als auch CEfD-Ressourcen teilen sich die Subnetze Option.

Cloud Execution for Desktop in einer Umgebung zur Verarbeitung privater Daten ist 1 Subnetzgruppe erforderlich. Die Gruppe enthält drei einzelne Subnetze, die jeweils in einer anderen Verfügbarkeitszone liegen.

  • public (erforderlich): Diese Gruppe führt keine Dienste aus, wird aber für den ausgehenden Datenverkehr aus dem VPC verwendet.

  • private (erforderlich): Diese Gruppe führt private Dienste für den PDP aus.

  • Gruppe Option: Verwenden Sie diese Gruppe, wenn Sie Cloud Execution for Desktop in Ihrer Datenverarbeitungsumgebung aktivieren. Wenn Sie diese Option aktivieren, wird ein AMI-Swarm in diesem Subnetz ausgeführt, um Designer Desktop-Verarbeitungsaufträge zu handhaben, die in der Cloud ausgeführt werden.

Schritt 2a: Subnetze in der VPC erstellen

Konfigurieren Sie Subnetze in der aac-vpc-VPC.

Erstellen Sie Subnetze und kennzeichnen Sie sie, wie im Beispiel unten gezeigt. Sie können die CIDRs und Subnetzwerte an Ihre Netzwerkarchitektur anpassen.

Die großen Adressräume sind für eine vollständig skaliertes Cluster ausgelegt. Sie können bei Bedarf einen kleineren Adressenspeicher wählen, was aber bei hohen Verarbeitungslasten zu Skalierungsproblemen führen könnte.

Wichtig

Sie müssen Subnetze mit Tag-Name und Tag-Wert, wie in der Tabelle angegeben, taggen.

CIDRs

Subnetzname

Subnetz

AZ

Tag-Name

Tag-Wert

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

Schritt 2b: Subnetzroutentabellen

Erstellen Sie die Routentabelle für Ihre Subnetze.

Anmerkung

Diese Routentabelle dient als Beispiel.

Subnetzname

Routenziel

Ziel

Kommentare

öffentlich

/18 CIDR-Block

/21 CIDR-Block

0.0.0.0/0

lokal

lokal

<gateway-id>

Konfigurieren Sie die gleichen Routen für alle drei AZs-Subnetz-Routentabellen.

privat

/18 CIDR-Block

/21 CIDR-Block

<S3 prefix id>

0.0.0.0/0

lokal

lokal

<vpce endpoint id>

<gateway-id>

Konfigurieren Sie die gleichen Routen für alle drei AZs-Subnetz-Routentabellen.

0.0.0.0/0 sollte auf das öffentliche Netzwerk ausgedehnt werden.

Option

/21 CIDR-Block

<S3 prefix id>

0.0.0.0/0

Lokal

<vpce endpoint id>

<gateway-id>

Konfigurieren Sie die gleichen Routen für alle drei AZs-Subnetz-Routentabellen.

Grundsätzlich sollte 0.0.0.0/0 auf das öffentliche Netzwerk ausgedehnt werden.

Anmerkung

Ihr <gateway id> könnte je nach Netzwerkarchitektur entweder ein pro AZ erstelltes NAT-Gateway oder ein Transit-Gateway sein. Erstellen Sie bei einem NAT-Gateway ein NAT-Gateway pro AZ für öffentliche Subnetze.

Verarbeitung privater Daten

Achtung

Das Ändern oder Entfernen von Public-Cloud-Ressourcen, die von Alteryx One bereitgestellt wurden, nachdem die Handhabung privater Daten eingerichtet wurde, kann zu Inkonsistenzen führen. Diese Inkonsistenzen können zu Fehlern bei der Auftragsausführung oder bei der Deprovisionierung der Einrichtung für die Handhabung privater Daten führen.

Schritt 1: Cloud Execution-Bereitstellung auslösen

Die Datenebenenbereitstellung wird über die Admin-Konsole in Alteryx One ausgelöst. Sie benötigen zum Anzeigen Arbeitsbereich-Administrator-Berechtigungen.

  1. Wählen Sie über die Alteryx One-Startseite das Menü Profil und dann Arbeitsbereich-Administrator aus.

  2. Wählen Sie in der Admin-Konsole die Option Handhabung privater Daten und dann Verarbeitung aus.

  3. Wählen Sie Sie das Cloud Execution for Desktop-Kontrollkästchen und dann Aktualisieren aus.

Die Auswahl von Aktualisieren löst die Bereitstellung des Clusters und der Ressourcen im AWS-Konto aus. Dadurch wird eine Reihe von Validierungsprüfungen durchgeführt, um die korrekte Konfiguration des AWS-Kontos zu überprüfen.

Anmerkung

Der Bereitstellungsprozess dauert bis zum Abschluss etwa 35–40 Minuten.

Nach Abschluss der Bereitstellung können Sie die erstellten Ressourcen (z. B. EC2-Instanzen und Knotengruppen) über die AWS-Konsole anzeigen. Es ist sehr wichtig, dass Sie sie nicht selbst ändern. Manuelle Änderungen können zu Problemen mit der Funktionalität der privaten Datenebene führen.