この記事は、下記を翻訳したものである。筆者のベストエフォート翻訳であるので誤植が見つかれば、コメントにて連絡を。
https://open.microsoft.com/2018/01/04/top-questions-about-terraform-and-azure/
最近、HashiCorpのNic Jacksonとともに、Microsoft AzureとHashicorp Terraformを使ったオーバービューをお届けするためにチームづくりをした。Terraformが作られたインダストリのニーズは何か、Terraformがどのように、Infrastructure as codeの”easy to follow”テンプレートを作るのに助けになるのか、HashiCorpの投資の背景をカバーしている。
Microsoft Azure上で努力なしに、あなたのInfrastructure as codeのデプロイを管理するTerraform設定ファイルを使うデモをした。
そのセッションの間、TerraformやMicrosoft Azure上で使うための素晴らしい質問を多く受け取った。下記が受け取った質問とその回答のリストである。
もし他の質問があったら?Twitterで@zdeptawaを探して、質問やコメントもしくはジョークなどを待っている、いつでもウエルカムだ。
TerraformによりサポートされるAzureの機能やサービス一覧はありますか?
http://aka.ms/terraform に行くとサポートされている機能やサービス一覧を見つけることができる。ここに乗っていないものはサポートされていない。
TerraformとTerraform Enterpriseの違いはなんですか?
Terraform Enterpriseは、あなたの会社のワークフローに統合するために設計されている。承認、センチネル、リモート状態などの機能がある。もちろんOpenSource版でも実装できるが、自分でbuildしたり、それをメンテナンスしなければならない。
製品情報はこちら
https://www.hashicorp.com/products/terraform
3. Windows VMをTerraformで作るときハードコートされたログイン情報を使わずにする方法は?
Azure Key VaultかもしAzure ADを使っている場合は、Managed Service identityを使える。
4. 'terraform apply'を対話的にyesを入力することなく強制的に実行できますか?
例えば、Jenkins経由でTerraform run をKickしたい場合に。
できる。Runをkickするときに--auto-approveフラグを使えばいい。
追加情報
https://www.terraform.io/docs/commands/apply.html#auto-approve
5. Terraform Module バージョンをロックする方法はある?
ある。Terraform Module Registryをソースとしてつかっていれば、version アトリビュートを設定ファイルに組み込むことができる。もしgithubを使っているのであれば、特定のブランチやバージョンを'?ref'クエリーストリングで指定することができる。
6. Azure 仮想マシンスケールセットは完全にサポートされるか?
はい。仮想マシンスケールセットは完全にサポートされる。推奨される不変のコンピュートレイヤーだ。
7. Azure Functionsは、Terraformでサポートされるか?
はい。機能を付与するために綿密に動いている。リリースは、来週を見込んでいる。
8. Azure アベイラビリティゾーンは他のクラウドプロバイダーと同様か?Terraformはこれをサポートするか?
Azure アベイラビリティゾーンは、一つのリージョンに配備される。それぞれは、独立した電源、ネットワーク、冷却をもつ。リージョンで有効化されたすべてのアベイラビリティゾーンは、最低3つのアベイラビリティゾーンをもつ。まだ、Azure アベイラビリティゾーンは、プレビューであり、TerraformのAzure Resource Manager プロバイダーは、アベイラビリティゾーンを管理するためのリソースを持っていない。新しいTerraform Azure リソースマネージャーのリソースと機能を使うために(取組中)動いていると、言える。アベイラビリティゾーンからプレビューが外れたときか、すぐに確かめてほしい。
同様の機能ではないが、Azure可用性セットに関しては今すぐ使うことができる。
(GA済みのため)
Azure アベイラビリティゾーンの情報
https://docs.microsoft.com/en-us/azure/availability-zones/az-overview
Azure 可用性セットの情報
https://www.terraform.io/docs/providers/azurerm/r/availability_set.html
9. Terraform runをAzure Cloud Shellの中で使うために、ファイルをどのようにアップロードしますか?
(他のblobコンテナーと同様なのでポータルからアップロードできる)
https://docs.microsoft.com/en-us/azure/cloud-shell/persisting-shell-storage#transfer-local-files-to-cloud-shell
10. Azure 上のTerraformでコールバックを使うことは可能か?現状、コールバックをログシステムに送る、トリガーにする、他のイベントへ送れるか?
はい。Azure イベントハブを使うことで実現できる。この機能は、Terraform Azure リソースマネージャープロバイダーで可能だ。Azureイベントハブサービスについてはこちら。
https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-what-is-event-hubs
AzureイベントハブのTerraformに関する資料はこちら。
https://www.terraform.io/docs/providers/azurerm/r/eventhub.html
TerraformとAzureを使いたい場合はこちら
Terraformは、Azure Cloud Shellにプリインストールされている
https://docs.microsoft.com/en-us/azure/terraform/terraform-cloud-shell
オンデマンドWebinerが用意されている。(英語)
https://info.microsoft.com/ww-landing-enable-deployments-with-hashicorp-on-azure.html
以上