aws/aws-cdk

Automatically refer to the appropriate, regional FireLens image with addFirelensLogRouter()

Open

#7,366 建立於 2020年4月15日

在 GitHub 查看
 (8 留言) (4 反應) (2 負責人)TypeScript (3,530 fork)batch import
@aws-cdk/aws-ecr@aws-cdk/aws-ecseffort/smallfeature-requestgood first issuep2

倉庫指標

Star
 (10,710 star)
PR 合併指標
 (平均合併 14天 11小時) (30 天內合併 68 個 PR)

描述

The documentation suggests using Amazon's own ECR images for the FireLens container. However, image is a required property.

It would be a nice convenience if CDK could determine the destination stack's region and automatically use the proper ecr.Repository.fromRepositoryArn() behavior.

Use Case

Today, I can get this behavior manually, but I had to generate the reference myself:

// Amazon recommends pulling this image from their regional ECR repo
// https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html#firelens-using-fluentbit
const awsEcrRepo = ecr.Repository.fromRepositoryArn(
  parent,
  "AWSFireLensRepo",
  "arn:aws:ecr:us-west-2:906394416424:repository/aws-for-fluent-bit",
);
taskDefinition.addFirelensLogRouter("DatadogFirelensLogRouter", {
  image: ecs.ContainerImage.fromEcrRepository(awsEcrRepo, "latest"),
  memoryReservationMiB: 50,
  essential: true,
  firelensConfig: {
    type: ecs.FirelensLogRouterType.FLUENTBIT,
    options: {
      enableECSLogMetadata: true,
      configFileType: ecs.FirelensConfigFileType.FILE,
      configFileValue: "/fluent-bit/configs/parse-json.conf",
    },
  },
});

Proposed Solution

Ideally, image on FirelensLogRouterDefinitionOptions is an optional parameter and defaults to the proper ECR image from this table in the docs.

Other

  • :wave: I may be able to implement this feature request
  • :warning: This feature might incur a breaking change

This is a :rocket: Feature Request

貢獻者指南