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

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

日本仮想化技術がお届けする「とことんDevOps」では、DevOpsに関する技術情報や、日々のDevOps業務の中での検証結果、TipsなどDevOpsのお役立ち情報をお届けします。
主なテーマ: DevOps、CI/CD、コンテナ開発、IaCなど
読者登録と各種SNSのフォローもよろしくお願いいたします。

M1 Macにasdfからaws-cliをインストール

やっとApple Siliconデビューしました。Intel Macで何も困っていなくてズルズルと使ってたんですが、たまたま縁があり、M1を使わせていただくことになりました。今のところ大変快適です。 Apple Siliconデビューしたのが遅かったからか、M1初期にあったツー…

git resetで失った変更を取り戻す

つい最近、複数のブランチを同時進行で操作していた時、間違えて別のブランチでgit reset --hardを実行してしまいました。コミット前だったこともあり、あぁ、オワタ・・・/(^q^)\っと思ったのですが、ちょっと検索してみるとコミット前のファイルでも復旧で…

Terraform実行対象のAWSアカウントを絞る

TerraformのAWSプロバイダーにはallowed_account_idsという設定項目があるのをご存知でしょうか?コードを実行する対象のAWSアカウントを絞れる設定です。 registry.terraform.io コードに直接IAMユーザーのクレデンシャルを書いておけば、環境の取り違えは…

terraform planの結果をGitHub PRにコメントする

CIでTerraformを操作しようと思うと、以前ではTerraform Cloud一択でした。しかし2023年5月、料金プランが変更され、5ユーザーまで無料だったものが、500リソースまで無料になってしまいました。PoCなどで使っていた私としましてはなかなかの痛手です。そこ…

CFnテンプレートをHCLにコンバート

私はCloudFormationテンプレートが苦手です。CloudFormationが悪いツールだとは思いませんが、どうも慣れないというかなんというか。Terraformの方が簡単に書ける印象です。書くのが苦手ならば、もちろん読むのも苦手でして。たまにCFnテンプレートを渡され…

GitHub Actionsで並列処理

GitHub Actionsは同じトリガーが設定された別のワークフローファイル.github/workflows/{a,b}.yamlなどを並列で処理します。しかし、1つワークフローで並列処理したいこともありますよね。たとえば、Nodejsのバージョン18,19,20でアプリケーションをビルドし…

GitHub Actionsで古いIssueを自動クローズ

GitHubを中心に開発をしていると対応するんだかしないんだかわからない古いIssueが残ってたりしませんか?解決済みだけど閉じ忘れてるだけなのか、みんながみんな自分には関係ないと思って反応しないのか。こうなってしまったIssueはこのまま残しておいても…

Red Hat Enterprise Linux(RHEL)に無料トライアル版でデビューしてみた

恥ずかしながら、これまでRHELを触ったことがありませんでした。Amazon LinuxやCentOSは過去の業務で使用していました。プラベートではDebian、Ubuntu、Arch Linuxなどを触っていたりするのでLinuxに触れない日はないものの、RHELには縁がなく・・・。たまた…

はじめてのCDK

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

TerraformでGitHubをプロビジョニング

最近Terraformでなんでもできるぜーひゃっはーっと調子に乗っていたんですが、GitHubでリポジトリ作ったりなんかはコンソールからポチポチでした。お恥ずかしい・・・。ということでGitHubのリポジトリ作ったりする部分をコード化していきます。 GitHub Prov…

freezeでコードやTerminalの画像をジェネレート

結構前にvhsというツールの紹介記事を書いたんですが、同じ開発元からfreezeというツールが公開されていました。vhsは実行したいコマンドをテキストファイルに羅列してvhsコマンドに渡すと、羅列されたコマンドを実行し、その様子をgifアニメにしてくれると…

asdfもいいけどaquaもいいぞ

asdfって.tool-versionsがあるディレクトリでasdf installを実行すると、.tool-versionsに書かれたツールが指定のバージョンでインストールされるんですが、ツールをインストールする前にそのツールをasdf plugin addしておかいないといけないんですよね。で…

AWS VaultでAWS CLIをセキュアに使う

AWS

AWS CLIは~/.aws/credentialsに平文でクレデンシャルを保存します。簡単にクレデンシャルが確認できてしまうのでコンピューターにロックをかけないまま離席してしまった日には漏れていてもおかしくありません。そこでクレデンシャルを暗号化しシステムのキー…

おれ流タスク管理のすゝめ

