dshimizu/blog

アルファ版

tfenv を macOS にインストールしつつ、内部の動きを見てみた

はじめに 今まで Terraform を、Terraform の Docker イメージをワンライナー的に使っていたけど、環境変数の扱いとかが面倒で一行が長い。というところでやっぱり tfenv が良さそうと思いつつまだ使ったことなかったのでとりあえず macOS にインストールす…

今更ながら「Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databases」 を読んで調べたことのメモ

Auroraのアーキテクチャとその設計上の考慮事項について書かれている論文が 2017 年に公開されている。有名なのでその時読まれた方も多いと思う。私はその時 Aurora を触ってなくて存在を知っていただけだったので今更ながら目を通してみた。 Amazon Aurora:…

Terraform 0.13 から 1.1 へアップグレードした

はじめに 個人プロジェクトだけども、いまだに Terraform 0.13 系を使っていたけどもう 1.1 まで出ているのでアップグレードしようと思ってやってみた。 0.13 から 1.1 へは直接アップグレードできず、段階的にアップグレードする必要があったのでその辺りの…

AssumeRole で Terraform を実行するための設定メモ

Terraform を実行する際に、踏み台となる AWS アカウントから AssumeRole で別の AWS アカウントに Terraform を実行するために必要な設定メモ。

Organization で複数の AWS アカウント利用時に他のAWS アカウントの IAM ロールに切り替えれるような IAM 設定を Terraform でやるときのサンプル tf ファイル

他の AWS アカウントの IAM ロールを使って操作できるよう IAM 設定を Terraform で行いたい。

個人用 AWS アカウントの CloudTrail を CloudFormation で雑に設定する

CloudFormation で CloudTrail を設定する。

Amplify で作成された Amazon OpenSearch Service に関して調べたことのメモ

Amplify で作成された Amazon OpenSearch Service に関するメモ書き。 特に何がどうということはなく、本当にただ調べたことのメモ。

AWS Budgets を設定して日々の利用料金が一定額を超えたら AWS Chatbot で Slack 通知させる CloudFormation テンプレートのサンプルを作ってみた

AWS Budgets を設定して、料金が一定額を超えたら AWS Chatbot で Slack へ通知させるような設定ができる CloudFormation テンプレートを作った。

macOS へ git-secrets をインストールする

AWS のクレデンシャル情報を誤って git に commit されるのを防ぐために、git-secrets を使う。 github.com

プロセスのメモリ使用状況を一括で取得するシェルスクリプトを作った

ps コマンドとか pmap とかでも出力されて大体の値を取得できるし、というか最近はモニタリングツールも充実しているし OS で細々みる事もないけど一応。 プロセスごとの smaps の値を集計しているだけ。

GitHub Actions を手動実行できるようにする

GitHub Actions を手動で実行したい、と思ったらできるようになっていた。 ワークフローの手動実行 - GitHub Docs

Bash 特殊変数のメモ

忘れるのでメモ。

zsh の設定ファイルに関するメモ

何となく .zshrc にまとめていたけど、どのファイルがどういう順番で読み込まれるのかわかってなかったので調べたメモ。 ドキュメントもある。 ZSH - Documentation man zsh でも見れる

Terraform の Docker イメージを使ってワンライナーで実行する

