Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Definisi tugas AWS CDK ECS tanpa peranan tugas

Definisi tugas AWS CDK ECS tanpa peranan tugas

PHPz
PHPzke hadapan
2024-02-08 23:03:17912semak imbas

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

editor php Xinyi akan memperkenalkan kepada anda definisi tugas AWS CDK ECS tanpa peranan tugas dalam artikel ini. AWS CDK (Cloud Development Kit) ialah kit pembangunan perisian yang boleh digunakan untuk mentakrifkan dan menggunakan infrastruktur AWS secara pemrograman. ECS (Elastic Container Service) ialah perkhidmatan kontena terurus yang membolehkan anda menjalankan, menghentikan dan mengurus bekas Docker dengan mudah. Apabila menggunakan CDK untuk mencipta definisi tugas ECS, anda biasanya perlu memberikan kebenaran untuk peranan tugas. Walau bagaimanapun, kadangkala kita mungkin tidak mahu menggunakan peranan tugas, tetapi mahu menggunakan peranan IAM secara langsung daripada definisi tugas. Artikel ini memperincikan cara membuat definisi tugas ECS tanpa peranan tugas dalam CDK.

Kandungan soalan

Dalam aws cdk v2, binaan ecs taskdefinition l2 mempunyai peranan tugas atribut pilihan (jika tidak dinyatakan), tingkah laku lalai cdk adalah untuk mencipta peranan tugas. Walau bagaimanapun, saya tidak mahu menetapkan peranan tugas untuk sumber ini, ia tidak benar-benar diperlukan dalam AWS - definisi tugas boleh dijalankan tanpa atribut ini. Bagaimanakah saya menguruskan ini dalam cdk? Saya tidak nampak apa-apa cara untuk menyahset peranan tugas itu atau tidak menjananya terlebih dahulu. Adakah saya perlu kembali ke konstruk l1 untuk ini? Konfigurasi saya:

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,
            },
        })

Penyelesaian

Anda boleh menggunakan tryremovechild Escape HatchKaedah:

// 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"))

Caranya ialah mengenal pasti id konstruk. Anda kadangkala memerlukan kod sumber.

Atas ialah kandungan terperinci Definisi tugas AWS CDK ECS tanpa peranan tugas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam