APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

TerraformでAKSのmaintenance windowの設定が可能になりました

f:id:thanaism:20210816153017p:plain

こんにちは、コンテナソリューショングループの髙井です。

2021年8月6日に、TerraformのAzureプロバイダーv2.71.0がリリースされました。

github.com

これに伴い、Azure Kubernetes Service(AKS)関連でいくつかアップデートが入ったようなので紹介します。

maintenance_windowの設定

個人的に今回の目玉だと思っているポイントです。

こちらプレビューの機能ですが、AKSの計画メンテナンスの時刻をUTCで指定することができます。

docs.microsoft.com

具体的には、以下のような記述で指定を行うことが可能です。

resource "azurerm_kubernetes_cluster" "aks" {
  maintenance_window {
    allowed {
      day   = var.maintenance_window_day
      hours = [var.maintenance_window_start_hour, var.maintenance_window_end_hour]
    }
  }
}

この機能が入るまでは、強制的に米国基準のアップグレードタイミングとならざるを得ませんでした。しばらくazコマンドで設定する形でしたが、今回のTerraformアップデートにより、無事IaCで定義可能となりました。

automatic_channel_upgradenode-image設定

こちらもプレビュー機能ですが、ノードの自動アップグレードに関する設定です。node-imageモードを利用可能になりました。

Microsoft では、イメージ ノードのパッチと新しいイメージを頻繁に (通常は毎週) 提供していますが、ノード イメージのアップグレードを実行しない限り、実行中のノードは新しいイメージを取得しません。 ノード イメージ チャネルをオンにした場合、新しいバージョンが使用可能な場合は常にノード イメージが自動的に更新されます。

docs.microsoft.com

local_account_disabledの設定

AKSのローカルアカウントの無効化に関する設定です。こちらも同じくプレビューの機能です。

AKSをデプロイすると既定でローカルアカウントが有効となりますが、これを無効にすることが出来ます。

docs.microsoft.com

おわりに

Terraformのプロバイダーは頻繁に更新がされており、v.2.71.0の記事を書いている間にもうv2.72.0がリリースされています。

プロバイダーのバージョンを固定して利用している環境が多いとは思いますが、そもそものAKS自体の機能アップグレードも含めて、各自の環境で利用されているリソースのAPIが追加されていないかマメにチェックすることをオススメします。