環境変数をセットするのが面倒なので以下で1発で実行できるけど長いのが微妙。 profile や terraform コマンドのオプションなどは実行環境に応じて使い分ける。 % docker run -i --rm -v $PWD:/work -w /work -e AWS_ACCESS_KEY_ID=$(aws --profile terrafor…

Multi-Process Service (MPS) Docker コンテナのサンプルを Amazon EC2 の GPU インスタンス(g4dn.xlarge)で動かしてみた

MPS は 1 つの GPU で複数のプロセスを並列で効率的に実行できるようにするための技術。 EC2 で利用できる GPU インスタンスの安価なものだと搭載されている GPU 数が 1 つしかないので、GPU を使うコンテナの処理を MPS を使って複数実行できないかな、と思…

ブログ記事を WordPress から移行した

自前で WordPress をホストしていたけど、メンテナンスが面倒になってきたのではてなブログへ記事を移行した。 WordPress の記事エクスポート機能でデータを取得して、はてなブログ側のインポート機能で取り込めば概ねOKだったので楽だった。

Go の http パッケージに関するコードを何となく読んでみた時のメモ

Go の http パッケージを使って HTTP Server を作るに当たっていろいろな書き方があるけど、例えば以下のようなコードを書いたとき、登場するの関数が何をしているのかあんまりわかっていなかったので調べた。

開発用に雑な Ubuntu コンテナを作成する

開発用に雑な Ubuntu コンテナを作成する。

IAM ユーザー・グループ・ロール・ポリシーからどの AWS リソースへアクセスしているのか確認する時のコマンドメモ

元ネタは、結構前に流れてきたこちらのツイート。 1/ Hey all! If you were watching #containersfromthecouch earlier today, I mentioned an aws cli command that you can run to get insight into what #AWS resources were accessed from a particular …

PostgreSQL のトラブル時に使うクエリなどのメモ書き

最近 PostgreSQL で動いているシステムに携わるようになって、しばらく MySQL ばかり触っていたので、PostgreSQL の障害調査の時とかに四苦八苦するので、使えそうな SQL とかコマンドの類をメモとして書いておく。

Terraform 0.12 から 0.13 へバージョンアップした

Terraform 0.13 がリリースされて 1 ヶ月ほどたったので、今使っている 0.12 を 0.13 へバージョンアップした。 Upgrading to Terraform v0.13 - Terraform by HashiCorp

ISUCON 10 予選に参加して惨敗した

ISUCON 10 予選に参加して惨敗した。今回も自分はインフラ担当だった。

Serverless Framework で Context object not passed to lambda handler

Serverless Framewokr で Python の Lambda 関数を作成していたら以下のエラーが発生した。 "errorMessage": "Bad handler 'lambda_handler': not enough values to unpack (expected 2, got 1)" "errorType": "Runtime.MalformedHandlerName"

AWSの請求情報をSlackに通知するLambda関数をGolangで書いてみた

Go を勉強しているので、AWSの請求情報をSlackに通知するLambda関数を Go で書いてみた。

DockerでPythonの実行環境を作る

DockerでPythonの実行環境を構築してみる。 Pythonのアプリケーションを動かすというよりは、Dockerコンテナ内でPythonを使ってちょっとしたスクリプトとかを作ったり動かせるようにする、という程度のものを作る。 類似の記事は色々あると思うが自分用メモ…

Control groups、Namespace、Capabilitiesを使ってコンテナを作って実行してみる

コンテナの仕組みについての学習の一貫で、以下の記事を読みながらControl groups、Namespace、Capabilitiesを使ってコンテナを作って動かしてみる。 コンテナ技術入門 - 仮想化との違いを知り、要素技術を触って学ぼう - エンジニアHub|若手Webエンジニア…

Terraformでパスワードやシークレットキーを設定したIAMユーザーを作成する

Terraformでパスワードを設定したIAMユーザーを作成するのにPGP公開鍵が必要だったのでやり方のメモ。 流れは以下のような形だと思う。 PGPの公開鍵と秘密鍵のペアを作成する Terraformのaws_iam_user_login_profileやaws_iam_access_keyのResourceのpgp_key…

DockerでGoの実行環境を構築する

DockerでGoの実行環境を構築してみる。 Goのアプリケーションを動かすというよりは、DockerでGoのちょっとしたスクリプトを作って動かせる、という程度のものを作る。

AWS CLI v2 のDockerイメージを使ってみる

AWS CLI v2 のDockerイメージがAWSから公開された。 AWS CLI v2 Docker image | AWS Developer Blog

GoのTimeパッケージの日時フォーマットを指定するときは「2006年1月2日15時04分05秒」の日時を利用する必要があった

GoでTimeパッケージを使って日時のフォーマットを変更するときの形式は決まっていたのでメモ書き。