Post

New!

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

2020-11-14 14:20:07

docker-compose.ymlで指定した環境変数がコンテナビルド中に参照できない

概要docker-compose.ymlのserviceの1つにenv_fileを指定し、環境変数を設定したが、サービスがbuildするコンテナ内(Dockerfile側)では参照できなかった。vueのアプリケーションをコンテナ内でnpmを使ってビルドしており、アプリケーション側でprocess.env.VUE_APP_API_ENDPOINTという形でアプリケーションのビルド時に環境変数を参照させたかった。 解決策docker-compose.ymlで指定するenv_fileやenvironmentといったキーはコンテナのビルド後に参照できるようになるため、それらのキーを利用するだけではコン...

インフラストラクチャ

Docker Docker Compose

2020-11-05 00:37:56

認証・認可の基本

概要最近認証サービスの開発に携わっているので今一度基本的なことを再確認しておく意味でまとめる。 Software Design 2020 11月号の認証・認可の特集を参考にしている。 IDと認証・認可の関係性 ID Identity(身元) システム利用のための管理単位 ex. ユーザー、モノ、組織 etc... Identifier(識別子) データとして管理される単位 ex. SasS・SNS・他サービスなどで管理されるユーザーID Attribute(属性) Identifierを構成するそれぞれの情報 ex. Identityが人、Identifierがtaro_yam...

アプリケーション

FIDO IAM LDAP OAuth OpenIDConnect SAML SSO 認可 認証

2020-11-02 15:25:52

ネットワーク用語まとめ

概要ネットワークに関して知識が曖昧なワードをまとめる。 IPv4 Internet Protocol version 4 IP(Internet Protocol)の一種 OSI参照モデルにおいてはネットワーク層に位置づけられるプロトコル 32ビットのアドレス空間を持つ 2の32乗=42億9496万7296個がIPv4のIPアドレス総数 インターネットの普及とともに枯渇してきた cf. wikipedia -IPv4 jprs.jp - 用語辞典 IPv4 IPv6 Internet Protocol version 6 IP(Internet Protocol)の一種 OSI参照モ...

ネットワーク

No Tags.

2020-10-30 02:49:52

ISUCON環境で学ぶシステムメトリクス入門

概要 ISUCON環境を利用してシステムメトリクスをちゃんと見れるようなろうという勉強会を定期的に行っているので、そのまとめを残す。 Webエンジニアが知っておきたいインフラの基本 インフラの設計から構成、監視、チューニングまでを参考図書とし、第5章以降の内容を実際に手を動かして確認するような形で行っている。 環境はConohaでISUCON8のイメージを利用してサーバーを立てている。 プラン:メモリ 512MB/CPU 1Core [root@160-251-16-96 ~]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (C...

インフラストラクチャ

ISUCON