在 AWS CDK 中使用 AWS CloudFormationInit 时,有时在安装 yum 包时可能会出现超时问题。这通常是由于启动 EC2 实例时需要连接到 Internet,但如果实例无法接收 Internet 连接,则会导致超时。为了解决这个问题,可以通过以下两种方法来处理:
from aws_cdk import (
aws_ec2 as ec2,
core,
)
class MyStack(core.Stack):
def __init__(self, scope: core.Construct, id: str, **kwargs) -> None:
super().__init__(scope, id, **kwargs)
instances = ec2.Instance(self, "myinstance",
instance_type=ec2.InstanceType("t2.micro"),
machine_image=ec2.AmazonLinuxImage(),
vpc=self.vpc,
key_name="mykey",
user_data=ec2.UserData.custom("#!/bin/bash\nsudo yum update\nsudo yum install -y "),
)
总之,以上两种方法中的任何一种都可以解决 CloudFormationInit 安装 yum 包时的超时问题。