のぴぴのメモ

自分用のLinuxとかの技術メモ

MacOSでDocker Desktopの代替えとしてLima+docker環境を作ってみた

MacOSでdockerを使おうとすると、第一候補は Docker Desktopになりますが、一定規模以上の企業で利用する場合は有料サブスクリプションが必要になります。 WindowsならWLS2でLinuxの仮想環境を作ってその上で、linuxのdockerを動かすということができます。…

zshでコマンドライン実行で#コメントを使えるようにする設定

Mac

以下のコマンドでzshのプロファイルにコメントを有効化する設定を追加する。 設定後再ログインすれば、コメントがエラーにならないはず。 cat >> ~/.zshrc << EOL # enable comment on command line mode setopt interactivecomments EOL 参考 zshで、コマン…

Jira Service Management Rest APIでカスタム フィールドのオプションを変更したメモ

選択リスト型のカスタム フィールドの選択できる値のリスト更新を Rest APIで実行したメモです。

Jira Service ManagementでRest APIで課題を操作したメモ

Jira Service ManagementのISSUEの情報取得やTransition(コメント記載、フィールド更新含む)や、直接のフィールド更新を、REST APIで行う調査をしたメモです。

Windowsサーバ ドメイン参加 + AD管理用サーバをPower Shellでやってみる

備忘録として、メモしておきます。 手順 AD管理ツールのセットアップ Windowsに管理者権限でログイン AD管理に必要なツールをPowerShellでインストールする。 Import-Module ServerManager Install-WindowsFeature -Name GPMC,RSAT-AD-PowerShell,RSAT-AD-Ad…

GitHub ActionsによるTerraform実行環境(更新ディレクトリ特定+checkovによるセキュリティチェック付き)

はじめに GitHub ActionsによるTerraformのCIサンプルです。 実際のコードはGitHubのリポジトリを参照ください。 このサンプルの特徴は以下の通りです。 OpenID Connect(OIDC)でのAWS認証によるActions実行により、アクセスキー&シークレットキー管理が不要 …

TerraformコードのセキュリティチェックでCheckovをGitHub Actionsに組み込んでみた

Terraformコードのセキュリティーチェックを行う必要があり、IaC用の静的コード解析ツールであるcheckovをGitHub ActionsのCIに組み込んでみた時のメモです。 最初にcheckovをローカルで実行する場合のやりかたを説明して、最後にActionsへの組み込み方法を…

テストでプロセスをハングアップさせる方法

対象のプロセスにSIGSTOPを送るとプロセスが一時停止するので、これでプロセスのハングアップ状況を作ります。再開する場合は対象のプロセスにSIGCONTを送りますが、正常に再開するかは該当アプリの作りなので、再起動(systemctl restart XXXXXとか)してしま…

SSH接続型のCloud9をセットアップする手順

AWS Cloud9は、ブラウザのみでコードを記述、実行、デバッグできるクラウドベースの統合開発環境 (IDE) です。AWS Cloud9サービスからCloud9を動かすEC2インスタンス or VMへの接続方式は、(1)ダイレクトアクセス、(2)SystemManager経由、(3)SSH接続、の3種…

Pythonで署名付きURLを作成し S3オブジェクトをGET/PUTしてみた

AWS

この記事は、S3の署名付きURLの学習のために署名付きURLを利用してS3のオブジェクトをPUT/GETしたときの手順をまとめたものです。 ポイントは3点、(1)S3の署名付きURLは、AWS CLIやSDKで生成可能、(2)ただしオブジェクトのPUT(アップロード)用の署名付きURL…

IAM Policy Simulatorの結果をJSON/CSV形式で出力するツール

作成したIAMポリシーやPermissions BoundaryのテストのためにIAM Policy Simulatorを利用すると便利ですが、テスト用のIAMアクションをGUIで作成しないといけないとか、結果をJSONやCSV形式の簡易な一覧で取得できない点が悩みでしたので、Pythonで簡単なツ…

Amazon Linux2にterraformをセットアップする

Googleで検索すれば記事は多数出てくるのですが、Amazon Linux2にterraformをセットアップした時の手順を備忘録のために記録します

フォワードプロキシ(NLB+EC2(AutoScaling))を作成するCloudFormation

AWS

NLB + EC2(Squid)構成のフォワードプロキシを作成するCloudFormationのテンプレートです。

Amazon Linux2にCloudWatchエージェントを設定する手順(ユーザデータでの手順あり)

Amazon Linux2にCloudWatchエージェントをセットアップする手順をまとめました。ドキュメントではSSMから操作する手順をメインにしていますが、AutoScalingなどでUserDataにセットアップ手順を埋め込むことを考慮し全てコマンドラインでセットアップが完結す…

AutoScaling Groupや起動テンプレートでEC2インスタンスの送信元/送信先チェックを変更する方法

EC2インスタンスの送信元/送信先チェック(source/destination checking)を、AutoScalingするインスタンスに設定しようとしても、Auto Scalingグループや起動テンプレートでは、送信元/送信先チェックの設定用のパラメータがないため設定できない。そのため、…

AWS CLIのAssumeRoleするプロファイル設定を使って、AssumeRoleのクレデンシャルを取得し環境変数に設定するシェル芸 ワンライナーを作ってみた

見やすいようにバックスラッシュで行を分けてますが、ワンライナーです。 terraformをローカルマシンで実行する時に、AWSプロバイダーの部分にローカルマシン固有のプロファイルとか埋め込みたくないけど、都度クレデンシャルを手で環境変数に設定するのは手…

