Set up Broker VM on Amazon Web Services - Learn how to set up your Cortex XDR Broker virtual machine (VM) on AWS. - Administrator Guide - Cortex XDR - Cortex - Security Operations

Cortex XDR 3.x Documentation

Product
Cortex XDR
License
Prevent
Pro
Creation date
2024-03-06
Last date published
2026-05-18
Category
Administrator Guide
Abstract

Learn how to set up your Cortex XDR Broker virtual machine (VM) on AWS.

After you download your Cortex XDR Broker VMDK image, you can convert the image to an Amazon Web Services (AWS) Amazon Machine Image (AMI) using the AWS CLI. The task below explains how to do this on Linux.

Prerequisite

  • Download a Cortex XDR Broker VM VMDK image. For more information, see the virtual machine compatibility requirements in Set up and configure Broker VM.

  • You need to set up an AWS VM Import role (vmimport) before running the import-snapshot CLI command. If the role vmimport does not exist or does not have the required permissions, you can create it using the steps below or use a different role with the necessary permissions. You'll need an Administrator role or the required permissions to create or modify this role. For more information on setting up an AWS VM Import role and the permissions required, see Required service role.

To convert the image to AWS, perform the following procedures in the order listed below.

You need to log in using an AWS Identity and Access Management (IAM) user, where the permissions are defined in the IAM policy to use the virtual machine Import and export.

  1. Log in to the AWS IAM Console, and in the navigation pane, select Access ManagementUsers, and click Create user.

  2. Under User name, specify a username, and click Next.

  3. In the Permissions options section, select Attach Existing Policies directly, and then in the Permissions policies section, click Create policy.

  4. In the JSON tab, copy and paste the following syntax to define the policy:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "s3:GetBucketLocation",
            "s3:GetObject",
            "s3:PutObject"
          ],
          "Resource": ["arn:aws:s3:::mys3bucket","arn:aws:s3:::mys3bucket/*"]
        },
        {
          "Effect": "Allow",
          "Action": [
            "ec2:CancelConversionTask",
            "ec2:CancelExportTask",
            "ec2:CreateImage",
            "ec2:CreateInstanceExportTask",
            "ec2:CreateTags",
            "ec2:DescribeConversionTasks",
            "ec2:DescribeExportTasks",
            "ec2:DescribeExportImageTasks",
            "ec2:DescribeImages",
            "ec2:DescribeInstanceStatus",
            "ec2:DescribeInstances",
            "ec2:DescribeSnapshots",
            "ec2:DescribeTags",
            "ec2:ExportImage",
            "ec2:ImportInstance",
            "ec2:ImportVolume",
            "ec2:StartInstances",
            "ec2:StopInstances",
            "ec2:TerminateInstances",
            "ec2:ImportImage",
            "ec2:ImportSnapshot",
            "ec2:DescribeImportImageTasks",
            "ec2:DescribeImportSnapshotTasks",
            "ec2:CancelImportTask"
          ],
          "Resource": "*"
        }
      ]
    }
  5. Click Next.

  6. In the Policy details section, under Policy name, specify a name for the policy, and click Create policy.

  7. Select the policy that you created above based on the syntax you added, and click Next.

  8. Complete the user creation process by clicking Create user.

  1. After confirmation that the user is created, select the user that you created.

  2. Open the Security credentials tab, scroll down to the Access key section, and click Create access key.

  3. In Step 1 Access key best practices & alternatives perform the following:

    1. Select the Command Line Interface (CLI) option.

    2. Select the Confirmation checkbox.

    3. Click Next.

  4. (Optional) In Step 2 Set description tag, you can enter a description for the access key, or leave it empty, and then click Create access key.

  5. In Step 3 Retrieve access keys, copy the following user information, which you will need later:

    • User name

    • Access key ID

    • Secret access key

You can run the AWS CLI commands using one of the two options below.

