Post

2021-06-05 01:30:47

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

概要たまに混乱するので用語集としてメモ。 用語フェイルセーフ障害が発生したら安全な状態に移行する仕組み。 フェイルオーバー稼働中システムに障害は発生したら代替のシステムに自動的に機能を引き継ぎ、処理を続行する仕組み。 フェイルバック代替システムから元のシステムに処理を引き継いで元の状態に戻すこと。フェイルオーバーの逆。 フェイルソフト障害が発生したら障害箇所を取り除き、影響範囲を狭めて運転を継続すること。 フォールトトレラント障害が発生したら代替システムに切り替えたりすることで正常稼働状態を維持すること。 フォールトアボイダンスシステムの故障や障害が生じないように原因となる養素排除する考え方。...

インフラストラクチャ

No Tags.

2021-06-01 21:46:02

Gitでcommitを分割する方法

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

アプリケーション

Git

2021-05-06 15:44:05

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

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

インフラストラクチャ

Docker Docker Compose

2021-05-04 12:54:31

徹底攻略 AWS認定 ソリューションアーキテクト – アソシエイト教科書 徹底攻略シリーズ

徹底攻略 AWS認定 ソリューションアーキテクト – アソシエイト教科書 徹底攻略シリーズ 第1章 AWSサービス全体の概要 第2章 AWSにおける高可用アーキテクチャ 第3章 AWSにおけるパフォーマンス 第4章 AWSにおけるセキュリティ設計 第5章 AWSにおけるコスト最適化 第6章 AWSにおける運用管理 第1章 AWSサービス全体の概要 AWS Well-Architectedフレームワーク 運用上の優秀性 セキュリティ 信頼性 パフォーマンス効率 コスト最適化 リージョン 地理的に離れた領域のこと AZ リージョン内にある複数のデータセンターの集合体 高可用性の実現...

AWS

2021-04-06 23:53:16

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

概要TerraformとAnsibleを使ってKubernetes環境構築に取り組んだ。 自作アプリの運用をKubernetesに乗っけてみたいという気持ちから環境を構築するところから初めてみた。 サーバー選定プライベートでの開発なので、せいぜい月2000円前後くらいの予算に留めたいところ。 クラウドかVPSか、マネージドか、ノンマネージドかといったところが大きな観点だが、そのへんはコスト感と運用メリットを考慮しつつ決めれば良いのでそんなに悩まないと思う。後述するが、一番の悩みのタネはロードバランサーだった・・。 今回候補に上がったのは3つ。 GCP GKE そのまま使うとクラウド破産・・とま...

インフラストラクチャ

Ansible Kubernetes Terraform kubeadm

2021-03-17 21:39:16

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

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

アプリケーション

GCP Golang Spanner

2021-03-07 02:04:29

DigitalOceanでマネージドKubernetesを使ってみる

DigitalOceanでマネージドKubernetesを使ってみるプライベートの開発で学習も兼ねてk8sを利用したく、色々検討した結果、DigitalOceanが良さそうだったので、利用してみた。 www.digitalocean.com - The best managed Kubernetes service is the one that’s made for you 新規に始める場合は、プロモリンクやクーポンを使うと良いと思う。 自分はプロモリンクから登録するのを忘れて最初クレジットをもらい損ねたが、問い合わせしたら良きに図らってもらえた(クレジットもらった)。ありがたや。 一応リフ...

インフラストラクチャ

Kubernetes VPS DigitalOcean

2021-02-08 16:51:08

goのspannerクライアントのReadOnlyTransactionでハマった

概要pkg.go.dev - cloud.google.com/go/spannerでReadOnlyTransactionを使ったときにハマったところについてメモ。 何が起きたか?数万件のデータを複数回のリクエストに分けて処理するようなバッチ処理のコードを書いていた。ReadOnlyTransactionを使った処理を以下のように書いていた。  for { // 〜略〜 // cは*spanner.Client iter := c.ReadOnlyTransaction().Query(ctx, stmt) defer iter.Stop() /...

アプリケーション

GCP Spanner

2021-01-03 19:21:50

2020年の振り返りと来年の抱負

2020年の振り返りと来年の抱負年明けてしまったが書いておく。2020年は毎月振り返りのようなことをTrelloベースでやっていたので、書くつもりはなかったが、文字起こししておきたいことがあったので書く。 今年の振り返り去年のやつ。bmf-tech.com - 2019年の振り返りと来年の抱負 結構ざっくりした内容でこれを見ても何のコメントも浮かばないが、去年計画していたことはTrelloにすべて落としこんでいたので、振り返りはTrelloで完結するようになっている。 というわけでTrelloを見つつ、2020年やれたことを振り返ってみる。 アプリケーションURLルーターをつくった。趣味だが、...

ポエム

No Tags.

2020-12-20 00:20:51

TerraformとAnsibleを使ってVPSを構築する

概要この記事はMakuake Advent Calendar 2020の20日目の記事です。 TerraformとAnsibleを組み合わせてVPS上でサーバー構築をしてみたのでその手順をまとめておこうと思います。 動機趣味で開発しているアプリケーションのインフラ環境をIaCで整備したかったので、勉強を兼ねてTerraformを使ってみました。 環境 Terraform v0.14.0 Ansible 2.9.10 ConoHa VPS macOS Catalina 10.15.5 ローカルでTerraformを実行してConoHa VPSにサーバーを建てたり、壊したりします。 OpenSt...

インフラストラクチャ

Ansible VPS OpenStack Terraform