terraformでSlackチャンネルを作成するための手順

概要 terraformからpablovarela/slackプロバイダーを利用し、slackのchannelを作成するための手順です。slackを外部のアプリケーションから操作するためには、slackでアプリケーション(App)を作成する必要があります。作成したAppに必要な権限を付与し、App…

Red Hat Developer ProgramのサブスクリプションはRed Hat DeveloperからRHELイメージをダウンロードすると自動的に付与される件

Red Hat Developer Programのに参加すると、無料のRed Hat Enterprise Linuxサブスクリプションを取得することができます。RHELのを取得できるのも嬉しいですが、redhatの ナレッジベースを参照できるようになるのが嬉しいです。 ちなみに、この無償プログラ…

Lambda(python)で特定のロググループ & ログストリームにログ出力するサンプルコード

Lambdaで特定のロググループ & ログストリームにログ出力するコードのサンプルです。 この例では、eventの内容をLogsに出力しています。コードは以下の記事の内容をベースに一部最適化してます。 Python (Boto3) @ Lambda で CloudWatch Logs の特定のログス…

macOS zshのプロンプトにgitブランチをカラー表示してみる

git

やりたいこと macOSのzshのプロンプトにgitのブランチを表示するようにします。 表示はカラー表示させます。今回の環境は以下の通りです。 ProductName: Mac OS X ProductVersion: 10.15.7 BuildVersion: 19H1323 gitセットアップに関する他の関連記事はこち…

AWS Organizationsのメンバーアカウントで予算設定するためには、先に管理アカウントでAWS Cost Explorerを有効化しないといけない件

困ったこと AWS Organizationsのメンバーアカウントで予算設定をしようとしたところ、先にpayer account(AWS Organizationsの管理アカウント)側でbudgetsを有効化するようにというメッセージが出てエラーになりました。 BUDGET_CONFIG_JSON=' { "BudgetName"…

gitのpull reqやpushで更新があったディレクトリを抽出しJOSNの配列にするシェル芸

やりたいこと system毎にディレクトリが分かれているterraformがあり(下記イメージ)、パイプラインで更新があったプロジェクトのディレクトリを判別してterraformを実行したい。 具体的には、git diffを使って差分があるディレクトリを抽出し、それをJOSNの…

GitHubでSAML SSO認証が必要なレポジトリ用にgitコマンドでのアクセスが必要になった時のメモ

とある経緯で新しい案件のレポジトリをgit coneしようとして認証エラーになった時の対処メモです。 発生したgitのエラーはこちらです。 git clone https://github.com/XXXXXX/XXXXXX.git Cloning into 'XXXXXX'... remote: The `XXXXXX' organization has en…

Windows ServerでDNSサーバをPowerShellでセットアップする手順

手順 DNSサーバのインストール DNSサーバと管理ツールのインストール Install-WindowsFeature DNS -IncludeManagementTools 有効化するためにWindowsを再起動 Restart-Computer -Force DNSサーバの管理ツールの実行 GUIでDNSサーバを管理する GUIは、DNS Man…

AWS BackupのOrganizations連携やクロスアカウントの機能をCLIで設定する方法

AWS

AWS Backupの権限分掌の設計を行うにあたって、それぞれの機能の設定をどのロールの人が実施できるのか明確化するために確認したものです。 確認結果としては、「バックアップポリシー」と「クロスアカウントモニタリング」はAWS Organizationsの機能、「ク…

Amazon ECS タスク定義の"タスクサイズのCPU"と”コンテナのCPUユニット”の違いを調べてみた

こちらはAWS Containers Advent Calendar 2020の13日目の記事です。 本記事は個人の意見であり、所属する組織の見解とは関係ありません。とてもこまか〜い話ですが、Amazon ECSのタスク定義設定ではCPUのリソース設定に関して以下の2つのパラメータがありま…

AWS環境のRHEL7/8にDNSキャッシュ(dnsmasq)を設定してみた

AWS環境にRHEL8とRHEL7にdnsmasqを利用したDNSキャッシュを設定した時の手順メモです。ネットワーク設定にDHCPを利用している環境の場合、DHCPとの整合性を合わせる部分が鍵となります。 RHEL8とRHEL7の違いですが、RHEL8はNetworkManagerがよろしくやってく…

アカウントに対してS3 block public accessをCLIで設定してみた

AWS

AWS CLIを利用してS3のパブリックアクセス ブロックを設定しようとしたら、設定対象によってCLIのコマンドが異なるという面倒な仕様だったのでメモを書いておきます。またAccess Pointは、Access Pointの作成時しかパブリックアクセス ブロックの設定ができ…

C言語/glibc getaddrinfo()を使ってホスト名からIPアドレスに変換するサンプル

getaddrinfo()による名前解決とIPアドレスに解決した情報の参照方法のサンプルコードを以下に記載します。またおまけで、getaddrinfo()を実行した時の挙動をざっくり説明します。

AWSで動くRHEL 7のレポジトリ名称がいつの間にか変わっていた件について(RHUI2->RHUI3)

RHEL7にdockerをインストールしようとして、二年前に確認した手順でセットアップしようとしたらうまくいかず、2時間ぐらい唸っていたら、いつの間にかRHUIがバージョンアップしてレポジトリ名称がごっそり変わっていたらしい。 access.redhat.com 変更例 以…