Terraform

【Terraform】Terraform ~ AWS CodeArtifact ~

■ はじめに AWS CodeArtifact の環境を軽くTerraformで作ったので そこで得たことをメモっておく 目次 【1】API 1)aws_codeartifact_repository 【2】使用上の注意 1)external_connections は1つしか指定できない 【3】サンプル 例1:既存のdomainを…

【Terraform】Terraform ~ 基本編 / Data Sources ~

■ はじめに https://dk521123.hatenablog.com/entry/2023/05/03/000000 の続き。 Terraform の Data Sources(データソース) について扱う。 目次 【1】データリソース - data 【2】利用例 【3】サンプル 例1:AWS S3 例2:AWS Region 【4】filter 1…

【Terraform】Terraform ~ AWS MWAA ~

■ はじめに Amazon Managed Workflows for Apache Airflow (MWAA) を Terraform で作る。 なお、MWAA および Airflow については、以下の関連記事を参照のこと。 MWAA ~ 入門編 ~ https://dk521123.hatenablog.com/entry/2021/09/29/131101 Apache Airflow…

【Terraform】Terraform ~ 基本編 / 変数 ~

■ はじめに Terraform の 変数について扱う。 目次 【0】Terraform の変数 【1】variable 1)Hello world 2)変数呼び出し方 【2】local 1)Hello world 【3】variable の 構文 1)description 2)type 3)default 4)validation 5)nullable 6…

【Terraform】Terraform ~ AWS EMR ~

■ はじめに AWS EMR を Terraform で構築する 目次 【1】API 1)Resource 2)Module 【2】サンプル 【1】API 1)Resource [1] EMR https://registry.terraform.io/providers/figma/aws-4-49-0/latest/docs/resources/emr_cluster [2] EMR Containers c…

【Terraform】Terraform ~ tag あれこれ ~

■ はじめに 小ネタ。 Terraform の default_tags などでトラブルがあったのでメモ。 目次 【1】tags 【2】default_tags 1)モジュールへのタグ設定の継承方法 【3】merge関数 【1】tags * AWS の Tag で利用できる https://registry.terraform.io/provi…

【Terraform】AWS MSK Connect 内の 接続情報を設定を考える

■ はじめに https://dk521123.hatenablog.com/entry/2023/05/14/122215 https://dk521123.hatenablog.com/entry/2023/05/25/000000 の続き。 今回は、AWS MSK Connect の 設定部分、特に、機密に関わるDBなどの接続情報を Secret Manager から取得することを…

【Terraform】Terraform ~ AWS KMS ~

■ はじめに 今回は、Terraform で AWS Key Management Service (KMS) を作る なお、KMSの復習は、以下の関連記事を参照のこと KMS ~ 入門編 ~ https://dk521123.hatenablog.com/entry/2020/02/27/232553 目次 【1】公式ドキュメント 1)Resource: aws_km…

【Terraform】Terraform ~ AWS MSK Connect ~

■ はじめに https://dk521123.hatenablog.com/entry/2023/05/14/122215 から分冊。 今回は、AWS MSK Connect をTerraform で作成する MSK = Managed Streaming for apache Kafka Amazon MSK ~ 入門編 ~ https://dk521123.hatenablog.com/entry/2023/04/21/…

【Terraform】Terraform ~ AWS ECR ~

■ はじめに Amazon Elastic Container Registry (ECR) を、Terraform で作る。 なお、ECRについては、以下の関連記事を参照のこと。 Amazon ECR ~ 入門編 ~ https://dk521123.hatenablog.com/entry/2020/05/22/165711 Amazon ECR ~ 基本編 ~ https://dk5…

【Terraform】Terraform ~ テンプレート ~

■ はじめに テンプレートをちょうど勉強してた際に、以下のサイト https://tech.revcomm.co.jp/terraform-troubleshooting って記事に「既存のコードが非推奨になっている」ってあって その中で「 Template provider は、すでに非推奨」っとあったので その…

【Terraform】Terraform ~ AWS EC2 ~

■ はじめに 休み明けに、Terraform で EC2 を立ち上げそうなので 予習をしておく 目次 【1】公式ドキュメント 1)AMI 【2】サンプル 例1:Systems Manager(Session Manager)経由でアクセス 例2:SSH経由でアクセス 【3】EC2あれこれ 1)シェルを実…

【Terraform】Terraform ~ 基本編 / Module ~

■ はじめに https://dk521123.hatenablog.com/entry/2023/05/03/000000 より分冊。 Terraform の Module について扱う。 目次 【1】モジュール - module 【2】モジュール化の一例 【3】モジュール種類 1)ローカルモジュール 2)リモートモジュール 【…

【Terraform】Terraform ~ 機密情報の扱いを考える ~

■ はじめに 今回は、パスワードなどの機密情報を Terraform でどう扱うかを考えて ここにちょこちょこまとめていく。 できれば、実践したい。 目次 【0】今回学べたこと 【1】機密情報の扱いを考える 案1:tfvars ファイルで変数で切り出す 案1の例 案2…

【Terraform】Terraform ~ AWS CloudWatch ~

■ はじめに https://dk521123.hatenablog.com/entry/2023/05/14/122215 のトラブルシュートのために、 AWS CloudWatchで出力することを学んだので、メモ。 目次 【1】公式ドキュメント 1)Resource: aws_cloudwatch_log_group 【2】使い方 【3】サンプル…