To create an AMI image, you need to download Broker VM VMDK file from the Cortex XDR Web Console, import this file to your S3 bucket, and then convert the VMDK file to an AMI Image.

  1. In the Cortex XDR Web Console , select SettingsConfigurationsData BrokerBroker VMsAdd BrokerVMDK.

  2. Download the VMDK file, such as broker-vm-<broker-vm-version>.vmdk, to your computer.

  3. Navigate and log in to your AWS account.

  4. In the AWS Console, select All servicesStorageS3.

  5. On the Buckets page, click Create bucket to upload your Broker VM image to this bucket.

    Specify a unique name for the S3 bucket and use the default configurations.

  6. Upload the Broker VM VMDK you downloaded from Cortex XDR to the AWS S3 bucket using one of the following methods:

    • Using the AWS Management Console:

      On the Buckets page, select your bucket, and click Upload to upload the VMDK file.

    • Using an external terminal:

      Run
      # aws s3 cp ~/<path/to/broker-vm-version.vmdk> s3://<your_bucket/broker-vm-version.vmdk>
  7. Prepare the following configurations files on your hard drive.

  8. Use the create-role command to create a role named vmimport and grant VM import and export permissions using the trust-policy.json file.

    # aws iam create-role --role-name vmimport --assume-role-policy-document "file://trust-policy.json"
  9. Use the put-role-policy command to attach the policy to the vmimport role created above.

    # aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document "file:// role-policy.json"

  10. Create a snapshot from the VMDK file.

    Run the following command to start the import process:

    # aws ec2 import-snapshot --description "<Cortex XDR Broker VM <Version>" --disk-container "file://configuration.json"

    To track the progress, use the task id value from the output and run:

    # aws ec2 describe-import-snapshot-tasks --import-task-ids import-snap-<task-id>
    Example 46. 

    Completed status output example:

    {
        "ImportSnapshotTasks": [
            {
                "Description": "Broker VM <version> snapshot import",
                "ImportTaskId": "import-snap-12346b69617c1395t",
                "SnapshotTaskDetail": {
                    ...
                    "DiskImageSize": 2976817664.0,
                    "Format": "vmdk",
                    "SnapshotId": "snap-1234567890",
                    "Status": "completed",
                    "UserBucket": {
                        "S3Bucket": "broker-vm",
                        "S3Key": "broker-vm-<version>.vmdk"
                    }
                },
                "Tags": []
            }
        ]
    }

  11. Register the AMI from the snapshot.

    Once the describe-import-snapshot-tasks command shows a status of completed, a new Snapshot has been created in your account. You must now register this snapshot as an AMI.

    1. Locate the snapshot ID.

      In the output of your completed task, find the SnapshotId, for example snap-0123456789abcdef0. Alternatively, you can find it in the AWS Console:

      1. Select All servicesEC2.

      2. In the left sidebar, under Elastic Block Store, select Snapshots.

      3. Locate the snapshot with the description you provided during the import.

    2. Create the image from the snapshot.

      1. Select the checkbox next to your snapshot.

      2. Select ActionsCreate image from snapshot.

    3. Specify mandatory settings in the Create image from snapshot section.

      To ensure the Broker VM functions correctly, configure these settings in the following sections:

      • Image settings

        • Architecture: x86_64

        • Root device name: /dev/sda1

        • Virtualization type: Hardware-assisted virtualization

        • Boot mode: Legacy BIOS

      • Block device mappings - optional

        • Size (GIB): 480GB

        • Volume type: General Purpose SSD (gp3)

        • IOPS: 3000

        • Throughput (MB/s): 125

    Once the task is complete, the AMI Image is ready for use.

  12. (Optional) After the AMI image has been created, you can define a new name for the image.

    Select All servicesEC2IMAGESAMIs and locate your AMI image using the task ID. Select the pencil icon to specify a new name.

You can launch the a Broker VM instance in AWS EC2 using the AMI Image created.

Important

A t3.xlarge (16 GB RAM) is the lowest machine type that can be used as an instance type to meet the mandatory 4 vCPU requirement.

  1. To view the AMI image that you added, select All servicesEC2ImagesAMIs.

  2. Select EC2Instances, and click Launch instances to create an instance of the AMI image.

  3. In the Launch Instance Wizard define the instance according to your company requirements and Launch.

  4. (Optional) In the Instances page, locate your instance and use the pencil icon to rename the instance Name.

  5. Define HTTPS and SSH access (optional) to your instance.

    Select your instance and then choose ActionsSecurityChange security groups.

    Attach a security group that allows HTTPS to access the Broker VM Web UI and SSH for remote access when troubleshooting. Make sure to allow these connections to the Broker VM from secure networks only.

    Note

    Assigning security groups can take up to 15 minutes.

  6. Verify the Broker VM has started correctly.

    On the Instances page, select your instance, and the choose ActionsMonitor and troubleshootTroubleshootGet instance screenshot.

    You are directed to your Broker VM console listing your Broker details.