跳至主要内容

运行 Bitdefender 安全容器 于AWS ECS

要运行 Bitdefender 安全容器 实例于AWS ECS,您需要:

  1. 创建Amazon ECS任务定义

  2. 运行先前创建的任务

先决条件

  • 您必须在 Amazon Elastic Container Service控制台 中已创建ECS集群 基础设施 部分的 集群 > 创建集群 页面:

    • 选择 Fargate与自主管理实例 .

      create-cluster_cpo_258895_en.png

      重要提示

      Bitdefender 安全容器 无法部署在仅使用Fargate的ECS集群上。

    • 选择 EC2实例类型 至少提供2个vCPU和6GiB内存的配置。

  • 通过以下步骤获取 BSC_SERVER , BSC_CSRTOKENBSC_COMPANY 变量的必要值:

    1. GravityZone 控制中心 中,前往 网络 > 安装包 .

    2. 选择一个已启用 容器保护 模块的安装包。

      98834_1.png
    3. 点击 下载 并选择 安全容器 .

      98834_2.png

      这将打开 下载 安全容器 界面。

      98834_3.png
    4. 请记录脚本中提供的 --server , --company--csrtoken 参数值。这些参数对应 BSC_SERVER , BSC_COMPANYBSC_CSRTOKEN 变量的值,后续步骤将需要使用。

创建Amazon ECS任务定义

请按以下步骤创建所需的Amazon ECS任务定义:

  1. 在Amazon Elastic Container Service控制台中,选择 任务定义 从左侧菜单中选择。

  2. 创建新任务定义 下拉菜单中,选择 使用JSON创建新任务定义 .

    您将被重定向至 创建新任务定义 页面。

  3. 在JSON编辑框中删除默认JSON。

  4. 复制下方JSON并粘贴到JSON编辑框中。

    {
        "containerDefinitions": [{
                "environment": [{
                        "name": "BSC_LOGLEVEL",
                        "value": "<log_level>"
                    }, {
                        "name": "BSC_COMPANY",
                        "value": "<customer_company>"
                    }, {
                        "name": "BSC_SERVER",
                        "value": "<customer_ecs>"
                    }, {
                        "name": "BSC_CSRTOKEN",
                        "value": "<customer_cst_token>"
                    }, {
                        "name": "BSC_GID",
                        "value": "<gid>"
                    }
                ],
                "essential": true,
                "image": "docker.io/bdfbusiness/bitdefender-security-container:7.0",
                "memory": 4096,
                "mountPoints": [{
                        "containerPath": "/mnt/host-proc",
                        "readOnly": false,
                        "sourceVolume": "proc"
                    }, {
                        "containerPath": "/mnt/host-sys",
                        "readOnly": false,
                        "sourceVolume": "sys"
                    }, {
                        "containerPath": "/mnt/host-os-release",
                        "readOnly": false,
                        "sourceVolume": "os-release"
                    }, {
                        "containerPath": "/mnt/host",
                        "readOnly": false,
                        "sourceVolume": "root"
                    }, {
                        "containerPath": "/data",
                        "readOnly": false,
                        "sourceVolume": "data"
                    }
                ],
                "name": "bitdefender-security-container",
                "portMappings": [],
                "privileged": true,
                "systemControls": [],
                "volumesFrom": []
            }
        ],
        "enableFaultInjection": false,
        "executionRoleArn": "arn:aws:iam::<ACCOUNT_ID>:role/ecsTaskExecutionRole",
        "family": "<customer_bsc_task_definition>",
        "networkMode": "host",
        "pidMode": "host",
        "placementConstraints": [],
        "requiresCompatibilities": [
            "EC2"
        ],
        "taskRoleArn": "arn:aws:iam::<ACCOUNT_ID>:role/ecsTaskExecutionRole",
        "volumes": [{
                "host": {
                    "sourcePath": "/proc"
                },
                "name": "proc"
            }, {
                "host": {
                    "sourcePath": "/sys"
                },
                "name": "sys"
            }, {
                "host": {
                    "sourcePath": "/etc/os-release"
                },
                "name": "os-release"
            }, {
                "host": {
                    "sourcePath": "/"
                },
                "name": "root"
            }, {
                "host": {
                    "sourcePath": "/mnt/data"
                },
                "name": "data"
            }
        ]
    }
  5. 将JSON中的 <log_level> 占位符替换为将在 /log/level/bdsecd.json .

    重要提示

    • 日志级别仅允许以下取值: info , debugtrace .

    • 此参数为可选。若不需要使用,请从JSON中删除整个键值对条目。

  6. 替换JSON中的 <customer_company> , <customer_cst_token> ,并 <customer_ecs> 占位符替换为先前获取的 BSC_COMPANY , BSC_CSRTOKENBSC_SERVER 变量的值。

  7. 将JSON中的 <gid> 占位符替换为产品服务将运行的组ID。

    重要提示

    • 此参数为可选。如果不使用,请从JSON中删除整个名称-值条目。

    • 组ID必须此前未使用过,且数值范围大于999且不超过60000。

  8. 将JSON中的 <ACCOUNT_ID> 占位符替换为您的 账户ID (位于Amazon Elastic Container Service控制台右上角)。

  9. 将JSON中的 <customer_bsc_task_definition> 占位符替换为任务定义的描述性名称。

  10. 此任务定义JSON使用最新版本的 Bitdefender 安全容器 。如需运行旧版本,请修改 image 字段中的版本号。

  11. 点击 创建 .

    若JSON验证通过,新任务定义将显示在 任务定义 页面。

运行Amazon ECS任务

要运行先前创建的任务:

  1. 在Amazon Elastic Container Service控制台中,从左侧菜单中选择 集群

  2. 点击先前创建的集群名称。

  3. 选择 任务 标签页。

  4. 点击 运行新任务 .

  5. 任务详情 部分的 任务定义族 下,选择先前创建的任务定义。

  6. 环境 部分的 计算配置 > 计算选项 下,选择 启动类型 .

  7. 选择 EC2 启动类型。

  8. 点击 创建 .

Bitdefender 安全容器 将在ECS集群上运行。