vague memory

うろ覚えを無くしていこうともがき苦しむ人の備忘録

AWS VPC Origin 更新時のエラー CannotUpdateEntityWhileInUse

コード管理しているとハマりそうなのでメモ。

CannotUpdateEntityWhileInUse

  • Terraform で作成した VPC Origin を付け替えようとした際に発生したエラー
operation error CloudFront: UpdateVpcOrigin,
https response error StatusCode: 409,

CannotUpdateEntityWhileInUse:
The specified VPC origin is currently associated with one or more distributions.
Please disassociate the VPC origin from all distributions before updating or deleting.

エラーメッセージ通りですが、CloudFront Distribution に関連付けられている状態の VPC Origin 設定は変更できません。

直接の更新は行えないため、新たにVPC Origin を作成して切り替える必要があります。

公式ドキュメントの “VPC オリジンを更新する” に更新手順があります。

更新する VPC オリジンを選択し、[削除] を選択します。これにより、VPC オリジンとディストリビューションの関連付けが解除されます。ステップ 2~7 を繰り返して、VPC オリジンと他のディストリビューションとの関連付けを解除します。

VPC Origin リソースは Origin リソースとセットで管理すると考えるのが良さそうです。

VPC Origin とは

公式ブログとドキュメント

利点

  • Origin への直接アクセスを制限できる
  • ALBやPublicIPの料金削減が行える
    • VPC Origin リソースに料金は掛からない

注意点

  • 以下が必要
    • インターネットゲートウェイ
    • プライベートサブネットに少なくとも1つの利用可能なIPv4アドレス
  • 現時点ではクロスアカウントは未サポート (サポート予定有り)

既に様々な利用パターンの記事が公開されており、参考にさせていただきました。ありがとうございます。