理系学生日記

おまえはいつまで学生気分なのか

terraform

module に対する terraform validate が "The argument "region" is required, but was not set." エラーで失敗する

GitLab CI/CD を使い、自作の AWS 用 terraform モジュールに対して terraform validate をかけようとすると、以下のエラーメッセージが出て失敗しました。 Error: Missing required argument The argument "region" is required, but was not set. 原因 対…

GitLab CI/CD で terraform ファイルに tflint をかける

Terraform のスクリプトにも lint を自動で実行できるようにします。 lint ツール TFlint 設定の渡し方 GitLab CI/CD への組み込み 今後 lint ツール Terraform には terraform validate コマンドがあり、設定上のかなりの問題を検知してくれます。 一方で t…

AWS Organizations を使って AWS アカウントを自動で作成する

AWS においてはマルチアカウント戦略が重要とされています。 たとえば、開発環境/ステージング環境/本番環境といった各環境は、セキュリティ、ガバナンス面で分離すべきです。 メンバーの権限管理がすっきりする 特定の環境の作業が他環境に影響しない この…

Terraform の S3 backend の構築と locking (排他制御) の有効化

前提 その前に state とは何か state の S3 管理 backend となる S3 を Terraform 管理のインフラと一緒に管理して良いのか backend の構築 backend の適用 (locking なし) backend の適用 (locking あり) 前提 Terraform によってインフラをチームで管理し…

Terraform の型と面白そうな Tips

Terraform の型 Primitive Types Complex Types Collection Types Structural Types null 興味深い機能 map の key に参照が使える パスの参照 Python の内包表記的な for splat expression String Template: if 文/for 文 Terraform の型 全部で 7 種類あり…

「実践Terraform AWSにおけるシステム設計とベストプラクティス」を読んだ

ぼくは新しい技術を学ぶときは、たいてい以下の戦略を取ります。 公式ドキュメントを読む 当該技術に対する書籍を読む 仕様があれば、その仕様 (RFC 等)に目を通す。ただし心が折れない程度に。 目的は以下 2 つの要素の獲得です。 体系だった技術知識の獲得…

Terraform + AWS ことはじめ

Terraform については 2 年前に触ってから完全に放置してしまいました。 いろいろあって、まずは AWS 上で色々構築していくことになるので、今日から頑張っていきたいです…。 aws-cli terraform とにかくローカル PC に aws-cli、terraform を入れたくない。…