Я использую CDK
и хотел бы использовать существующий кластер (для ECS).
Я пробую это, однако это показывает,
ошибка, например Property 'fromClusterName' does not exist on type 'typeof Cluster'. Did you mean 'fromClusterArn'?
const clusterName = "mycluster"
const cluster = ecs.Cluster.fromClusterName(this, "StCluster", {
clusterName: clusterName
});
Тем не менее, я хочу получить кластер name
, а не arn
Наверное, стоит заранее взять arn
по имени?
Я проверяю этот документ, нет способа получить Cluster
по имени
https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ecs.Cluster.html
Как я могу это сделать?
Вы можете использовать fromClusterAttributes, но вам также понадобится vpc
, в котором находится кластер. Вы можете импортировать его, если знаете vpc id
.
fromClusterAttributes
предпочтительнее fromClusterArn
, поскольку он также предоставляет доступ к vpc
и другим свойствам.
const clusterName = "mycluster";
const vpcID = "12345abcde";
const myVpc = ec2.Vpc.fromVpcAttributes(this, "iVPC", {
vpcId: vpcID,
// For example
availability_zones: ["us-east-1a"]
});
const cluster = ecs.Cluster.fromClusterAttributes(this, "iCluster", {
vpc: myVpc,
clusterName: clusterName
});