HashiCorpは、HCP Packerを一般提供へ完全に移行した。HCP Packerは、マシンイメージ構築ツールであるPackerのクラウドホスト型の製品である。このリリースでは多くの新機能が追加されており、そこにはセキュリティワークフローの改善、カスタムメタデータ、コンプライアンスチェックとTerraform Cloudワークフローの統合などが含まれている。
HashiCorp Cloud Platform(HCP)Packerでは、オープンソースのPackerツールを使って構築されたイメージ用のクロスクラウドイメージギャラリーが提供される。これにはメタデータの保存が含まれる。メタデータは、AWS、Azure、Google Cloud Platform、プライベートインフラストラクチャなどのパブリッククラウドプロバイダー間で画像、アーティファクト、イテレーションを追跡するために使用される。メタデータには、イメージをメンテナンスするユーザ、関連するバージョン管理リポジトリ、イメージのすべてのイテレーションが含まれる。メタデータには、UIあるいはAPIを介してアクセスできる。
これらの機能は、「ゴールデンイメージ」(ダウンストリームイメージとマシンの作成に使用できる標準のマシンイメージ)の作成プロセスをシンプルにすることを目的としている。HCP Packerは、これらのゴールデンイメージを、ビルドイテレーションに人間が読める名前を割り当てるチャネルとしてコード化する。変更される可能性のあるビルドイテレーションを参照することで、コンシューマは代わりに、最新の公開されたイテレーションを指すように更新できるチャネルを参照できる。ダウンストリームのコンシューマは、パイプラインを実行するときにチャネルの最新のイメージバージョンに自動的に更新される(packer build
またはterraform apply
のいずれかで)。そのパイプラインによって、チャネルからメタデータが要求される。
これらのゴールデンイメージは、Terraform向けのHCPプロバイダーを使ってTerraform構成に統合できる。このプロバイダーによって、HCP Packerのデータがデータソースとして利用できるようになり、チャネル名を使ってゴールデンイメージを取得できるようになる。たとえば、データソースhcp_packer_iteration
は、チャネル名を指定すると、イメージの最新イテレーションを取得できる。
data "hcp_packer_iteration" "hardened-source" {
bucket_name = "hardened-ubuntu-16-04"
channel = "image-test"
}
これらのゴールデンイメージは、子イメージを生成する動的に参照されるワークフローで使うことができる。これにより、セキュリティ、コンプライアンス、およびその他のツールを、すべてのダウンストリームイメージに共通するベースゴールデンイメージに組み込むことができる。TerraformのHCPプロバイダーを使って、最新のベースイメージを取得し、次の場所に追加のレイヤーを構築できる。
data "hcp-packer-iteration" "base-image" {
bucket_name = "learn-packer-hcp-golden-base-image"
channel = "latest"
}
data "hcp-packer-image" "base-image" {
bucket_name = data.hcp-packer-iteration.base-image.bucket_name
iteration_id = data.hcp-packer-iteration.base-image.id
cloud_provider = "aws"
region = "us-east-2"
}
source "amazon-ebs" "marketing-layer-2" {
source_ami = data.hcp-packer-image.base-image.id
source_deregister = true
instance_type = "t2.small"
ssh_username = "ubuntu"
ami_name = "custom-secondary-image-redis-server"
}
このリリースでは、イメージのサポート終了(EOL)日の設定も取り入れられている。EOL日に達すると、そのイメージはHCP Packer APIクエリから返されなくなる。必要に応じて、イメージをすぐに無効にすることができる。実行タスクを使うTerraform Cloudユーザの場合、実行されたterraformプランに無効になったイメージが含まれていると、通知される。
HCP Packerの標準プランでは、1か月あたり最大10個の画像と250個のAPIリクエストを無料で追跡できる。HashiCorpは、より多くの使用ニーズを持つPackerユーザ向けにベータ版のPlus Planを立ち上げる過程にある。Plus Planにはイメージコンプライアンスチェックが含まれる。このチェックによって、Terraform Cloudが失効するように設定されたイメージに関連付けられたハードコードされたAMIの構成をスキャンできるようになる。