terraformに関するpoppyhiのブックマーク (10)

  • Terraform(AWS)の構成を公開します

    はじめに アプリボット SREチームの一条です。 弊社ではAWSGCPの構築にTerraformを利用しています。 IaC(Infrastructure as Code)には欠かせないTerraformですが、長らく運用していく中で様々な課題に直面し、その度に構成や運用ルールを更新していきました。 しかし、まだ完璧な構成ではないと思っています。 なぜなら、会社・プロジェクト独自の事情もありますが、他社の事例を参考にしても運用方法は様々で、これといった正解がないと感じているからです。 今回は弊社のAWSにおけるTerraformの構成を公開しますので、事例の一つとして参考にしていただければと思います。 また、事例を世の中に増やすために、この記事を読んでくださった皆様も、構成や運用ルールを公開・共有していただけますと幸いです。 構成紹介 前提 弊社では1プロジェクトに対して、1~N個のAWS

    Terraform(AWS)の構成を公開します
  • EC2からのECS移行においてIaCとCDをどう変えたか

    Reject Day 2023(https://connpass.com/event/282843/) 登壇資料 登壇動画: https://www.youtube.com/live/kMiijJdWi-s?feature=share&t=4500

    EC2からのECS移行においてIaCとCDをどう変えたか
  • Terraformでモジュールを使いテンプレート分割する場合のアーキテクチャ - Qiita

    はじめに Terraformとは、「Infrastructure as Code」を行うツールで、例えば、AWSリソースをコードベースで作成できたりします。「Infrastructure as Code」を行うツールは、たくさんありますが、Terraformでは「モジュール」という機能があります。 このモジュールと言う機能は、ソースコードをテンプレート化して、パラメータを開発用と、番用で分けることでソースコードを再利用しながら2環境つくれるような機能です。(ざっくり言うと) ただ、そのモジュールの構成について正解は無くネット上でも色んな構成であふれています。 なので、今回は、以下のAWSのCloudFormationのBlackBeltやGCPの記事を参考に、モジュールを使いテンプレート分割する(作成単位をアプリケーションやログとかの運用で分ける感じ)アーキテクチャでリソースを作成し、以

    Terraformでモジュールを使いテンプレート分割する場合のアーキテクチャ - Qiita
  • Terraform ベストプラクティスを整理してみました。 | DevelopersIO

    こんにちは。クラメソのスジェです。 ほとんどのサービスにはベストプラクティス(=best practices)というのがあります。 そのサービスを利用する際、このベストプラクティスを守るとより効率的に性能を100%活用することができます。 もちろんterraformにもこのようなベストプラクティスがあります。 今回はこのベストプラクティスについて整理してみました。 参考資料 記事は下記の資料を参考にして作成しました。 記事ではほとんどのプロジェクトに活用できる程度の項目を紹介しています。つまり、ベストプラクティスについて軽く説明している感じなので、詳細な内容までは上記の資料をご参照ください。 また、紹介した資料以外にもベストプラクティスを調べてみたら、たくさんの資料がありますので、そちらもあわせて確認することをお勧めします。 読む前に 実際にベストプラクティスをプロジェクトに適用しよう

    Terraform ベストプラクティスを整理してみました。 | DevelopersIO
  • 「それ、どこに出しても恥ずかしくないTerraformコードになってるか?」 / Terraform AWS Best Practices

    2021年9月30日AWS Dev Day Online Japanの登壇資料 動画はこちら: https://www.youtube.com/watch?v=0IQ4IScqQws

    「それ、どこに出しても恥ずかしくないTerraformコードになってるか?」 / Terraform AWS Best Practices
  • [Terraform]Moduleを作ると環境毎のデプロイが便利 | DevelopersIO

    はじめに システムを構築するにあたって開発、検証、番環境をそれぞれ用意することが多いですが、Terraformで作成する場合にModuleを使った環境毎のデプロイが便利だったので紹介します。 Terraform Moduleとは 複数のresourceブロックで構成されたファイル群(.tf)をテンプレート化したものです。Moduleブロックで呼び出す時に変数を渡すだけで一貫性ある構成を作成できます。 Modules Overview - Configuration Language - Terraform by HashiCorp 例えば、開発と番環境それぞれ異なるネットワークのVPCとサブネットを作成する場合、以下のようなModuleを作成します。 module/vpc/mainf.tf resource "aws_vpc" "vpc" { cidr_block = var.cidr

    [Terraform]Moduleを作ると環境毎のデプロイが便利 | DevelopersIO
  • Terraformのベストなプラクティスってなんだろうか | フューチャー技術ブログ

    はじめにこんにちは、TIG DXユニット 1の木村です。 入社以降ずっと触ってきたTerraformですが、巷ではWorkspace派だったり、module派だったり、ディレクトリ完全分離派だったり、様々な流派(プラクティス)が乱立しているのを目にします。私自身ベストな構成を模索していく中で辿り着いた結論は、ケースバイケースで全てのデザインパターンに対応できる万能なものは存在しないのかな (当たり障りないですね..)ということです。 そんなわけで、様々なTerraformの流派を紹介し、各流派がどのようなパターンに向いているのか(はたまた不向きなのか)の個人的見解をまとめてみました。 ※記事中のサンプルコードはすべて Terraform 0.12、 provider google cloud で解説してます Terraformとは?当社過去記事に解説があります。Terraformの概要や

    Terraformのベストなプラクティスってなんだろうか | フューチャー技術ブログ
  • AWSでTerraformに入門 | DevelopersIO

    OSやミドルウェアの機能検証を実施した場合など、オンデマンドで一時的な検証環境を構築できるのもクラウドサービスの醍醐味です。 検証対象のOSやミドルウェアは異なれど、検証に必要な環境はある程度共通であることが少なくなく、また費用節約のためにも検証が終わった後はきれいさっぱりとその環境を削除したいものです。 AWSでそんな使い捨ての環境を構築する場合の方法として、ファーストチョイスとなるのはAWS CloudFormationかと思います。検証環境をテンプレート化しておくことができ、またマネージメントコンソールやAWS CLIを使って簡単に環境の構築/削除ができる、使い捨て環境の構築にはぴったりのサービスです。あるいはAWS CLIやAWS SDKを使って自前の環境構築スクリプトを作成するのもよいかもしれません。 AWS公式のツールを使う以外では、Terraformが有力な選択肢の1つになる

    AWSでTerraformに入門 | DevelopersIO
  • 10分で理解するTerraform - Qiita

    Terraform とは インフラストラクチャ定義ツール に分類されるツールで、クラウド上のリソースを定義ファイルの状態になるように生成・操作してくれます インフラの構成を宣言的に定義できるところが特徴で、構築手順を書くのと違って構成定義のみに集中することができます ※宣言的に定義できる とは「t2.micro インスタンスを1つ」と書くだけで、作成手順を意識しなくてもその通りに出来上がるということです 単純にスクリプト化するだけだと、手続き的に構築手順を書く必要があります Vagrant を開発している HashiCorp社 が開発しているツールなので使用感は Vagrant と同じような感じです TL;DR .tf ファイルに定義内容を記述し、$ terraform apply を実行するだけで定義内容の通りに自動でインフラを構築してくれます インストール 以下に従って OS 毎のビル

    10分で理解するTerraform - Qiita
  • Terraform職人再入門2020 - Qiita

    data "aws_caller_identity" "current" {} output "account_id" { value = data.aws_caller_identity.current.account_id } 若干補足しておくと、 "${}" 自体が廃止されたわけではなく、今でも文字列の中に変数を埋め込む場合には必要ですが、式が変数の参照しか含まない場合は不要で、v0.13.4以降は冗長な書き方は警告が出ます。ちなみにv0.14のfmtはもう一歩踏み込んで、この書き方を自動で修正するようになりました。古いサンプルコードを雑にコピペできるようになってべんり。 Terraformではなく汎用的なHCLそのものの仕様を調べたいときは、 hashicorp/hcl にありますが、稿執筆時点ではデフォルトのmasterブランチはまだHCL1であることに注意して下さい。 HCL

    Terraform職人再入門2020 - Qiita
  • 1