systemdでサービスの有効化と起動をワンラインで実行する

昨日VPNサーバを構築した際に知ったのですが、比較的新しいバージョンであれば有効化と起動をワンラインでできるようです. man.kusakata.com 例えばnginxサービスをsystemdで有効化と起動をすると言えば、 systemctl enable nginx systemctl start nginx と…

WireGuardをConoHa VPSで立ち上げてGunfire Rebornをプレイする

Gunfire Rebornというゲームを友人とプレイしようとしていたところ、 特定のフレンドとプレイができなくなるという現象が起きました. この現象は、弊宅で契約している回線がV6プラスであることが起因していて基本的には解決できない問題です. とはいえ、回避…

Kindleアプリで既読にならない

私はiPadのKindleアプリで書籍を読んでいることが多いんですが、確実に最後まで読み切っているのにも関わらず既読の棚に移動しないという現象に1週間ほど悩まされていました. 結論としては、アプリの不具合でも何でもなくてiPadを再起動すれば解決するだけの…

MkDocsでmainブランチを利用する

昨今、技術界隈でもポリコレが重要視されている気がする世の中です. GitHubのデフォルトブランチがmainブランチに変更されていますが、MkDocsではmasterブランチがデフォルトのままです. この場合、生成されたHTMLの編集リンクはmasterブランチが参照される…

【随時更新】 2021年買ってよかったもの

2021年に買ってよかったものを随時更新していきます! 家電 HHKB Professional HYBRID Type-S HHKB Professional HYBRID Type-S 英語配列/墨メディア: Personal Computers 購入の決め手は、元々HHKB Professinal2を使っていたということと、無線キーボード…

Hugo向けのDockerfile最新版

個人サイトの www.khasegawa.net からブログをはてなブログに切り出したことで、テーマも変更しました. それに伴いコンテナイメージを作り直したので、その時のDockerfileを書いておきます. ちなみに最近のHugoのテーマでは、Sass/SCSSのコンパイルが必要に…

個人ブログをはてなブログに移行しました

ほぼ毎年ブログを変えてるような気がしますが、今回は落ち着くことになりそうです. 以前、個人ブログを変更した時の話はこれ khasegawa.hatenablog.com Hugoを使っていて不便に感じたこと 元々Hugoを使ってブログの記事内容を含めてwww.khasegawa.netを管理…

NewRelicの新料金プランについてまとめる

昨年の夏頃にNewRelicでは新料金プランを打ち出していました. newrelic.com この頃は私が関わっているところでは、料金プランの変更が次回更新時だったため詳細について見るのを後回しにしていました. そしてそろそろ更新タイミングに差し掛かるため、新料金…

CloudWatchアラーム一覧を表示する

どのリージョンにどんなCloudWatch Alarmがあるのかを知りたかったので、Bashスクリプトを書きました. 利用するツールは、jqとAWS CLIv2の2つ. #!/usr/bin/env bash # 利用可能なリージョンを取得 get_regions() { aws ec2 describe-regions | jq -r '.Regio…

個人事業主としての活動を始めるまでにやったこと

私が2020年に副業として個人事業主としての活動を始めようとした時にやった作業を振り返ります. 「個人事業の開業届」と「所得税の青色申告承認申請手続き」を税務署に提出する 個人事業用の預金口座を用意する クラウド会計ソフトを導入する 事業で利用する…

2020年買ってよかったもの

