小编Nae*_*eem的帖子

无法跨帐户使用 Lambda 将 ACM 公共证书附加到 ALB 侦听器

我正在使用主帐户中的 lambda 函数在 AWS 组织帐户中创建 ACM 公共证书,

创建 ACM 证书并附加侦听器的代码是:

resp_acm = client_acm.request_certificate(
    DomainName='test.example.com',
    ValidationMethod= 'DNS',
)
acm_arn = resp_acm['CertificateArn']

print(acm_arn)

resp_listener = client_elbv.create_listener(
    Certificates=[
        {
            'CertificateArn': acm_arn,
        },
    ],
    DefaultActions=[
        {
            'Type': 'forward',
            'TargetGroupArn': Target_group_arn,
        },
    ],
    LoadBalancerArn=alb_arn,
    Port=443,
    Protocol='HTTPS',
    SslPolicy='ELBSecurityPolicy-2016-08',
)
Run Code Online (Sandbox Code Playgroud)

但我收到此错误:

"errorMessage": "An error occurred (UnsupportedCertificate) when calling the CreateListener operation: The certificate 
'arn:aws:acm:eu-west-2:xxxxxxxxx:certificate/675071212-cdd1-4gg5-9d49-6a89a47eee88' must have a fully-qualified domain name, 
a supported signature, and a supported key size.",
Run Code Online (Sandbox Code Playgroud)

请任何人帮忙。主域位于主帐户中,并为子域aws组织跨帐户创建证书。

amazon-web-services boto3 aws-certificate-manager aws-organizations

5
推荐指数
1
解决办法
5430
查看次数

仅返回实例 ID,在 Lambda 中使用描述实例

我正在 lambda 函数中运行以下脚本来使用标签描述 ec2 实例。但作为响应,我只需要实例 ID,而它会返回大量信息。请指导或以任何其他方式使用标签查找 ec2 insatnce id。谢谢

代码是:

import boto3
import json
from collections import defaultdict

region = 'us-east-1'

def lambda_handler(event, context):
    
    
    client = boto3.client('ec2')

    running_instances = client.describe_instances(
      Filters=[
        {
            'Name': 'tag:orgid',
            'Values': [
                'demoxx',
            ]
        },
    ],
    )

    return json.loads(json.dumps(running_instances, default=str))   
Run Code Online (Sandbox Code Playgroud)

amazon-ec2 amazon-web-services boto3 aws-lambda

3
推荐指数
1
解决办法
3094
查看次数

创建 EC2 实例时使用 boto3 在用户数据中传递变量

我正在创建 EC2 实例并希望传递用户数据以附加文件系统,但我不知道如何将文件系统 ID 作为变量传递。

文件系统 ID 将使用 API 网关传递。我尝试过以下操作,但用户数据$aa不包含aa值。

aa='fs-ce99bd38'
user_data = """#!bin/bash
sudo yum -y install nfs-utils
sudo mount -t efs -o tls $aa:/ efs
"""

client = boto3.client('ec2', region_name=REGION)

def lambda_handler(event, context):

    instance = client.run_instances(
        ImageId=AMI,
        InstanceType=INSTANCE_TYPE,
        KeyName=KEY_NAME,
        UserData=user_data,
        MaxCount=min_max_add,
        MinCount=min_max_add
    )
Run Code Online (Sandbox Code Playgroud)

amazon-web-services user-data python-3.x boto3 aws-lambda

3
推荐指数
1
解决办法
1581
查看次数