とことんDevOps | 日本仮想化技術のDevOps技術情報メディア

DevOpsに関連する技術情報を幅広く提供していきます。

日本仮想化技術がお届けする「とことんDevOps」では、DevOpsに関する技術情報や、日々のDevOps業務の中での検証結果、TipsなどDevOpsのお役立ち情報をお届けします。
主なテーマ: DevOps、CI/CD、コンテナ開発、IaCなど

開催予定の勉強会

読者登録と各種SNSのフォローもよろしくお願いいたします。

Infrastructure as Code(IaC)

はじめてのCDK

AWS CDK使ってますか?私はつい最近はじめたばかりです。IaCといえばTerraformや、そのフォークであるOpenTofu、Ansibleなどがメジャーだと思うんですが、AWS CDKもなかなかよかったのでご紹介します。 AWS CDK aws.amazon.com AWS CDKはAWSをプロビジョニン…

Terraform/OpenTofuのOpenStack Providerを使ってインスタンスを複数作成してみる

Terraformは色々なクラウドに対応しており、色々な環境を用意する場合に便利なデプロイツールです。 OpenTofuはTerraformのフォークであり、オープンソースライセンスで開発されています。 対象となるバージョンはそれぞれ次のとおりです。 % terraform vers…

Infracostコマンドでインフラコストを算出

私はインフラコストの算出がとても苦手です。AWSならAWS Pricing Calculator、Google CloudならGoogle Cloud Calculatorを使用すればいいんでしょうが、入力項目は多いですし、構成を変更するたびに同じ項目を入力しなくてはいけなくて嫌になってきてしまい…

OpenTofuが使いやすくなっていた

OpenTofuはTerraformを含めたHashiCorp製品の実質的なクローズソース化をきっかけとして、 オープンソースで開発が継続しているTerraformのフォークです。 現在はLinux Foundationのプロジェクトの一つとして活動されています。 以前もこのブログの方で取り…

tflintでTerraformのコードをいい感じにlintする

Terraformコマンドのサブコマンドにはvalidateやtestがあり、Terraformさえインストールしていればバリデーションやテストを実行できます。これで十分といえば十分なのですが、validateはコードの妥当性を検証するのみで、testは自分でテストコードを書かな…

詳解Terraform 第3版を読んだので感想を書く

IaCツールと言えば、ここ数年で飛躍的に成長しているのがTerraformですよね。 Terraformはドキュメントも充実していますし、その流行りっぷりからWeb上にも情報がたくさん存在します。そのため「あれがやりたい」という問題に直面した際、場当たり的にググる…

Terraformのフォーク「OpenTofu」を使ってみる

Terraform(を含むHashiCorp社のソフトウェア製品)のライセンスがBusiness Source License (BSL, or BUSL)になりました。 www.hashicorp.com 一般ユーザーはライセンス変更前にリリースされたソフトウェアについてはこれまでと同じように使えるものの、これ…

Terraformでニフクラをプロビジョニング

最近HashiCorpの製品でライセンスの変更がありTerraformやVaultを利用している界隈がざわざわしてましたね。かく言う私も例外ではありません。ちょっと調べてみると、製品を使用しているユーザーには影響がなくて、製品のソースコードを利用して商用サービス…

Terraform 1.5で追加されたcheck / importブロックをみる

Terraform 1.5がリリースされましたね。このバージョンではcheckブロックとimportブロックというのが追加されています。いまいちどんなものかわからないので公式ドキュメントを見ていきます。 github.com check{} developer.hashicorp.com checkブロックはバ…

TerraformでAWS OIDCを設定する

GitHub ActionsとAWSをOIDCで接続する記事は以前に書きました。 devops-blog.virtualtech.jp この時は手で設定していたのですが、今回はTerraformを使って設定してみます。 今回つかうファイルの説明 コードはこちら github.com リポジトリの中身はこんな感…

TerraformでAWS IAMのスイッチロール環境を構築

スイッチロールの設定ってプロジェクトの開始時やJoinした時にやるくらいで、いつもどうやるんだっけ?となります。最近たまたまスイッチロールを使う機会があったんですが、今回も案の定忘れてしまっていたので、この機会にIaC化します。 スイッチロール ス…

terraform-docsでドキュメントの自動生成

IaCでインフラを管理していると、構築手順書が不要になります。構築手順がコードで表現されているからです。では、一切のドキュメントが不要かというと、そんなことはありません。設定値の説明などは必要になるので、使い方のドキュメントは必要になります。…

AWSとTerraform CloudをOIDCで接続

1月30日にTerraform CloudでDynamic Provider Credentialsがパブリックベータで公開されました。 www.hashicorp.com Dynamic Provider Credentialsって何かと思ったら、Terraform CloudでOpenID Connect(OIDC)を使うための機能の名前みたいですね。要するにO…

Terraform + S3バックエンドでステートを過去のバージョンに戻す

先日、うっかりTerraformのステート情報を壊してしまい、以前のステートへのリカバリが必要になりました。そのときはS3とDynamoDBを直接操作して戻したのですが、後から改めて調べてみると、もっと簡単な方法があったことがわかりました。検索してみてもズバ…

Terraform本を読んでみた

第4回とことんDevOps勉強会でおすすめいただいた書籍を簡単そうなところから読み始めています。 まずは基礎からということで以下の書籍を読んでみました。 基礎から学ぶ Terraform作者:茅根涼平,土持昌志,古越勇樹,矢澤学シーアンドアール研究所Amazon 今年…

Terraform CloudとGitHubを連携してGCPにインスタンスを起動してみる

必要なもの GCPのアカウント GitHubのアカウント Terraform Cloudのアカウント GCPの設定 Terraform CloudからGCPにアクセスするため、サービスアカウントとクレデンシャルが必要になります。以下の手順で作成してください。 gcloud iam service-accounts cr…