既に1月半ばになってしまったけれど、2020年に買って良かったモノや契約して良かったサービスをまとめました. 元々ゲームを快適にプレイする環境を整えていたので、リモートワーク向け製品は少なめです. audio-technica ATH-M70x(ヘッドホン) iPhone SE(…

AWS LambdaでRubyコンテナを動かす

re:InventでAWS Lambdaがコンテナをサポートしたようなので、 aws-lambda-rubyコンテナを使った動作確認をしてみました. corrupt952/aws-lambda-container-ruby-sampleにファイルを置いてきます. TL; DR コンテナがサポートされたことにより関数を実行するラ…

WSL上で実行されているかどうかを判定する

スクリプトがWSL上のLinuxで動作しているかどうかを判定できるようにしておくと、 macOSやWSLといった複数環境をサポートするスクリプトを書いている時に少しだけ便利になります. 判定方法としては、ファイルの内容やコマンドの実行結果によって判断する方法…

指定したプロパイダのバージョンを一括変更する

既視感がありますが、指定したproviderのバージョンを一括変更するためのスクリプトを業務終了間際に少し書いてみました. 今までそれなりの数のTerraformを触ってきましたが、 バージョンアップデートをする時に1ファイルずつを置換するのが正直なところかな…

シェルスクリプトにオプションを実装する

シェルスクリプトをよく書くのですが、そういった時によくオプションを指定して値を受け取りたいケースがあります. その時の書き方をメモしておきます. #!/usr/bin/env bash verbose=false while [ "$1" != "" ]; # "$1"が空文字列になるまで繰り返す do cas…

MkDocsのテンプレート

MkDocsを使ってプライベートでも仕事でもドキュメントをまとめることが増えてきました. リアルタイム編集には向きませんが、やはり設計ドキュメントやオンボーディング資料には向いてる気がします. そこで自分向けにMkDocsをリポジトリに導入するためのテン…

aptでnpmをインストールしたらlibmysqlclient-devが削除される

業務でubuntu:18.04イメージをベースとしたコンテナを使っていた時に、困った現象に出会いました. それはlibmysqlclient-devをインストール後、nodejsとnpmをaptでインストールするとlibmysqlclient-devが削除されるという現象です. 結論としては、 libmysql…

MacでネットワークのDNSサーバを変更する

新しいMacのセットアップや、ネットワークの追加した時にDNSサーバを変更する時があります. その時のセットアップを楽にするためにスクリプトを書きました. Gistにアップロードしてあるので、具体的なスクリプトをそちらを参照してください. コマンド各種 dn…

conftestを使ってDeploymentにrequests,limitsが指定されているかをチェックする

最近は、プライベートでも仕事でもKubernetesのマニフェストを書いていることが多くなってきました. 今回は「Deploymentのコンテナにrequests,limitsが指定されていること」をconftestというツールを使ってチェックする際のポリシーをメモしておきます. # re…

自宅k8s環境向けにownCloudのマニフェストを書く

週末に自宅で動かしているownCloudを、Kubernetesに乗せるためにマニフェストを定義していた. 私用用途なのでPV使うまでもないかなとhostPathを使ったり、ラベルの指定もまばらで規則性がないので気が向いた時に直しておきたい. マニフェスト ira-apps/owncl…

tmuxのステータスラインにk8sのvwntextとnamespaceを表示する

複数のk8sクラスタに接続する頻度が増えてきたので、現在どのコンテキストへ接続しているのかが分かりやすくtmuxのステータスラインに表示するようにしました. この画像で言えば(kind-ira/owncloud)が、それぞれ現在選択するContextとNamespaceです. 実際の…

Lambdaの関数名とランタイムの一覧を取得する

今朝、Lambdaの関数名とランタイムの一覧を取得するPythonスクリプト書いたので貼っておきます. シェルの実装でも良かったが、これをベースに他のスクリプトを組む予定なのでboto3で実装してみました. #!/usr/bin/env python3 import json import boto3 def …

某社SREとしての1年間

これはSRE Advent Calendar 20195日目の記事です. 一昨日、6Vメタモンを入手することができてホクホク顔の@corrupt952です. 技術的なことは他の方が書いてくれると思うので、某社SREとして過ごしてきた約1年間の話を簡潔に書きます. SREに興味ある人や某社SR…

InkdropからBoostnoteに乗り換えた

1年半程度はInkdropでブログの下書き・メモ・議事録の下書きをしてきましたが、 Inkdropである必要がなくなってきたので一旦Inkdropを解約してBoostnoteに乗り換えました. メモ書きツールに求めるモノ khasegawa.hatenablog.com 以前書いた記事をベースにメ…

The Twelve-Factor Appをベースにしたチェックリストを作りました

最近の仕事では、コンテナ化を推進しています. あるサービスをコンテナ化するにあたって、参考にされるのはThe Twelve-Factor Appですが、原文でも邦訳でも各項目の解釈しづらいです. そこでもう少し抽象度を下げたチェックリストを書きました. Containeriza…

aws ssm start-sessionのラッパースクリプトを書きました

最近はsshではなくsession-manager-plguinを使い、Session Manager経由でインスタンス上で操作を行っています. ただsession-manager-pluginを使って接続する時はインスタンスIDを毎回指定するのが面倒だったので、 インスタンスIDの代わりにインスタンス名を…

ゼロトラスト超入門

同僚でもあるおかしんさんが技術書典で出していたゼロトラスト超入門を読んだ. 第1章 ゼロトラストとは 過去と比べてシステムの多様化が進んでおり、従来の境界モデルでの防御方法では現代におけるシステム利用やリスクへの対処として適切ではなくなってきた…

進化的アーキテクチャ 後半

khasegawa.hatenablog.com の続き 5章 進化的データ データベースのスキーマは、アプリケーションのクラスやクラス階層と同じで、具体的な物事を抽象化したものである. この物事に変化があったならば、スキーマも変更すべきである. そうでなければ、物事と抽…

進化的アーキテクチャ 前半

会社の福利厚生を利用して購入した進化的アーキテクチャを読んでいる. TL;DR 進化的アーキテクチャは、具体的なアーキテクチャを決める手法ではなく、継続的に変更可能なアーキテクチャを支援するための手法 漸進的な変更・適応度関数・適切な結合から構成さ…

開発合宿してきました

2/9~2/11の3連休は開発合宿と称した温泉旅行に行ってきました. 宿泊先は伊香保のホテル天坊で、ホテル内に飲み屋もあり、比較的宿泊しやすい施設だったと思います. いざ合宿 学生時代からの友人達との合宿だったので、がっつりとした開発合宿にはせず、開発…