記事

AWS認定ソリューションアーキテクトアソシエイトを受験した

インフラストラクチャ

概要AWS認定ソリューションアーキテクトアソシエイトを受験して合格したので取り組んだことなどを記録しておく。 前提自分について。ソフトウェアエンジニアとして5年目くらい。AWSは会社で利用しており、普段から触る機会はあるが、設計とかはあまりやっていない。(やりたい) モチベーションクラウドの知見が足りないことを自覚(クラウドを使ったアーキテクチャを自分で考えるときに、自分の引き出しが少ないと感じた...

AWS

GolangのHTTPサーバーのコードリーディング

アプリケーション

概要 Goでrouterを作ったときにHTTPサーバーのコードの内部を読んだので、その時のメモ。 github.com - bmf-san/goblin HTTPサーバーのコードリーディング 基本形 Goに入門したとによく見るであろう形のコード。 色々なものが省略されてこの形になっている。 package main import ( "net/http" ) fun...

Golang コードリーディング

AWSサービスの種類ーAZ・リージョン・グローバル

インフラストラクチャ

概要AWSの代表的なサービスの分類をメモ。 AZサービス サブネット(複数AZにはまたがらない) NAT ネットワークACL EC2インスタンス RDSインスタンス Elastic Cache Elastic File System Elastic Load Balancing EBS Volume Redshift リージョンサービス VPC(複数のAZにまたがることができる) セキュリティグ...

AWS

AWSのARNを覚える

インフラストラクチャ

AWSのリソースネーム(ARN)の形式を忘れないようにメモ。 arn:partition:service:region:account-id:resource-id arn:partition:service:region:account-id:resource-type/resource-id arn:partition:service:region:account-id:resource-ty...

AWS

自作ルーティングをアップデートした

アプリケーション

概要最近、自作ルーティングのgoblinをアップデートしたのでその記録を書き残しておく。 以下は過去ルーティングについて書き残した記事。他にも実装検討フェーズの記事があるが、内容があまり良くないので割愛。 URLルーティング自作入門 エピソード1 URLルーティング自作入門 エピソード2 GolangのHTTPサーバーのコードリーディング Introduction to URL router f...

Golang OSS router

フから始まるシステム障害関連用語

インフラストラクチャ

概要たまに混乱するので用語集としてメモ。 用語フェイルセーフ障害が発生したら安全な状態に移行する仕組み。 フェイルオーバー稼働中システムに障害は発生したら代替のシステムに自動的に機能を引き継ぎ、処理を続行する仕組み。 フェイルバック代替システムから元のシステムに処理を引き継いで元の状態に戻すこと。フェイルオーバーの逆。 フェイルソフト障害が発生したら障害箇所を取り除き、影響範囲を狭めて運転を継続す...

Gitでcommitを分割する方法

アプリケーション

概要commitを分割したいときの手順についてメモ。 手順# 分割したいところを指定してrebase。対象のcommitをeditにする。 git rebase -i HEAD~5 # unstageする git rebase HEAD~ # unstageしたものを分割したい粒度で再commitする。 git add & git commit # commitが完了したらrebas...

Git

Docker CLIでDocker Composeが使えるようになった

インフラストラクチャ

最近のアップデートでDocker CLIがDocker Composeをサポートするようになったらしい。 cf. docs.docker.com - Compose CLI Tech Preview Tech Previewなのでまだプロダクションでの利用推奨されていないとのこと。 互換性についてはこちら。docs.docker.com - Compose command compatibilit...

Docker Docker Compose

TerraformとAnsibleを使ってKubernetes環境構築

インフラストラクチャ

概要TerraformとAnsibleを使ってKubernetes環境構築に取り組んだ。 自作アプリの運用をKubernetesに乗っけてみたいという気持ちから環境を構築するところから初めてみた。 サーバー選定プライベートでの開発なので、せいぜい月2000円前後くらいの予算に留めたいところ。 クラウドかVPSか、マネージドか、ノンマネージドかといったところが大きな観点だが、そのへんはコスト感と運用...

Ansible Kubernetes Terraform kubeadm

golang-migrateを使ってspannerのDBマイグレーションをする

アプリケーション

概要 spannerのDBマイグレーションで、golang-migrateを使ったのでメモ。 使い方 dockerで使う想定。 dockerではなくバイナリで実行していたが、ホストマシンのopensslのバージョンに依存して動作しない可能性あるようなので、コンテナ実行が無難だと思う。 MIGRATE_VERSION='v4.14.1' docker run -v /migra...

GCP Golang Spanner