はじめに PulumiはオープンソースのIaCツールで、クラウドリソースのプロビジョニングとデプロイを行います。 TerraformやAnsible相当の役割を担えます。 それらとの大きな違いの一つは、定義ファイルが複数のプログラミング言語で書けるという点です。そこ…
はじめに 新卒時代にCで組み込み系に携わっていたけど、それ以降はたまにVBAやShellScriptを、業務ではAnsibleやTeraformで定義ファイルを書いていました。 最近、プログラミングを学びなおすのに良さそうな複数の理由ができたので、経験のあるCで100本ノッ…
技術カンファレンス Advent Calendar 2023 シリーズ2の14日目の記事です。 はじめに Cloud Native Days Tokyo 2023(以下、CNDT2023)の初日に現地参加してきました。 以下に、いくつかのセッションと現地参加の感想を記載しています。 event.cloudnativeday…
terraform Advent Calendar 2023 の11日目の記事です。 はじめに 気になっていた Terraform Provider for Ansible をこの機に試してみました。 今回の対象は resource "ansible_playbook" です。 Terraform Registry GitHub - ansible/terraform-provider-an…
この記事は、Ansible Advent Calendar 2023 の3日目のエントリです。 はじめに 気になっていた Terraform Provider for Ansible をこの機に触ってみました。 Terraform Registry GitHub - ansible/terraform-provider-ansible: community terraform provider…
はじめに Cloud Operator Days Tokyo 2023(以下、CODT2023)に、登壇とクロージングイベントへ現地参加してきました。 いくつかのセッションと現地参加の感想を記載しています。 Cloud Operator Days Tokyo - Cloud Operator Days Tokyo 2023 はじめに セッ…
はじめに GitHub ActionsをCloud9に構築したセルフホストランナーで動かしてみます。 GitHubホストランナーは利用時間の制限(無料/有料)があったり、OSの種類が決まっていますが、 セルフホストランナーは自身で用意するため、制限はなくカスタマイズも自由…
AnsibleとTerraformには、Moduleと呼ばれる機能があります。 ただし、名前が同じなだけで内容は異なります。 概要 Ansible Terraform コードの要素 Module タスクの単位 Resource リソースの単位 再利用可能なコードの単位 Role タスクの集合 Module リソー…
結論 terraformで以下のリソースを作成し、手動などでシークレットの値を更新した後、再度terraformコマンドを実行すると、 Secrets Manager terraform refreshをしても、tfstateに変更はありません。 terraform applyをしても、changedになりません。 Param…
はじめに community.awsにあるssm_parameterモジュールで、ユーザとパスワードを登録します。 community.aws.ssm_parameter module – Manage key-value pairs in AWS Systems Manager Parameter Store — Ansible Documentation AWS Systems Manager(SSM)パラ…
はじめに community.awsにあるsecretsmanager_secretモジュールで、ユーザとパスワードを登録します。 community.aws.secretsmanager_secret module – Manage secrets stored in AWS Secrets Manager — Ansible Documentation はじめに 環境 AWS Secrets Man…
はじめに 終わってみれば、ご協力もあり無事に完遂しましたが、社内(特に他部署と)の交流不足が大きかったと思います。 他部署でちらほらブログを書いていた方が数名いたので何とかなるでしょと思っていましたが、そもそも会話したことがないという状況でし…
この記事は、カサレアル Advent Calendar 2022 の19日目のエントリです。 はじめに ユニークな文字列が欲しかったので、年月日時分秒を取得し文字列にしました。 以下の関数を組み合わせます。 timestamp - Functions - Configuration Language | Terraform …
この記事は、カサレアル Advent Calendar 2022 の18日目のエントリです。 はじめに 最近、AnsibleのAWSコレクションにamazon.awsとcommunity.awsの2つがあることを知りました。 community.awsのほうにAssume Roleモジュールがあったので、それを試してみま…
この記事は、Ansible Advent Calendar 2022 の9日目のエントリです。 はじめに ダイナミックインベントリを使う時はデフォルトのDNS名をhostsに指定していたのですが、ほかの指定はできないのかと思い、IPアドレスを対象に実施してみました。 Dynamic Invent…
この記事は、Ansible Advent Calendar 2022 の2日目のエントリです。 はじめに 今回はAnsibleのTerraformモジュールを使うのではなく、TerraformでEC2インスタンスを作成し、local-execでPlaybookを実行してパッケージをインストールします。 AnsibleのAmazo…
この記事は、カサレアル Advent Calendar 2022 の2日目のエントリです。 はじめに TerraformでEC2インスタンスやKerPairなどのリソースを作成し、それをAnsibleで活用します。 以下の流れで試します。 [Terraform] EC2インスタンスやSSHキー(KeyPair)などの…
この記事は、カサレアル Advent Calender 2022 の1日目のエントリです。 はじめに AWS Backup を知ったので、EC2インスタンスを対象にバックアップとリストアを試してみました。 AWS Backup とは? AWS Backup はフルマネージド型のバックアップサービスであ…
はじめに AnsibleでTerraformモジュールを使った際に、気を付けるポイントを書き留めておきます。 以下にはまりました。 Terraformのoutputの変数名にハイフンを使用していたため、Ansibleで呼び出せずエラーになった。 原因はTerraformでは変数名にハイフン…
はじめに AnsibleとTerraformを組み合わせると楽できそうだったので、AnsibleのTerraformモジュールを使ってみました。 community.general.terraform module – Manages a Terraform deployment (and plans) — Ansible Documentation terraformとansibleを機…
はじめに モジュールで定義した変数を参照するには、outputで定義する必要があります。 先日同僚から教わった、分かりやすいたとえがこちらです。 モジュールはそれ単体が一つの独立したTerraform、あるいはアプリケーションだと思っていただくとイメージし…
はじめに 実リソースとコードの差異を検出することをドリフト検出と言うそうです。 今回は、Terraformで作成したAWSリソースとtfstateファイルの差異を検出します。 Snykで試したかったことがこれです! まとめ ドリフト検出を試して、おおむね満足のいく結…
はじめに 先日開催されたCNSC2022やHashiTalks:Japanで紹介されたSnykが気になったので、触ってみました。 本記事ではDockerイメージのスキャンを試していますが、こちらの記事では、Snykでドリフト検出(実リソースとtfstateの差異を検出)を試しています。 S…
はじめに AWXバージョン21をk3s上にawx-operatorで構築します。 構築手順は、整理したらそんなに複雑ではなかったです。また、Githubにはminikubeを例にした構築手順が載っていますが、k3sは軽いというし触ってみたかったので。 GitHub - ansible/awx-operat…
はじめに 本日が期限日の課題をGoogleAppsScript(以下、GAS)で直接Slackに通知します。 前回の記事ではBacklogのインテグレーションを利用していましたが、今回はGASのみで実装します。 Slackの設定 以下を参考にしてください。 手順5で表示される Incoming …
はじめに Backlogのインテグレーションでは、本日が期限日だけど完了していない課題を通知出来ません。そのため、GoogleAppsScriptで課題にコメントを登録するコードを作成し、Backlogのインテグレーションで通知できるようにしました。 GoogleAppsScriptを…
はじめに GitLabの以下設定をAPIで実施していきます。 API Docs | GitLab APIによる設定 ユーザの作成 グループのインポート グループにユーザを追加 グループにプロジェクト(リポジトリ)をインポート リポジトリにWebhookを登録 環境 GitLab : 15.0 OS : …
はじめに JAVAアプリをビルドし、JenkinsのパイプラインでVeracodeのアプリケーション診断を実行してみます。 なお、フリースタイルプロジェクトではなく、パイプラインで実装します。 Veracodeとは ソースコードの静的解析やアプリケーションに対する動的解…
はじめに VScodeのVeracodeプラグインで静的解析を試します。 このVeracodeプラグインを使用すると、例えばファイル保存時に自動でスキャンし、コードのセキュリティ上の欠陥を検出してくれます。つまり、セキュアコーディングを実践しやすくなります。 Vera…
はじめに 成功パターン $の前に「\」バックスラッシュをつけ「'」シングルクォーテーションで囲む 失敗パターン $の前に「\」をつけるのみ $の前に「\」をつけ、引数は「"」で、全体は「'」で囲む $の前に「\」をつけ、引数は「"」で、全体も「"」で囲む は…