はじめに クラウドを使ってシステムを運用しているとTerraformとAnsible(Chefでもpuppetでもなんでもいいです)の両方を組み合わせて使うことが多いはずであす。 (ここではAnsibleとします。) 一般的にはこう使うことが多いと思います。 1. Terraformでクラウド上にインフラを構築する 2. APIを使ってデプロイ先のサーバ情報を取得する 3. Ansibleで取得したサーバへ対して設定やアプリのデプロイを行う 一方で、こういう利用の仕方も場合によってはありだなと感じます。 1. Terraformでクラウド上にインフラを構築する 2. 仮想サーバのユーザデータ機能(※)を利用してAnsibleを実行してプロビジョニング ※ユーザデータ機能とは仮想サーバインスタンスの起動時に任意のコマンドを実行できる機能 ここでは、Alibaba Cloudを例に、Terra