markdown Terraformについて调べた

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown Terraformについて调べた相关的知识,希望对你有一定的参考价值。

# Terraformのついて

## 機能について
### バージョン
- v0.10以降で大きく仕様が変わった

### 動作の特徴
- *.trファイル
    - HashiCorp Configuration Language (HCL)で記述
    - カレントディレクトリの*.trファイルが全て実行される
        - 機能別にディレクトリを分ける方法が良い
        - 共通の機能をモジュール化
    - 条件分岐が出来ない
        - 三項演算子を変わりに使う
        - `count`を`0`にすることで、実行しない事に出来る
    - terraformから別のシェル等を実行する場合は、`provisioner`を使う
        - 利用出来るのは、`chef`,`file`,`remote-exec`,`connection`
        - 以下の例の様に`when = "destroy"`とした場合、この処理は、`terraform destroy`時にしか実行されない様に出来る

    ```
    resource "null_resource" "fuga" {

      provisioner "local-exec" {
        command = "echo Hello"

        when = "destroy"
      }
    }
    ```

- State(`terraform.tfstate`)について
    - Stateの状態、カレントディレクトリ内に、`terraform.tfstate`ファイルにjson形式で出力される
    - `terraform state pull`で保存されているStateの内容が確認できる
    - trファイル側で、項目名を変更した場合、`terraform state mv <修正前> <修正後>`で、State側も変更が必要
    - パスワードもStateに残るので、以下の様にする

    ```
    lifecycle {
        ignore_changes = ["password"]
    }
    ```

    - Terraform以外の操作で、環境の変更を行う場合も`ignore_changes`で対象外にする
    - StateをS3側で管理するのがベスト

    ```
    terraform {
      backend "s3" {
        bucket = "mybucket"
        key    = "path/to/my/key"
        region = "us-east-1"
      }
    }
    ```
    - Stateが分かれてる場合は `terraform_remote_state`の`Data Source`を使う
        - Stateに出力されるので、セキュリティに気をつける必要はある
    - 実行結果は、`terraform show`
        - `tainted`と出ると注意

## 注意点
- 以上から、`terraform.tfstate`ファイルの取扱が重要となります
- インスタンスの削除は行えるが停止は出来ない(思想的に)
    - 勿論再開も出来ない
    - 環境を作成して、廃棄する事を目指している

以上是关于markdown Terraformについて调べた的主要内容,如果未能解决你的问题,请参考以下文章

sh GCCのsysrootオプションについて调べてみたref:http://qiita.com/maskedw/items/e73df32007934e75d9e3

markdown 树莓派について

markdown pytorchについての情报

markdown ブロックとPROCについて

markdown 对于ループの挙动について

text 20181029 config.rbについて