providerを使用して確認していく。terraformコマンドで構築する前にクレデンシャル情報を環境変数に渡しておくのを忘れずに。プロバイダ用のバイナリをダウンロードする。何かtfファイルを編集したらインスタンスが再作成されてしまったなんてことが起きるので注意。destroyも要確認。変数variableで変数の定義ができる。ローカル変数が定義できる。variableはコマンド実行時に変数を上書きできるがlocalsは上書きできない違いがある。apply時にターミナル上で値が確認できるようになる。他にはmoduleから値を取得する時に使う。i-090d4a8d3ec3fac74データソースデータソースを使うと外部データを参照できる。最新のAMIを取得している。"t3.micro"}providerAWS、GCP、Azure、Openstackなど構築する際、そのAPIの違いを吸収するものがプロバイダ。mojuleを使ってするとこうなる。セキュリティグループへの参照を追加し、EC2インスタンスと紐づけます。形式で他のリソースの値を参照できます。本番環境と開発環境でインスタンスタイプを切り替えたい時。'env=dev'ただ環境を分けたい時はディレクトリで分けたりしてもよいかな。文字列操作やリスト操作、よくある処理が組み込み関数として提供されている。してスクリプトで外に出す。ファイルと同じディレクトリに置く。ファイルを読み込んでくれる。実行時に値を埋め込むテンプレート機能がある。テンプレートファイル化してみる。インストールパッケージを差し替えられるように、「package」変数を定義する。変更した差分を検出して、必要な部分だけ変更できることが確認できた。この判断をtfstateファイルで行っている。生成するファイルで、現在の状態が記録されている。記述されたコードの内容に差分があれば、その差分のみを変更するよう振る舞う。実行していれば作成される。中身を見るとJSON文字列に、現在の状態が記述されているのがわかる。全リソース再作成が起きるおそれがあるので、リモートのストレージを、バックエンドとして利用しましょう。AWSならS3などを利用しましょう。作り、事前作成したバケットを指定します。}}リモートのバックエンドとして使用するS3バケットには、バージョニング設定をすることが強く推奨されます。S3に保存すれば、tfstateファイルから、いつでも以前の状態に戻せるようにもなります。リソース削除できます。実行には注意しましょう。モジュール化の仕組みがあります。ファイルを作成します。配下のmoduleを環境毎に再利用することも可能になります。モジュールを実装します。番ポートを許可したセキュリティグループを定義してみます。モジュールのインタフェースは次のとおりです。ファイルを以下のように実装します。モジュール利用側のディレクトリで実行します。モジュールを使用する場合、もうひと手間必要です。コマンドを実行して、モジュールを事前に取得しておく必要があります。ciなどを利用してinitで失敗したらbuildが失敗するようにする運用がいいと思う。月別アーカイブはてなブログをはじめよう!oza__shuさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。