【Terraform】Terraform ~ Terraformあれこれ ~

■ はじめに Terraform に関する Tips を徐々にだけど ここに書き溜めていく 目次 【1】デバッグログレベルを切り替えるには 【2】タイムアウト時間を変更するには 【3】依存関係を指定するには 1) resourceセクションから別リソースを参照 2) depends…

【Terraform】Terraform ~ Datadog ~

■ はじめに Datadog を将来的に扱いそうなので Terraform で構築できるように予習。 目次 【1】Datadog 1)用意するもの 2)主なサービス内容 【2】公式ドキュメント 【3】AWSへの導入準備 1)IAM 【4】自サービスへの適用 1)モニター作成 【1】Da…

【Terraform】Terraform ~ 複数環境へデプロイすることを考える ~

■ はじめに 通常、複数環境(dev/stage/prod)へ Terraform を使って デプロイすることを考える 目次 案1:terraform init時にbackend-configオプションを使う 1)コマンド例 案2:Workspaceを使う 1)そもそも「Workspace」とは? 2)コマンド例:Work…

【Terraform】Terraform ~ 基本編 / tfstateファイル ~

■ はじめに https://dk521123.hatenablog.com/entry/2023/04/20/172823 において、 エラー「AlreadyExistsException: Workflow with name 'xxx-xxxx' already Exists」 について、ひとまずの回避案を提示したが、ちゃんとした解決案が分かった。 その解決案…

【Terraform】Terraform ~ 基本編 ~

■ はじめに https://dk521123.hatenablog.com/entry/2019/12/09/222057 https://dk521123.hatenablog.com/entry/2023/04/05/000224 の続き。 今回は、Terraform コードの基本的な文法について扱う。 目次 【1】環境リソース 1)リソース - resource 2)デ…

【Terraform】Terraform ~ 特定リソースのみデプロイ・削除する ~

■ はじめに 小ネタ。 エラー「AlreadyExistsException: Workflow with name 'xxx-xxxx' already Exists」 が出たので、一つの解決案として、 「特定リソースのみデプロイする」ってのが あったので、調査。 目次 【1】トラブル概要 1)エラー内容 2)原因…

【Terraform】Terraform ~ AWS IAM ~

■ はじめに https://dk521123.hatenablog.com/entry/2023/04/09/104204 https://dk521123.hatenablog.com/entry/2023/04/11/152801 https://dk521123.hatenablog.com/entry/2023/04/08/220411 の続き。 今回は、IAM Role を作成することになったので、メモ。…

【Terraform】Terraform ~ AWS Secrets Manager ~

■ はじめに https://dk521123.hatenablog.com/entry/2023/04/05/000224 https://dk521123.hatenablog.com/entry/2023/04/09/104204 https://dk521123.hatenablog.com/entry/2023/04/08/220411 の続き。 今回は、Terraform で AWS Secrets Manager について扱…

【Terraform】Terraform ~ Docker ~

■ はじめに Terraform は、基本的には、 AWSなどのクラウド環境作成するためのツールだとは思うが Docker でも利用できるので、学習用に利用する。 目次 【1】前提条件 【2】サンプル 例1:Dockerイメージ「Nginx」からインストール 補足:警告「The attr…

【Terraform】Terraform ~ AWS S3 ~

■ はじめに https://dk521123.hatenablog.com/entry/2023/04/05/000224 https://dk521123.hatenablog.com/entry/2023/04/08/220411 の続き。 前回は、AWS Glueを扱ったが、 Glue JobのスクリプトやJarなどのファイルを S3上に置く必要がでてきたので、 Terra…

【Terraform】Terraform ~ AWS Glue ~

■ はじめに https://dk521123.hatenablog.com/entry/2023/04/05/000224 の続き。 今回は、AWS Glue に関して、少しずつだが、調べた内容を纏めていく 目次 【1】公式ドキュメント 【2】サンプル 例1:1Workflow-1Job-1StartTrigger 例2:Scheduled Trigg…

【Terraform】Terraform ~ 環境構築編 ~

■ はじめに https://dk521123.hatenablog.com/entry/2019/12/09/222057 の続き。 今、行っているプロジェクトでは、 インフラは、Terraformを使うことになったそうなので これを機に覚えるとする、、、(前々から気になっていた技術だし) 中期的な目標とし…

【Terraform】Terraform ~ direnv / プロジェクト隔離 ~

■ はじめに https://dk521123.hatenablog.com/entry/2023/01/14/000000 の続き。 Terraform の本読んで勉強してて direnv がでてきたので、メモ。 目次 【1】direnv 【2】環境設定 1)サポートOS 2)インストール 3)フックの設定 【3】Quick demo 【…

【Terraform】Terraform ~ tfenv / バージョン管理 ~

■ はじめに https://dk521123.hatenablog.com/entry/2023/04/05/000224 でも書いたが、 Terraformはバージョンごとに動かすみたいなことが必要になってくるので バージョンごとに管理できる tfenv について、まとめてみた。 補足:バージョン管理の別方法に…

【Terraform】Terraform ~ 入門編 ~

■ はじめに Terraform (テラフォーム)について、学ぶ。 目次 【1】Terraform 1)使用言語 2)サポートOS 【2】Core Terraform Workflow 1)Write 2)Plan 3)Apply 【3】主なTerraformコマンド一覧 【4】その他の便利コマンド一覧 1)terraform …