Skip to main content

AWSでのCloud Execution for Desktop

このガイドに従って、AWSプライベートデータ処理用にCloud Execution for Desktopモジュールをデプロイします。

必要条件

Cloud Execution for Desktopモジュールを展開する前に、プライベートデータ用のAWSアカウントとVPCのセットアップページで次の手順を完了する必要があります。

  1. VPCの作成」セクションで説明されているように、Alteryx One Platform専用のVPCが設定されている。

  2. IAMの設定」セクションで説明されているように、サービスアカウントと、サービスアカウントに紐付いたベースIAMロールが用意されている。

  3. プライベートデータ処理のプロビジョニングをトリガーする」セクションで説明されているように、プライベートデータ処理のプロビジョニングが正常にトリガーされている。

アカウントのセットアップ

ステップ1: IAMの設定

ステップ1a: Cloud Execution IAMポリシーの作成

注記

AAC_CEFD_SA_Policyは、ポリシー名の例です。ポリシーには任意の名前を指定できますが、名前は「AAC_CEFD」で始まる必要があります

カスタムIAMポリシーを作成する必要があります。名前を「AAC_CEFD_SA_Policy」とし、次のポリシードキュメントを使用します。ビジュアルエディターではなくJSONタブを使用することをお勧めします。実行するには、Alteryx Oneに一部*権限が必要です。ポリシーの作成時に、セキュリティ警告が何件か発生する場合があります。IAMポリシードキュメントでは、ロールの作成がサポートされており、Lambda関数がロールを引き受けるためのインラインポリシーが含まれています。

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

ステップ1b: IAMポリシーのタグ付け

ステップ1aで作成したカスタムIAMポリシーにタグを付けます。

タグ名

AACResource

aac_sa_custom_policy

ステップ1c: IAMポリシーの付与

プライベートデータ用のAWSアカウントとVPCのセットアップページで作成したaac_automation_saサービスアカウントに、AAC_CEFD_SA_Policy IAMポリシーを付与します。

ステップ2: サブネットの設定

注記

Designer CloudおよびEMRを購入した場合は、 Designer Cloud and EMR Serverless in AWSの説明に従ってサブネットを設定します。EMRリソースとCEfDリソースの両方でオプションのサブネットが共有されます。

プライベートデータ処理環境のCloud Execution for Desktopには、1つのサブネットグループが必要です。このグループには3つの個別のサブネットが含まれており、それぞれ異なるアベイラビリティゾーンに紐付きます。

  • public (必須): このグループでサービスは実行されませんが、VPCからのエグレスに使用されます。

  • private (必須): このグループは、PDP専用にサービスを実行します。

  • オプショングループ: データ処理環境内でCloud Execution for Desktopを有効にした場合は、このグループを使用します。このオプションを有効にすると、AMIスウォームがこのサブネットで実行され、クラウドで実行されるDesigner Desktopの処理ジョブが処理されます。

ステップ2a: VPCでサブネットを作成する

aac-vpc VPCでサブネットを設定します。

サブネットを作成し、以下の例に示すようにタグ付けします。CIDRとサブネットの値は、ネットワークアーキテクチャに合わせて調整できます。

大規模なアドレス空間は、完全にスケールアウトされたクラスターに対応するように設計されています。必要に応じてアドレス空間を小さくすることもできますが、処理負荷が高くなったときにスケーリングに問題が発生する可能性があります。

重要

表に記載されているように、タグ名タグ値を使用してサブネットにタグを付ける必要があります。

CIDR

サブネット名

サブネット

AZ

タグ名

タグ値

10.10.0.0/21

オプション

10.10.4.0/24

AZa

AACSubnet

オプション

オプション

10.10.5.0/24

AZb

AACSubnet

オプション

オプション

10.10.6.0/24

AZc

AACSubnet

オプション

ステップ2b: サブネットのルートテーブル

サブネット用のルートテーブルを作成します。

注記

このルートテーブルは一例です。

サブネット名

ルートの宛先

ターゲット

コメント

パブリック

/18 CIDRブロック

/21 CIDRブロック

0.0.0.0/0

ローカル

ローカル

<gateway id>

3つのAZサブネットルーティングテーブルすべてに同じルートを設定します。

プライベート

/18 CIDRブロック

/21 CIDRブロック

<s3 prefix id>

0.0.0.0/0

ローカル

ローカル

<vpce endpoint id>

<gateway id>

3つのAZサブネットルーティングテーブルすべてに同じルートを設定します。

0.0.0.0/0はパブリックネットワークに送信される必要があります。

オプション

/21 CIDRブロック

<s3 prefix id>

0.0.0.0/0

ローカル

<vpce endpoint id>

<gateway id>

3つのAZサブネットルーティングテーブルすべてに同じルートを設定します。

通常、0.0.0.0/0はパブリックネットワークに送信される必要があります。

注記

<gateway id>は、お使いのネットワークアーキテクチャに応じて、各AZに作成されるゾーナルNATゲートウェイまたはトランジットゲートウェイのいずれかになります。NATゲートウェイの場合は、パブリックサブネットのAZごとにNATゲートウェイを作成します。

プライベートデータ処理

注意

プライベートデータ処理を設定した後に、Alteryx Oneをプロビジョニングされたパブリッククラウドリソースを変更または削除すると、不整合が生じる可能性があります。これらの不整合により、ジョブの実行中またはプライベートデータ処理設定のプロビジョニング解除時にエラーが発生する可能性があります。

ステップ1: Cloud Executionのデプロイをトリガーする

データプレーンのプロビジョニングは、Alteryx One内の管理者コンソールからトリガーされます。このページを表示するには、ワークスペース内のワークスペース管理者権限が必要です。

  1. Alteryx Oneのランディングページで[プロファイル]メニューを選択し、[ワークスペース管理者]を選択します。

  2. 管理者コンソールから[プライベートデータ処理]を選択し、[Processing]を選択します。

  3. Cloud Execution for Desktopチェックボックスを選択し、[更新]を選択します。

[更新]を選択すると、AWSアカウント内のクラスターとリソースのデプロイがトリガーされます。これにより、一連の検証チェックが実行され、AWSアカウントの設定が正しいことが確認されます。

注記

プロビジョニングプロセスの完了には、約35-40分かかります。

プロビジョニングが完了すると、作成したリソース(EC2インスタンスやノードグループなど)をAWSコンソールから表示できます。これらは絶対に自分で変更しないでください。手動で変更すると、プライベートデータプレーンの機能に問題が発生する可能性があります。