並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 64件

新着順 人気順

terraformの検索結果1 - 40 件 / 64件

  • ログラスのTerraform構成とリファクタリングツールの紹介

    この記事は毎週必ず記事がでるテックブログ "Loglass Tech Blog Sprint" の 47週目の記事です! 1年間連続達成まで 残り 6 週 となりました! はじめに ログラスのクラウド基盤でエンジニアをやっているゲイン🐰です。 ログラスではAWS上でアプリケーションを動かすためにIaCとしてTerraformを採用しています。 我々のTerraformの構成を紹介するとともに、現状の課題とリファクタリングの事例を共有できれば幸いです。 ログラスのTerraform構成 ざっくりログラスのアプリケーションにまつわるTerraform構成は以下のようになっています。 基本的にはterraform/usecaseディレクトリ配下にmoduleとして定義されています。 中身は比較的にベタでリソースが書かれており、それらをterraform/envディレクトリの各ディレクトリ内で呼

      ログラスのTerraform構成とリファクタリングツールの紹介
    • 新しいTerraformのバージョンマネージャー tenv を試してみた | DevelopersIO

      しばたです。 私は普段Windows環境でTerraformを使っており、Terraformのバージョン管理には自作ツールを使っていました。 つい先日新しいバージョンマネージャーであるtenvというツールがあることを知ったので試してみることにしました。 tfenvのつらみ Terraformのバージョンマネージャーとしてはtfenvが一番メジャーかと思います。 tfenv ただ、このtfenvはシェルスクリプト(Bashスクリプト)の集合体でありWindows環境ではGit Bashでのみ動作する状況でした。 加えて2023年末ごろから開発停止状態になっていいます。 新しいバージョンマネージャー tenv 細かい経緯を正確に把握できていないのですが、今年に入りOpenTofuのコミュニティによりOpenTofu向けのtfenv派生であるtofuenvが生まれ、 tofuutils / to

        新しいTerraformのバージョンマネージャー tenv を試してみた | DevelopersIO
      • terraform (plan|apply) in GitHub Actions | さくらのナレッジ

        はじめに さくらインターネット SRE室の久保です。 今日は「terraform (plan|apply) in GitHub Actions」というタイトルで発表させていただきます。 今日発表する内容は、画像で表すと上図のようになります。誰かがPull Requestを送ると、それをもとにGitHub Actionsを動かし、Terraformのplanやapplyを動かして、自動的にTerraform管理下にあるリソースを更新してくれる、そういう仕組みを作ったという話です。 terraform (plan|apply)を実行する際のポイント Terraformのplanとapplyを実行する際のポイントとして、まず各種秘匿情報、具体的にはAPIキーなどが必要になるので、実行結果をチーム内で共有してレビューするのが結構面倒です。何らかの方法でAPIキーを共有して使うにしても、あるいは各自

          terraform (plan|apply) in GitHub Actions | さくらのナレッジ
        • Terraformモジュール構成のベストプラクティス - ENECHANGE Developer Blog

          VPoTの岩本 (iwamot) です。 この記事では、Terraformモジュール構成のベストプラクティスをご紹介します。Terraformドキュメントに書かれているものですが、従わずに時間を溶かした失敗談をまじえてお伝えすることで、同じ轍を踏む方が減ることを願っています。 取り上げるのは下記のベストプラクティスです。 Module Composition(フラットなモジュールツリー) Dependency Inversion(依存性の逆転) Module Composition(フラットなモジュールツリー) Module Compositionは、モジュールをフラットに並べられるよう構成すべし、という話です。Terraformドキュメントでは下記の例が挙げられています。 module "network" { source = "./modules/aws-network" base_c

            Terraformモジュール構成のベストプラクティス - ENECHANGE Developer Blog
          • Terraform 1.9 の新機能紹介 | DevelopersIO

            Terraformのversion 1.9が2024年の6月26日にGAになりました。1.9の新機能を見ていきましょう。 変数のvalidationで色々参照できるようになった 変数にはvalidationを実装することができます。例えば以下のようなものです。 variable "aws_account_id" { type = string description = "AWS Account ID" validation { condition = can(regex("^[0-9]{12}$", var.aws_account_id)) error_message = "Invalid AWS accountID." } } これはAWSアカウントIDが格納されるのを想定した変数です。AWSアカウントIDは必ず12桁の数字ですので、そうでない場合はエラーにしています。 上記例では c

              Terraform 1.9 の新機能紹介 | DevelopersIO
            • terraform importで数年やってきたがImport blockの良さに気づきました

              こんにちは。イオンスマートテクノロジー株式会社(AST)でSREチームの林 aka もりはやです。 Terraformを一定以上扱ってきた方であれば terraform import コマンドを苦労しながら実行した経験があるのではないでしょうか。私自身も5年以上Terraformを扱う中で何度も terraform import を行ってきました。 一般的に terraform import では以下を行います。 実態に合わせてコードを整える 実態を指定するコマンドを組み立てる ステートファイルに取り込む 差分が出たら地道にコードを整えて terraform plan を実行する 4を繰り返して"No changes"となるまでチューニングする これらの作業はTerraform初見では難しく、個人的にTerraform中級者への登竜門として terraform import が試金石のひと

                terraform importで数年やってきたがImport blockの良さに気づきました
              • 巷の Terraform Module に違和感を感じたので納得できるものを作ってみた【AWS VPC編】

                今日は最近 Terraform Module に感じていた使いにくさの理由と、その克服方法について AWS VPC を構築しながら整理していきます。 世間で使われる Terraform Module に対する違和感 早速ですが、巷で使われている Terraform Module に対して感じた違和感を挙げていこうと思います。 具体例があるとよりわかりやすいかと思いますので、 terraform-aws-modules/vpc/aws を例に取りながら見ていこうと思います。

                  巷の Terraform Module に違和感を感じたので納得できるものを作ってみた【AWS VPC編】
                • 「Terraformテスト入門」というタイトルでDevelopersIO 2024 Odysseyに登壇しました #cm_odyssey #devio2024 | DevelopersIO

                  DevelopersIO 2024 Odyssey Day9(7/24)にて、「Terraformテスト入門」というタイトルでお話ししました。 登壇資料 おわりに Terraformのテストについてお話しました。テスト手法もツールも色々あります。 今回の発表で、ざっくりイメージつけてもらえたら幸いです。 今回紹介したほとんどのツールや機能は無料で使えます。 興味を持った方は、実際に機能やツールを触ってみてください。 今回参考にさせていただいた、以下の資料もぜひチェックしてみてください。 書籍: 詳解Terraform(9章) HashiCorp Blog: Testing HashiCorp Terraform 以上、AWS事業本部の佐藤(@chari7311)でした。

                    「Terraformテスト入門」というタイトルでDevelopersIO 2024 Odysseyに登壇しました #cm_odyssey #devio2024 | DevelopersIO
                  • Google Workspace でも Microsoft Entra ID の PIM で Just-in-Time Access (Terraform 設定つき) #ベッテク月間 - LayerX エンジニアブログ

                    すべての経済活動を、デジタル化するために、すべての業務活動を、デジタル化したいコーポレートエンジニアリング室の @yuya-takeyama です。 週末は Festival Fruezinho という音楽フェスに参加し、アルゼンチンの音響派フォークシンガー・Juana Molina を観てきました。デジタルなサウンドを活用しつつも、ライブ感のあるバンドサウンドで、非常にスリリングなライブでした! 今回の話はアナログ寄りのデジタルな気がします。 Microsoft Entra ID の PIM とは PIM (Privileged Identity Management) については、少し前に Fintech 事業部の piroshi さんが書いてくれた記事があるので、概要はそちらをご覧ください。 最小権限の原則に一歩近づく - Entra ID の "Just-in-time appli

                      Google Workspace でも Microsoft Entra ID の PIM で Just-in-Time Access (Terraform 設定つき) #ベッテク月間 - LayerX エンジニアブログ
                    • Stakpak - Design Studio for Terraform with a Copilot.

                      A Hybrid Intelligence that helps you create production-ready infrastructure, using knowledge contributed by you and other DevOps experts all over the world. A Hive Mind for DevOps and cloud-native infrastructure design.

                      • Github Actionsで複数環境のterraform planを自動化する

                        はじめに 現場でterraformソースコードのGitlab → GitHub移行にあたって、Github Actionsワークフローを組む機会がありました。 そこで、運用しやすそうなCIを組めたので、共有させていただきます。 前提/方針 GoogleCloud(以下GCP)インフラをterraform管理している。 環境はstg・prodの2つで、別々のGCPプロジェクトに構築されている。 プルリク作成時・更新時にterraform planを実行したい。 plan結果はtfcmtというツールを利用し、プルリク上に自動でコメントしてもらう。 各環境用で別々のGithub Secretsを登録している。 また、ディレクトリ構成は以下のような感じ。 src/commonはstg・prodの共通リソースです。 src/ ├ common/ │  ├ moduleA/ │  ├ moduleB/

                          Github Actionsで複数環境のterraform planを自動化する
                        • Terraformのtemplatefile関数活用方法 - NRIネットコムBlog

                          本記事は AWSアワード記念!夏のアドベントカレンダー 14日目の記事です。 🎆🏆 13日目 ▶▶ 本記事 ▶▶ 15日目 🏆🎆 カラスに襲われたためしばらくその付近には近づいていません。中村です。 Terraformのライセンス変更があったためこれからどうなるのか心配していましたが、IBMがHashiCorpを買収することが発表されたため落ち着きそうで安心しています。今後も動向を注視していきます。 本記事ではTerraformの組み込み関数templatefileについてご紹介します。 templatefile関数とは 指定されたパスにあるテンプレートファイルを読み取り、その内容をテンプレートとしてレンダリングすることでテキストファイルや設定ファイルを動的に生成することができます。 そのため環境毎に少し異なるファイルを使用する必要がある場合などに非常に便利な関数です。 devel

                            Terraformのtemplatefile関数活用方法 - NRIネットコムBlog
                          • GitHub - leg100/pug: Drive terraform at terminal velocity.

                            You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                              GitHub - leg100/pug: Drive terraform at terminal velocity.
                            • 開発チーム、TerraformでAWS始めました - 公開版 | ドクセル

                              スライド概要 開発チームでIaCを導入したので、その効果について話しました このスライドは 7/22 の ssmonline #43 で発表したスライドを、部編集したものです https://ssmjp.connpass.com/event/324454/

                                開発チーム、TerraformでAWS始めました - 公開版 | ドクセル
                              • Renovateを導入してterraform providerを自動更新する - VISASQ Dev Blog

                                インフラを管理する際にTerraform Providerのアップデートが面倒になって放置していませんか? それ、Renovateで解決できます。 こんにちは!DPEチームの酒井です! 弊社ではインフラの管理にTerraformを利用していますが、Providerのバージョンアップデートは後回しにされていました。 そこで導入したものが、依存関係を自動更新してくれるRenovateになります。 Renovateとは? docs.renovatebot.com Renovateはリポジトリの依存関係を自動的に検出し、更新を効率的に管理するツールです。 機能としては、最新の依存関係に関するPRの自動作成や、条件を満たした場合の自動マージがあります。また、様々なオプション設定により、柔軟なカスタマイズをすることが可能です。 Renovateの使い方 導入 GitHubを使っている場合には、GitH

                                  Renovateを導入してterraform providerを自動更新する - VISASQ Dev Blog
                                • DynamoDB コスト最適化っぽいことの基本 with Terraform

                                  AWS10分LT会 - vol.4でLTをした時の資料です。 参考リンクは以下です。 DynamoDBテーブルのコスト最適化(https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/bp-cost-optimi…

                                    DynamoDB コスト最適化っぽいことの基本 with Terraform
                                  • Public IPv4を持たないデュアルスタック構成でWebサーバー環境をTerraformで構築してみた - Qiita

                                    はじめに こんにちは、こんばんは、どうもamaebiと申します。 今回は、Public IPv4を持たないデュアルスタック構成でWebサーバー環境をTerraformで構築しました。 本ブログの想定読者として、「Public IPv4が有料化したし、Public IPv4を使用しない構成をぱぱっと作りたい」という方向けになっておりますので、必要に応じてカスタマイズしていただけますと幸いです。 考慮していない点 本ブログで以下の内容は考慮しておりません。 こちらは、後日ブログにする予定です。 バックアップ設定 ログ情報 の保存 運用・保守 (CloudWatch等) 構成図 ディレクトリ構成 ディレクトリの構成内容は以下のようになっています。 . ├── providers.tf ├── vpc.tf ├── sg.tf ├── ec2.tf ├── alb.tf ├── route53.t

                                      Public IPv4を持たないデュアルスタック構成でWebサーバー環境をTerraformで構築してみた - Qiita
                                    • 【Terraform】Terraform Cloud Route53の設定をimportする方法 - Qiita

                                      はじめに Terraformを業務上使用するなかで詰まったことがあったので忘備録として記事にします。 具体的には、Terraform CloudとローカルのTerraform環境を統合します。 セットアップ 1 - tfenvを使用してTerraform Cloudのバージョンに合わせてインストール 2 - Terraformのログイン terraform login 3 - Enter a value: で'yes'と入力 4 - Terraform Cloud上でTokenを生成 5 - 生成したTokenを入力すると下記画面が表示される 6 - Terraform initを実行 terraform init Terraform構成ファイルを初期化し、必要なプロバイダーやモジュールをダウンロードする 作業 1 - 該当のリポジトリでterraform state listを実行

                                        【Terraform】Terraform Cloud Route53の設定をimportする方法 - Qiita
                                      • [CDK For Terraform]RDSのイベント通知実装 - Qiita

                                        RDSのイベントサブスクリプションはChatbot非対応 前回の記事でも触れたのですが、RDSのイベントサブスクリプションはChatbotに対応していません。 RDSのイベント通知を行うためのEventBridgeで実装した内容を記載します。 サンプルコード // CDK For Terraform EventBridge SNS import { Construct } from 'constructs'; import * as aws from '@cdktf/provider-aws'; import { List } from 'aws-sdk/lib/model'; export function eventBridgeSns(scope: Construct, SourceClusterIdentifier: List, // RDS Aurora Cluster Sourc

                                          [CDK For Terraform]RDSのイベント通知実装 - Qiita
                                        • BigQueryのスケジュールクエリをterraformで管理する - Qiita

                                          BigQueryのスケジュールクエリ機能を使うと定期的にクエリを実行できます。 Cloud Composerなどのワークフローツールのセットアップが不要なため、気軽にクエリを定期実行したい場合には便利です。 しかし、その手軽さゆえに「野良」のスケジュールクエリが散見されることもよくあるので、terraformを使って管理してみます。 クエリを格納するディレクトリ構造は以下のようにします。 scheduled_queries ├── 実行スケジュール1 │ │── データセット名1 │ │ ├── テーブル名1.sql │ │ └── テーブル名2.sql │ ├── データセット名2 │ │ └── テーブル名3.sql │ └── データセット名3 │ └── テーブル名4.sql └── 実行スケジュール2 └── データセット名4 └── テーブル名5.sql 実行スケジュール部分は

                                            BigQueryのスケジュールクエリをterraformで管理する - Qiita
                                          • Terraformのtfstateについて考える - 目の前に僕らの道がある

                                            この記事は3-shake Advent Calendar 2023の23日目の記事となります。 3-shakeのカレンダー | Advent Calendar 2023 - Qiita こちらはSRE Tech Talk #6で話した内容に補足したものです。 3-shake SRE Tech Talk #6 - connpass 資料はこちらとなります。 tfstateとは tfstateの課題 tfstateの管理場所をどうするか問題 local S3/Google Cloud Storage GitLab Terraform Cloud tfstateを管理するリソースをどう管理する問題 aws/gcloud コマンド terraform + local state 管理 CloudFormation / Google Deployment Manager tfstateをどう分割する

                                              Terraformのtfstateについて考える - 目の前に僕らの道がある
                                            • Cloudflare PagesのTerraform Moduleを作った

                                              Cloudflare Pagesを簡単にセットアップしたい Cloudflare Pagesは、簡単に静的ファイルをホスティングできるので便利で、いろいろなテスト的な使い方をしているのですが、毎回コンソールでセットアップするのが手間に感じたので、Terraformの勉強も兼ねて、TerraformでCloudflare Pagesプロジェクトとその関連リソースを管理するようにしました。 最終的な構成 $ tree . . ├── README.md └── cloudflare ├── main.tf ├── modules │ └── pages │ ├── README.md │ ├── main.tf │ ├── outputs.tf │ └── variables.tf ├── terraform.tfstate ├── terraform.tfstate.backup ├── t

                                                Cloudflare PagesのTerraform Moduleを作った
                                              • TerraformでLambda Function URLをCloudFront OACに設定する - Qiita

                                                はじめに CloudFrontのOrigin Access ControlでLambda Function URLを保護できるようになりました。 Lambda Function URLのアクセス制御は、PublicもしくはIAMによる認証しか選択できないため、この変更によりCloudFront + WAFでより細かくアクセス制御・保護が可能になります。 本記事ではこの設定をTerraformで作成します。 できたもの variable "stage" { type = string } variable "prefix" { type = string } variable "generate_lambda_name" { type = string } variable "generate_lambda_url" { type = string } resource "aws_cloud

                                                  TerraformでLambda Function URLをCloudFront OACに設定する - Qiita
                                                • GitHubActionsとTerraformでS3バケットを作成してみた - Qiita

                                                  背景・目的 以前、下記の記事でTerraformや、GitHub Actionsについて知識の整理や、検証しました。 今回は、これらをつなげてGitHub ActionsからAWSのS3を作成してみます。 GitHub Actionsを調べてみた 【GitHub Actions】ビルドとテストの自動化を整理する TerraformでS3を作成してみた 実践 今回、構築したい環境は下記のとおりです。 前提 AWSアカウントを保持していること GitHubアカウントを保持していること VSCode MacOS ①.GitHubリポジトリ リポジトリの作成とダウンロード プライベートリポジトリを用意します git cloneによりローカルにダウンロードします VSCodeで「フォルダーをワークスペースに追加」をクリックし、ダウンロードしたフォルダを追加します ②.OIDCの設定(AWSとGith

                                                    GitHubActionsとTerraformでS3バケットを作成してみた - Qiita
                                                  • moduleを再利用して、環境ごとに異なる値を設定するTerraformアーキテクチャの一例 | DevelopersIO

                                                    環境ごとに設定を変えたい おのやんです。 みなさん、環境ごとに設定を変えて、Terraform経由でAWSリソースをデプロイしたいと思ったことはありませんか?私はあります。 例えば、開発(dev)、ステージング(stg)、本番(prd)と環境が分かれているとします。この環境それぞれに対して、ほぼ同じ構成で名前だけ変えてデプロイする流れをイメージします。その場合、moduleを共通化するディレクトリ構造を採用して、Terraformの変数を経由して環境ごとに設定を変えてデプロイすることがあります。 この構成のTerraformコードを作成する機会がありましたので、今回はそちらを紹介したいと思います。 ディレクトリ構成 具体的なディレクトリ構成がこちらになります。プロダクトのルートディレクトリにはenvironmentsとmodulesの2つのディレクトリを置いています。environment

                                                      moduleを再利用して、環境ごとに異なる値を設定するTerraformアーキテクチャの一例 | DevelopersIO
                                                    • Terraformで開発環境 / 本番環境を分けてリソースを管理したい - Qiita

                                                      要約 最終的なソースコード全体は以下のリンクからご確認いただけます。 関連記事 Terraformの開発環境を整理したのを備忘録も兼ねて複数の記事にしています。この記事はそのうちの1本目として、「Terraformで開発環境と本番環境を分けて実行する」ことについてまとめます。 Terraformで開発環境と本番環境を分けて管理する(この記事) TerraformのtfstateをS3で他者と共有して管理する 背景 普段アプリなどの開発をしていると、開発環境 / ステージング環境 / 本番環境などのように複数の環境を用意して開発を進めるということが多いかと思います。Terraformを用いてクラウドを利用した開発を行うときも、例えばインフラ構成を変えたいような時に、一度開発環境でterraform applyを実施してみて問題ないことを確認してから、本番環境でも適用したいなんてときがあります

                                                        Terraformで開発環境 / 本番環境を分けてリソースを管理したい - Qiita
                                                      • メールをSES→S3に保存する(terraform) - Qiita

                                                        SESからS3にメールを保存したい メールの処理で大きいファイルなどを扱うとき、SNSを使っているとキャパシティーをオーバーしてしまいます。 SES+SNS構成 構成としては以下になります。 SESでEメールを受信できるようにし、メールを送信します。 SESのアクションとしてSNSトピックへの発行を行います。 SNSからは処理用のLambdaへ通知をして処理を行います。 しかし、メールの容量が150KBを超えてしまうとそもそもLabmdaに通知されず、処理もできません。 SES+S3(SNS)構成 そこでS3を使用した構成に変更を行います。 S3を使用すると、150KBを超えるような大きいメールを受信することが可能になります。 公式のページ: S3バケットアクションへの配信 構成は以下の通りです。 先ほどと違う点は受信したメールをS3へ配信するというところです。 SESのアクションとして「

                                                          メールをSES→S3に保存する(terraform) - Qiita
                                                        • 【もくもく会ブログリレー6日目】Amazon Q DeveloperはTerraformのコードを賢く補完してくれるのか | iret.media

                                                          この記事は「もくもく会ブログリレー」 6日目の記事です。 2024/4/30、Amazon Q DeveloperがGAされました。もともとCodeWhispererでTerraform(hcl)もコード補完はできましたが、改めて精度を確かめてみます。 Amazon Q Developer の一般提供を開始 概要 精度 精度はまだ不完全ではあるものの、十分に役に立つレベルでした。書きはじめは予測内容に戸惑うかもしれませんが、プロンプトのコツを掴めばある程度は効率化を図れます。 価格 単純にコード補完をしたいだけなら無料です。Copilotは有料なので、ここはAmazon Q Developerの強みです。その他セキュリティスキャンなどいくつかの機能で回数が制限されていますが、Pro版にすることで各機能の上限を上げることが可能です。 Amazon Q Developer の料金 LLM Be

                                                            【もくもく会ブログリレー6日目】Amazon Q DeveloperはTerraformのコードを賢く補完してくれるのか | iret.media
                                                          • Terraform 1.9.0 のリリースを読んでみた (1.9.1 と 1.9.2 もあるよ)

                                                            こんにちは、クラウドエース SRE 部の阿部です。 この記事では、2024 年 6 月 26 日にリリースされた Terraform 1.9.0 の変更点についてざっくり説明します。 また、合わせて 2024 年 7 月 3 日にリリースされた Terraform 1.9.1 と 2024 年 7 月 10 日にリリースされた Terraform 1.9.2 の変更点も簡単に紹介したいと思います。 Terraform 1.9.0 の更新内容 Terraform 1.9.0 のリリースノートの内容を記載します。 新機能 Input Variable のバリデーションルール(validate ブロック)において、他の Variable 等のオブジェクトを参照できるようになりました。 templatestring 関数が追加されました。これは、 templatefile 関数の変数版です。 機能

                                                              Terraform 1.9.0 のリリースを読んでみた (1.9.1 と 1.9.2 もあるよ)
                                                            • Terraformを使ったLambda関数のコンテナイメージ構築 - Qiita

                                                              はじめに AWS Lambdaは、サーバーレスでイベント駆動型のコンピューティングサービスです。従来のLambda関数ではzipファイルでコードをアップロードしていましたが、コンテナイメージを使用することで、より柔軟で強力な開発・デプロイが可能になります。 本記事では、Infrastructure as CodeツールであるTerraformを用いて、Lambda関数として実行するコンテナイメージを構築し、AWS環境へデプロイする手順を解説します。 制作したレポジトリはこちらです。 参考にしたサイト 目的 Lambda関数をコンテナイメージで実行することにより、柔軟性とパフォーマンスを向上させることを目指します。 インフラ構成 以下のAWSサービスを用いてインフラを構築します。 ECR: Dockerイメージを保存するプライベートなレジストリ Lambda: サーバーレスでコードを実行する

                                                                Terraformを使ったLambda関数のコンテナイメージ構築 - Qiita
                                                              • Terraformで実現するNew Relic WorkflowとSlack連携 | iret.media

                                                                このページについて New RelicのWorkflowでSlack通知させるシーン、ありますよね? その設定をTerraformで入れたいと思いますよね? 今回は、TerraformからNew Relic WorkflowとSlackを連携してみた内容をまとめます。 これまでやっていた設定 TerraformでのWorkflowとSlack通知の連携は行わず(放置し)、Slack通知設定部分は手動設定してました。 Workflow設定画面の下にあるSlackアイコンから追加してます。 Terraformコード側にSlackのことを定義してないので、terraform applyでエラー(と言っても他の変更は反映される)、もしくは、手動設定したSlack設定が削除されるような挙動になってました。(newrelic provider versionによって挙動変わるかもしれません) 現状でき

                                                                  Terraformで実現するNew Relic WorkflowとSlack連携 | iret.media
                                                                • AWS LambdaにGo言語のスクリプトをzipファイル形式でデプロイする [Terraformを使用] - Qiita

                                                                  要約 最終的なソースコード全体は以下のリンクからご確認いただけます。 関連記事 Go言語で記述したスクリプトを、AWSのLambdaにTerraformを用いてデプロイする機会があり、その過程の試行錯誤を整理して一連の記事にまとめました。 この記事はそのうちの1本目として、zipファイルを用いてLambdaにスクリプトをデプロイしてみたいと思います。 zipファイルを用いてGo言語の処理をAWS Lambdaにデプロイする(この記事) Dockerイメージを用いてGo言語の処理をAWS Lambdaにデプロイする EventBridgeからAWS Lambdaを定期実行する処理をデプロイする 背景 最近、個人開発でもAWSのようなクラウド環境を使う時には、リソース管理のためにterraformを使うようにしています。 手動のポチポチ操作を減らして自動化できたり、どのような設定だったのかを忘

                                                                    AWS LambdaにGo言語のスクリプトをzipファイル形式でデプロイする [Terraformを使用] - Qiita
                                                                  • Terraform で GCE インスタンスを作成する際に initialize_params を避けるべき理由

                                                                    こんにちは、クラウドエース SRE 部の阿部です。 この記事では、Terraform で Google Compute Engine インスタンス(以降、GCE インスタンス)を作成する際のベストプラクティスについて紹介します。特に、initialize_params の使用を避ける理由とその代替方法について説明します。 先日、弊社の海外メンバーと Terraform の書き方について議論になった際に、 GCE インスタンスのパラメータを変更すると強制再作成となってしまい、メンテナンスのときに困っていると相談を受けて、この記事を書くことを思いつきました。 結論 GCE インスタンスのブートディスクを定義する際には、以下の点に注意してください。 google_compute_instance リソースの boot_disk ブロックで initialize_params を使ってブートディス

                                                                      Terraform で GCE インスタンスを作成する際に initialize_params を避けるべき理由
                                                                    • BigQuery データの定期バックアップをとるシンプルな terraform 設定 - Qiita

                                                                      概要 Google BigQuery で、テーブルデータの定期バックアップを取得するシンプルな例です Google BigQuery ではデフォルトで7日間のタイムトラベルによるデータ保存もされますが、タイムトラベル以前のデータにアクセスしたいという要件はありうるため、定期的なスナップショット取得が必要になるケースはあるのではないでしょうか スナップショット取得はテーブル単位の操作のため、スケジュール実行するとしても、テーブルの増減に応じてバックアップ対象を更新する必要があるのは面倒です 本記事はデータセットのリストのみメンテナンスするシンプルな管理で、データバックアップをスケジュールするシンプルな方法を共有します 前提 サンプルとして以下の構成を想定します バックアップを取得する元のプロジェクト: target-project バックアップを保管する先のプロジェクト: backup-pr

                                                                        BigQuery データの定期バックアップをとるシンプルな terraform 設定 - Qiita
                                                                      • GitHubActions + TerraformでECRを作成してみた - Qiita

                                                                        概要 Amazon Elastic Container Registry とはのドキュメントを基に整理します。 Amazon Elastic Container Registry (Amazon ECR) は、安全でスケーラブル、信頼性の高い AWS マネージドコンテナイメージレジストリサービスです。Amazon ECR は、 AWS IAM を使用したリソースベースのアクセス許可を持つプライベートリポジトリをサポートします。これは、指定されたユーザーまたは Amazon EC2 インスタンスがコンテナリポジトリとイメージにアクセスできるようにするためです。任意の CLI を使用して、Docker イメージ、Open Container Initiative (OCI) イメージ、および OCI 互換アーティファクトをプッシュ、プル、管理することが可能です。 マネージドなコンテナイメージレ

                                                                          GitHubActions + TerraformでECRを作成してみた - Qiita
                                                                        • Terraformでdynamic blockを使って特定のblockを一つだけ生成するかしないかを制御するやり方 - プログラマ行進曲第二章

                                                                          前回の記事で書いていないけれど、割と遭遇しがちなTerraformの書き方の記録を残します。 takuan-osho.hatenablog.com 前回、例えばsecuriy group id関係の変数の値に長さが0より大きいリストが与えられたときにblockを作るかどうかといった書き方で以下の様な書き方を紹介しました。 resource "aws_eks_node_group" "varanus" { for_each = var.node_groups # 省略 dynamic "remote_access" { for_each = length(each.value.config.security_group_ids) > 0 ? [each.value.config] : [] 今回はその亜種を紹介します。 例えばaws_launch_templateリソースにはtag_spec

                                                                            Terraformでdynamic blockを使って特定のblockを一つだけ生成するかしないかを制御するやり方 - プログラマ行進曲第二章
                                                                          • 【AWS】TerraformでSpotインスタンスを構築する方法 - Qiita

                                                                            以前の記事ではTerraformを用いてAzureに料金の割安なSpotインスタンスを構築する方法を掲載しましたが、今回はAWS版です。 ちゃんと覚えていました! えらい! 今回もインドのムンバイリージョンで作業しています。 本記事は2024年7月6日(日本時間)時点のAWSのムンバイリージョンのEC2の料金に関して言及しています。 Spotインスタンスの基本的な概念をわかりやすくするために具体的な金額を出しておりますが、実際の皆様の課金金額は本記事記載の金額に合致しない場合がありますのでご注意ください。 AWSのSpotインスタンスのコード コードは簡単ですが、考え方がAzureよりも少し難しいです。 Linux(Amazon Linux 2023)とWindows Server 2022の2台のEC2をSpotインスタンスで構築するコードです。 変数設定 # -------------

                                                                              【AWS】TerraformでSpotインスタンスを構築する方法 - Qiita
                                                                            • Terraformを簡潔に理解 - Qiita

                                                                              Terraformを使ったIaCの基礎 Terraformは、HashiCorpが開発したオープンソースのInfrastructure as Code (IaC)ツールです。コードでインフラストラクチャを管理および提供することができ、クラウド環境やオンプレミス環境でのインフラのプロビジョニングを自動化します。この記事では、Terraformの基本的な概念と使用方法について解説します。 Terraformの基本概念 1. Infrastructure as Code(IaC) Infrastructure as Code(IaC)は、インフラストラクチャの設定をコードで管理する手法です。これにより、インフラのバージョン管理や再現性が向上し、手動操作によるエラーを防ぐことができます。 2. 宣言的構成 Terraformは宣言的構成を採用しており、最終的な望ましい状態を記述することで、Terr

                                                                                Terraformを簡潔に理解 - Qiita
                                                                              • Terraformでstateファイルの格納先を分離したいときのTips

                                                                                はじめに Terraformを使用してAWSリソースを構築する際に、コンプライアンス上の理由により、実際にAWSリソースを作成する対象となるAWSアカウントと、stateファイルを保管する対象になるS3バケットを分離したい、なんていう要件が発生することがよくあります。 実際に業務でそういった要件が発生し、どうしたものかとちょっと悩んだのですが、意外と簡単に解決することができたので、Tipsとして書き残しておきます。 環境 実装している環境は以下の通りです。 Terraform: 1.7.3 AWS Provider: 5.36.0 クライアントのOS: macOS Sonoma 14.3.1 Profileの設定 Profileの設定は、他のTerraform実行環境と同様に、macOSであれば ~/.aws/config に記述しますが、今回はAWS IAM Identity Cente

                                                                                  Terraformでstateファイルの格納先を分離したいときのTips
                                                                                • Terraform の組み込み関数一覧

                                                                                  Terraform の組み込み関数の一覧を簡単にまとめました。 より詳細な使い方やユースケースは公式ドキュメントをご参照ください。 動作環境 Terraform v1.9.0 動作確認には主に terraform console を使用しています。 一部の出力結果は見やすいように整形等しています。 組み込み関数一覧 Numeric Functions

                                                                                    Terraform の組み込み関数一覧