首頁 > 後端開發 > Golang > 主體

沒有任務角色的 AWS CDK ECS 任務定義

PHPz
發布: 2024-02-08 23:03:17
轉載
939 人瀏覽過

没有任务角色的 AWS CDK ECS 任务定义

php小編新一在本文中將為大家介紹沒有任務角色的 AWS CDK ECS 任務定義。 AWS CDK(Cloud Development Kit)是一種軟體開發工具包,可用於以程式設計方式定義和部署 AWS 基礎架構。 ECS(Elastic Container Service)是一項託管式容器服務,可讓您輕鬆執行、停止和管理 Docker 容器。在使用 CDK 建立 ECS 任務定義時,通常需要為任務角色提供權限。然而,有時我們可能不想使用任務角色,而是希望直接使用任務定義中的 IAM 角色。本文將詳細介紹如何在 CDK 中建立沒有任務角色的 ECS 任務定義。

問題內容

在 aws cdk v2 中,ecs taskdefinition l2 建構具有可選屬性 taskrole(如果未指定),則 cdk 預設行為是建立任務角色。但是,我不希望為此資源設定任務角色,aws 中實際上不需要它 - 任務定義可以在沒有此屬性的情況下運行。我如何在 cdk 中管理它?我看不到任何方法來取消設定該任務角色或不首先生成它。為此我需要退回到 l1 構造嗎?我的配置:

taskDefinition := awsecs.NewEc2TaskDefinition(stack, jsii.String(deploymentEnv+service.Tag+"TaskDef"), &awsecs.Ec2TaskDefinitionProps{
            Family:      jsii.String(deploymentEnv + service.Tag), 
            NetworkMode: awsecs.NetworkMode_BRIDGE,
            //TaskRole: what can i do here to fix this
            Volumes: &[]*awsecs.Volume{
                &efs_shared_volume,
            },
        })
登入後複製

解決方法

您可以使用 tryremovechild#逃生艙口方法:

// remove the role
taskDefinition.Node().TryRemoveChild(jsii.String("TaskRole"))

// remove the reference to the role
t := taskDefinition.Node().DefaultChild().(awsecs.CfnTaskDefinition)
t.AddPropertyDeletionOverride(jsii.String("TaskRoleArn"))
登入後複製

訣竅是識別建構 id。您有時需要在 原始碼

以上是沒有任務角色的 AWS CDK ECS 任務定義的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:stackoverflow.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!