勉強日記

チラ裏

Terraform

実践Terraform ch25 既存リソースのインポート

nextpublishing.jp terraform import 単一リソースのインポート 準備 インポートの実行 コードの修正 関連リソースのインポート terraformer 準備 指定したリソースのインポート terraform import 単一リソースのインポート 準備 aws ec2 create-vpc --cidr-…

実践Terraform ch24 リファクタリング

nextpublishing.jp tfstateファイルのバックアップ ステートの参照 terraform state list terraform state show terraform state pull ステートの上書き tfstateファイルの書き換え, terraform state push ステートからリソースを削除 準備 terraform state …

実践Terraform ch17 Terraformベストプラクティス

nextpublishing.jp Terraformバージョンを固定する ブロバイダバージョンを固定する 削除操作を抑止する コードフォーマットをかける バリデーションをかける オートコンプリートを有効にする プラグインキャッシュを有効にする TFLintで不正なコードを検出…

実践Terraform ch19 高度な構文

nextpublishing.jp 三項演算子 複数リソース作成 リソース作成制御 データソース 主要な組み込み関数 ランダム文字列 Multipleプロバイダ Dynamic blocks 三項演算子 variable "env" {} resource "aws_instance" "example" { ami = "ami-0c3fd0f5d33134a76" …

実践Terraform ch13 データストア (2/2)

nextpublishing.jp ElastiCache ElastiCacheパラメータグループ ElastiCacheサブネットグループ ElastiCacheレプリケーショングループ github.com ElastiCache ElastiCacheパラメータグループ クラスタモード有効/無効を選択する 公式 今回は無効 resource "…

実践Terraform ch13 データストア (1/2)

nextpublishing.jp RDS: Relational Database Service DBパラメータグループ DBオプショングループ DBサブネットグループ DBインスタンス マスターパスワードの変更 【補】後始末 github.com RDS: Relational Database Service DBパラメータグループ my.cnf…

IAM UserにIAM Roleの権限を委譲する (AssumeRole)

やりたいこと AWS STS AssumeRole 試す 構築 IAM Role IAM User, S3 Bucket AssumeRole前、S3にPutObjectできないことを確認する AssumeRoleし、S3にPutObjectできることを確認する まとめ IAM Roleを使わない(使いたくない)理由ってなんだろうあるのかな— …

実践Terraform ch12 設定管理

nextpublishing.jp コンテナの設定管理 SSMパラメータストア Terraformによるコード化 よくない よい コード化する必要ある? SSMパラメータストアとECSの統合 https://github.com/wand2016/terraform_ch12_example コンテナの設定管理 実行環境ごとに異なる…

実践Terraform ch10 バッチ

nextpublishing.jp バッチ設計 ECS Scheduled Tasks タスク定義・コンテナ定義 CloudWatch Events CloudWatchイベントIAMロール CloudWatchイベントターゲット バッチ設計 エラーハンドリング 通知 ロギング リトライ 自動 手動 リトライできるように設計さ…

実践Terraform ch9 コンテナオーケストレーション

nextpublishing.jp ECSの構成要素 ECSの起動タイプ Webサーバーの構築 ECSクラスタ(Fargate) タスク定義 ECSサービス コンテナの動作確認 Fargateにおけるロギング CloudWatch Logs ECSタスク実行IAMロール Dockerコンテナのロギング github.com ECSの構成要…

実践Terraform ch8 ロードバランサーとDNS (2/2)

nextpublishing.jp Route 53 ドメインの登録 ホストゾーン DNSレコード ACM: AWS Certificate Manager SSL証明書の検証 (DNSによる) HTTPS用ロードバランサー HTTP->HTTPSリダイレクト ここまでに作ったリスナー リクエストフォワーディング ターゲットグル…

実践Terraform ch8 ロードバランサーとDNS (1/2)

nextpublishing.jp HTTP用ロードバランサー リスナー 【追記】terraform destroyでハング github.com HTTP用ロードバランサー resource "aws_lb" "example" { name = "example" load_balancer_type = "application" internal = false idle_timeout = 60 enab…

実践Terraform ch11 鍵管理

nextpublishing.jp KMS: Key Management Service KMS: Key Management Service 公式/AWS Key Management Service の概念 AWS KMS カスタマーマスターキー (CMK) を使用して、データキーの生成、暗号化、復号化を実行する CMKで直接暗号化・復号化は行わない …

実践Terraform ch7 権限管理

nextpublishing.jp パブリックネットワーク VPC: Virtual Private Cloud パブリックサブネット インターネットゲートウェイ・ルートテーブル ルート ルートテーブルの関連付け プライベートネットワーク プライベートサブネット ルートテーブル作成・関連付…

実践Terraform ch6 権限管理 + AWS Certified Developer Associate試験対策

nextpublishing.jp プライベートバケット 【補習】SSE-KMS ブロックパブリックアクセス パブリックバケット ログバケット ログローテーションバケット・バケットポリシー 【補習】SSE-KMS暗号化を強制するバケットポリシーを作ってみる github.com プライベ…

実践Terraform ch5 権限管理

nextpublishing.jp ポリシー ロール 信頼ポリシー IAMロール作成、IAMポリシーアタッチ github.com ポリシー main.tf data "aws_iam_policy_document" "allow_describe_regions" { statement { effect = "Allow" actions = ["ec2:DescribeRegions"] resource…

実践Terraform ch3 基本構文

nextpublishing.jp 変数 ローカル変数 出力値 データソース プロバイダ 参照 組み込み関数 モジュール github.com 変数 variable "example_instance_type" { default = "t3.micro" } resource "aws_instance" "example" { ami = "ami-0c3fd0f5d33134a76" ins…

実践Terraform ch2 基本操作

nextpublishing.jp リソースの作成 更新、再構築、削除 tfstateファイル github.com リソースの作成 最初にやるやつ docker-compose run terraform init Creating network "terraform-practice_default" with the default driver Initializing the backend..…

実践Terraform ch1 セットアップ

nextpublishing.jp AWS IAMユーザー AWS CLI, クレデンシャル Terraform git-secrets AWS IAMユーザー 練習用に、とりあえずのAdministratorAccess権限のユーザをつくる 本番運用ではちゃんとminimum privilegeでつくろうね AWS CLI, クレデンシャル 生で入…