簡體   English   中英

如何使用 Terraform 使 AWS CloudFront Distribution 緩存失效?

[英]How can I invalidate AWS CloudFront Distribution cache using Terraform?

我正在尋找一種使用 Terraform 使 CloudFront 分發緩存無效的方法。

我在文檔中找不到任何信息。

這是可能的,如果是,如何?

aws_cloudfront_distributionaws_cloudfront_cache_policy資源中沒有針對緩存失效的內置支持。

作為最后的手段,可以使用local_exec配置器。


通常,根據我的經驗,緩存在 CI/CD 管道中使用 AWS CLI create-invalidation命令create-invalidation

但是,如果這必須在 Terraform 中完成,您可以在創建/更新資源后使用local-exec配置程序在運行 Terraform 的本地計算機上運行命令。

我們可以使用它來運行上面的 CLI 失效命令來使分發緩存失效。

使用self對象訪問所有 CloudFront 分配的屬性,包括self.id以引用 CloudFront 分配 ID 以進行失效


例子:

resource "aws_cloudfront_distribution" "s3_distribution" {
  # ...

  provisioner "local-exec" {
    command = "aws cloudfront create-invalidation --distribution-id ${self.id} --paths '...'"
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM