ec2.create_fleet() 正在创建单个实例而不是舰队并且不遵守我传递的所有参数

问题描述 投票:0回答:0

我正在使用 boto3 EC2.Client.create_fleet() 创建一个 spot fleet 请求,但我无法复制我过去使用现已弃用的 EC2.client.request_spot_fleet() 获得的确切输出。

我的问题是:

  1. 它正在启动多个单独的实例(在控制台中我看到
    Request type = instance
    ),而不是一个包含该数量实例的队列请求。
  2. 我有
    Type="maintain"
    但在控制台中我看到
    Persistence one-time
    .
  3. 我已经通过了
    ValidFrom
    ValidUntil
    ,但它们在控制台中是空白的。
  4. 我不知道如何将它传递给 IAM 舰队角色。

我反复阅读了boto3 create_fleet 文档

我的代码如下:

LaunchTemplateData={
    "IamInstanceProfile": {"Arn": ecsInstanceArn},
    "BlockDeviceMappings": [
    {
            "DeviceName": "/dev/xvda",
            "Ebs": {
            "DeleteOnTermination": True,
            "VolumeType": "gp2",
            "VolumeSize": EBS_VOL_SIZE,
            "SnapshotId": SnapshotId
        }
        },
        {
        "DeviceName": "/dev/xvdcz",
        "Ebs": {
            "DeleteOnTermination": True,
            "VolumeType": "gp2"
        }
        }
    ],
    "NetworkInterfaces": [
        {
        "DeviceIndex": 0,
        "SubnetId": SubnetId,
        "DeleteOnTermination": True,
        "AssociatePublicIpAddress": True,
        "Groups": [SecurityGroup]
        }
    ],
    "ImageId": ImageId,
    "InstanceType": MACHINE_TYPE[0],
    "KeyName": KeyName,
    "UserData": userData
    }

TemplateName=f'{APP_NAME}_LaunchTemplate'
try:
    launch_template = ec2client.create_launch_template_version(LaunchTemplateName=TemplateName,LaunchTemplateData=LaunchTemplateData)['LaunchTemplateVersion']
except ec2client.exceptions.ClientError:
    launch_template = ec2client.create_launch_template(LaunchTemplateName=TemplateName,LaunchTemplateData=LaunchTemplateData)['LaunchTemplate']

SpotOptions = {"AllocationStrategy": "lowestPrice"}
LaunchTemplateConfigs=[{'LaunchTemplateSpecification':{'LaunchTemplateId':launch_template['LaunchTemplateId'],
                                                    'Version':'$Latest'},
                        'Overrides':[{
                                        'MaxPrice':'%.2f' %MACHINE_PRICE,
                                        'SubnetId':SubnetId}]}]
TargetCapacitySpecification={'TotalTargetCapacity':CLUSTER_MACHINES,
                                'OnDemandTargetCapacity':0,
                                'DefaultTargetCapacityType':'spot'}
amazon-web-services amazon-ec2 boto3
© www.soinside.com 2019 - 2024. All rights reserved.