世の中には便利なタスク管理ツールが溢れていますが、みなさんどんなツールを使っていますか?私は高機能すぎるツールはなかなか使いこなせないので紙とペンくらいで十分なのですが、紙とペンでは自動化は難しいですよね。そこでTaskwarriorというCLIツール…

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

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

GitHub CLIを使ってターミナルに引きこもる

GitHubを使うときはWebから操作するという方は結構いると思いますが、エディタやWebブラウザを行ったり来たりするのは大変ですよね。私は普段の作業を概ねターミナルで済ませてしまっているので、GitHubを操作するためにブラウザを起動するのが億劫でたまり…

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

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

ThinkPad T460sでセキュアブート

今までずっとインセキュアおじさんでした。 本日、某弊社チャットでFedora 39からsystemd-bootが使えるよっという情報が流れてきました。私はsystemd-bootがgummibootだったころからお世話になっていたので颯爽と会話に参加したのですが、「た◯かさん、セキ…

最強のプレゼンテーションアプリ「presenterm」

勉強会などで使うプレゼン資料は何を使って作っていますか?私はPowerPointを使用していました。PowerPointがすごく使いやすいかと言われると私は結構苦手な方で、選択肢があまりないというのと社内標準のツールとなっているのでわからないことがあれば聞け…

心地よい雑音を奏でるツール

静かな環境より多少雑音があった方が作業が捗ることってありますよね。ラジオみたいに何か喋られてると気が散るけど雑音はほしいという方にオススメのツールを見つけました。 daktilo github.com このツールはタイピングに合わせてタイプライターのような打…

Raspberry Pi Zero 2 WにArch Linuxをインストール

Raspberry Pi Zero 2 Wは結構前に買えたものの全然活用できていませんでした。欲しくて買った割にやらせたいことが特にないんですよね。電源すら入れていないもの勿体無いので、とりあえず使えるようにするところまでやっていきます。 必要なもの Raspberry …

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

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

GitHub ActionsでMarkdownからPDFをジェネレート

社内でMarkdownをPDF化したい要望があり、かつ、GitHub上でファイルの管理からビルドまで完結できるといいよねっということで作ってみました。 github.com しくみ GitHubにChapterプレフィックスのMarkdownファイルをコミットすることでGitHub Actionsが発火…

gh CLIでSBOM生成

GitHubではパブリックリポジトリや、自分がアサインされているプライベートリポジトリでSBOMがエクスポートできます。 github.blog Insights > Dependency graph > Export SBOM の順に進んでいくとJSONファイルでダウンロードできます。 この機能をgh CLIか…

基礎から学ぶコンテナセキュリティを読みました。

基礎から学ぶコンテナセキュリティ――Dockerを通して理解するコンテナの攻撃例と対策 Software Design plus作者:森田 浩平技術評論社Amazon 弊社には福利厚生で書籍購入無制限があります。その制度を利用して「基礎から学ぶコンテナセキュリティ」を購入して…

気がついたら入社して2年経っていた話

早いもので、入社してから2年が経っていました。私が入社したのが2021/07/01、この記事を書いているのが2023/07/25です。1ヶ月くらいすぎちゃってたらこの記事を書くこともなかったでしょう。危ない危ない やったこと 今年1年は去年から担当していた案件を粛…

gitignoreをジェネレート

Gitを使用しているとリポジトリに含めたくないファイルがでてきますよね。その都度.gitignoreに追加していけばいいんですが、知らず知らずのうちにファイルが出来上がってて、気づかないままgit add --allなんてしてしまったら……(--allするなという説もある…

ECSでGitOps

私が関わっている案件ではK8s(っというかEKSやGKE)をよく使っています。K8sを使っていればArgoCDを使えるので、デプロイの仕組みをあまり意識する必要はありません。一方でAWS ECSで運用したい要望が出てくると自分でデプロイの仕組みを作る必要がでてくるの…

Kubernetesの知識地図を読みました。

Kubernetesの知識地図 —— 現場での基礎から本番運用まで作者:青山 真也,小竹 智士,長谷川 誠,川部 勝也,岩井 佑樹,杉浦 智基技術評論社Amazon 私の関わっている案件ではKubernetesを使っています。私自身そこまでKubernetesに詳しいわけではないので、あくま…

AWS CLIでアクティブなリソース一覧を取得

AWS

前回はAWSの料金を取得するコマンドを紹介しました。今回はアクティブなリソース一覧を取得する方法を紹介します。 AWS Resource Explorer docs.aws.amazon.com AWS Resource ExplorerはAWSリージョンを横断してAWSリソースを検索することができます。検索で…