目次

Search

  1. はじめに
  2. 詳細クラスタ
  3. AWSの設定
  4. Google Cloudの設定
  5. Microsoft Azureの設定
  6. セルフサービスクラスタの設定
  7. ローカルクラスタの設定
  8. 詳細設定
  9. トラブルシューティング
  10. 付録 A: コマンドリファレンス

詳細クラスタ

詳細クラスタ

クラウド権限の設定

クラウド権限の設定

ローカルクラスタでは、簡素化されたクラウド権限を使用します。お使いのクラウドプラットフォームに適した設定手順に従ってください。

AWSの設定

AWS環境で、Secure AgentとクラスタオペレータのIAMロールを構成します。
  1. AWSで、
    agent_role
    という名前のIAMロールを作成し、Secure AgentがインストールされているAmazon EC2インスタンスにアタッチします。または、既存のIAMロールをSecure Agentロールに指定することもできます。
    IAMロールの作成手順については、AWSのドキュメントを参照してください。AWSは、AWSマネジメントコンソールやAWS CLIを使用するなど、IAMロールを作成する方法をいくつか提供しています。
  2. AWSで、
    cluster_operator_role
    という名前のクラスタオペレータのIAMロールを作成します。
  3. 次のIAMポリシーを
    cluster_operator_policy
    という名前で作成します。
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetEncryptionConfiguration", "s3:ListBucket", "s3:PutObject", "s3:GetObjectAcl", "s3:GetObject", "s3:DeleteObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::<cluster-staging-dir1>/*", "arn:aws:s3:::<cluster-logging-dir1>/*" ] } ] }
    <cluster-staging-dir1>
    <cluster-logging-dir1>
    を、それぞれお使いのステージングとログの場所に置き換えます。頻繁に変更されるS3の場所に対応するために、ワイルドカードを使用できます。詳細については、AWSのマニュアルを参照してください。
  4. IAMポリシー
    cluster_operator_policy
    をIAMロール
    cluster_operator_role
    にアタッチします。
  5. Secure Agentロールを含めるようにクラスタオペレータロールの信頼関係を設定します。Secure Agentはクラスタオペレータロールを引き受ける必要があるため、クラスタオペレータロールはSecure Agentを信頼する必要があります。
    IAMロール
    cluster_operator_role
    の信頼関係を編集し、次のIAMポリシーを指定します。
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{{account-id}}:role/agent_role" }, "Action": "sts:AssumeRole", } ] }
    Principal要素の値はSecure AgentロールのARNです。
    必要に応じて、Secure Agentのみがクラスタオペレータロールを引き受けることができるように外部IDを設定できます。
    例えば、次のポリシーを使用して外部ID「123」を設定できます。
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{{account-id}}:role/agent_role" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "123" } } } ] }

Microsoft Azureの設定

Azure環境では、以下のタスクを実行します。
  1. Secure Agentマシンでファイアウォールを無効にします。
  2. Azureで、
    agent_identity
    という名前でマネージドIDを作成します。システムによって割り当てられた既存のマネージドIDを使用することも、ユーザーによって割り当てられたマネージドIDを作成することもできます。ユーザーが割り当てたマネージドIDを作成する場合は、システムが割り当てたマネージドIDを無効にします。
    マネージドIDの作成手順については、Microsoft Azureのドキュメントを参照してください。
  3. 次のロール定義を使用して、
    agent_role
    という名前のカスタムロールを作成します。
    { "properties":{ "roleName":"agent_role", "description":"", "assignableScopes":[ "/subscriptions/<subscription ID>/resourceGroups/<storage_resource_group>" ], "permissions":[ { "actions":[ "Microsoft.Storage/storageAccounts/read", "Microsoft.Storage/storageAccounts/write", "Microsoft.Storage/storageAccounts/listKeys/action" ], "notActions":[ ], "dataActions":[ ], "notDataActions":[ ] } ] } }
  4. カスタムロール
    agent_role
    agent_identity
    という名前のマネージドIDに割り当てます。
  5. マネージドID
    agent_identity
    を、Secure AgentがインストールされているVMに割り当てます。

Google Cloudの設定

Google Cloud環境では、次の権限を持つIAMロールを設定します。
storage.buckets.get storage.objects.create storage.objects.delete storage.objects.get storage.objects.list storage.objects.update
Google VMを作成するときに、必要なロールが関連付けられているサービスアカウントを指定します。