もりはやメモφ(・ω・ )

ITとか読書感想文とか

小ネタ

Jenkinsfileでchoiceの選択値を複数の変数に分割して利用する

こんにちは、今日は歴史的な日ですが私はJenkinsfileと戯れています。*1 最近はCIやCDはGitHub ActionsやAWS Code兄弟に任せていますが、人間が入力値を選択して特定のジョブを実行するようなケースでJenkinsの出番がしばしばあります。 今回、選んだ値から…

Ansible で複数台サーバの結果を順番(Sequential)に取得する

ansible コマンドって便利なんですよ 日頃から大量のサーバを管理する中で、Ansible の Adhock な実行はとても便利です。 もちろんサーバの構成管理であったり、Packerから呼び出す初期セットアップとしての Ansible Playbook も愛用していますが、なんだか…

AWS CodeCommitで不要なブランチを一気に削除する

プライベートなGitLabからCodeCommitへ移設したとあるリポジトリについて、大量のブランチがあって今すぐ消したい!!となったので簡単なシェル芸で対応したのでメモ。 課題: 直面したブランチ多すぎ問題 例えばこんな感じだった。 謎のポリシーでブランチを…

Dockerが利用するサブネットを変更する

EC2で稼働していたDockerのサブネットを後から変更したのでメモします。 大体はこちらのブログの通りです。感謝。 support.getjoan.com 経緯 Apache Guacamoleという便利なソフトウェアをご存知でしょうか。簡単に言えば「RDPやVNCの集約ツール」です。Windo…

digdagでファイルシステム上のファイルをチェックして if> operator につなげるサンプル

既存システムとの連携などが、ファイルシステム上のファイルの有無による「フラグファイル」で行われることがままあります。 ファイルの存在のチェックし、その結果をdigdagの if> operator でやってみたという小ネタです。 Document - if>: Conditional exe…

物理RHEL7サーバにUSBを接続したときのUSB対応バージョンによるログの違い

業務で少し古めのサーバにUSB3.0の外付けSSDドライブを接続する機会があり、USB3.0対応の機器と、USB2.0までしか対応していない機器が混在しており戸惑ったのでメモします。 調べ方としては接続した時のシスログ(/var/log/messages)を見ればOKです。 USB 2.0…

digdagのループ for_each 利用時の _parallel 指定について

digdagのループ for_each 利用時の _parallel 指定について仕様を調べたのでメモ。 公式ドキュメントの Parallel execution にある通り「子タスクには効果があるが、孫タスクには効果が無い」ことを確認します。 If _parallel: true parameter is set to a g…

AWS WorkspacesのDirectryを削除しようとしたら "Cannot delete the directory because it still has authorized applications" が出る対策

検証で利用していたAWS Workspacesのお掃除をしていたところ、以下のエラーが発生して消せなくて焦りました。 An Error Has Occurred Cannot delete the directory because it still has authorized applications. Additional directory details can be view…

awsコマンドでEC2のGlobal IPとPrivate IPを取得する1行コマンド

開発者から「IPアドレスの一覧が欲しい」と言われて必要になったので作りました。メモとして残しておきます。 aws ec2 describe-instances | jq -c '.Reservations[].Instances[] | [ (.Tags[]? | select(.Key == "Name")).Value, .PrivateIpAddress, .Publi…

ALBとTargetGroup一式をTerraformにimportしてみる

年の瀬に何やってんだという感じではありますが、ちょっとしたタスク整理でALB一式をTerraformに落としたくなる場面があったので作業メモを残します。*1 試行錯誤した結果をそのままメモとして残していきますので、上級者が良いやり方をまとめた記事ではない…

digdagのslaディレクティブを使い、ジョブの意図せぬ長時間実行に対策する

digdagを利用していて時おり困ることの一つに、何らかのジョブ*1がハングなどで長時間実行されてしてしまい、ジョブのキューが溜まり後続のジョブが実行されない問題があります。その対策として sla ディレクティブを利用した、という内容です。 digdagのsla…

Embulkでinputするzipファイルをデコードする2つの方法

Embulkではpluginにより様々な形式のファイルをimputとして扱うことができます。今回はzipファイルを解凍(decorde)する二つの方法を紹介します。 利用の仕方 embulk-decoder-commons-compres embulk-decoder-command プラグインを切り替えた訳

PostgreSQLで2バイト文字が含まれるカラムかを調査する方法

これは PostgreSQLで文字列型のカラムに 2バイト文字 が含まれるかを調査する方法です。まさかこんな調査が必要になるとは思っていなかったのですが、必要になったのでやりました。 これは TL;DR charの場合 varcharの場合 検証 テストテーブルの作成&テス…

AWXのバージョンアップをしました (2.1.0 -> 4.0.0)

AWX4.0.0 TL;DR 最初にバージョンアップについて調べました サーバ 手順 pipでtower-cliを導入(初回のみでいいはず) tower-cliをセットアップ AWXの情報をバックアップ(結局使わなかった) PostgreSQLのバックアップ(結局使わなかった) アップグレード ハマ…

datadogのMulti-Organizationを開始するまで

これは datadogを使っている状況で、新システムについては請求額や利用者を分割したい要望が出たため、Multiple-Organizationと言う機能を利用したい、と言う話です。 結論としては Multiple-Organizationは便利でした。 左下の自分のアイコンから表示される…

Embulkのfilter pluginが定義ミスで読まれなかったメモ

これは ものすごいしょーもないミスでembulkのfilterプラグインが読まれなかった事象に遭遇したのでメモ 何がどうだった filters: とすべきところを filter: とsなしで記載した結果 embulkの処理自体は実行される(書式エラーとして判定されない) filterプラ…

AWS Code兄弟の自分なりの理解メモ殴り書き

これは AWSのCode兄弟を最近触り始めていて、雰囲気がわかったので一度言語化しておこう&ブログ止まっててまずいので小ネタで、という記事 想定読者 完全に自分 EC2へのデプロイ(Lambda/ECSは出てこない) GitLabCIとかJenkinsでパイプラインは作ってきた 完…

Jenkinsfileでタイムスケジュール実行

Jenkinsfileでcron定期実行指定 v2になってから久しい*1Jenkinsですが、Jenkinsfileによるジョブのコード化がとても良いです。 小ネタでJenkinsfileでのcron実行の方法を調べたのでメモです。 Documentのcron-syntaxに書いてある通りなのですが、以下のよう…