Post

インフラストラクチャ

2022-01-18 00:13:33

legoでLet's encryptのSSL証明書をDNS-01方式で取得する

Conoha VPSでAnsibleを使ってLet's EncryptのSSL証明書の取得を行おうとしていた。 証明書の取得はDNS-01方式(ドメインのTXTレコードに認証局が発行したワンタイムトークンを登録して検証する)で取得したかったので、ConohaのAPIを使って、TXTレコードを登録、削除するようなスクリプトを組んで対応(cf. github.com - k2snow/letsencrypt-dns-conoha)していたが、スクリプトの管理が面倒だったので、もっと単純なやり方を模索していたところ、go-acme/legoというLets' Encryptのクライアン...

インフラストラクチャ

Let's Encrypt

2021-12-18 04:11:49

コンテナで始めるモニタリング基盤構築

この記事はMakuake Advent Calendar 2021の17日目の記事です。 気づけば入社して丸3年が経ち、会社のアドベントカレンダーも3回目の参戦です。 ここ1年はRe-ArchitectureチームというMakuakeのサービス基盤の開発・運用を行うチームに所属し、色々と奮闘してきました。 来年もきっとあれこれと奮闘するでしょう。 Re-Architectureチームの求人はこちら。【Go/マイクロサービス】「Makuake」の基盤を刷新するRe-Architectureチームのエンジニア募集! さて、今年の一本目の記事(24日にもう一本かく、たぶん)は「コンテナで始めるモニタ...

インフラストラクチャ

Docker Docker Compose elasticsearch grafana kibana prometheus cadvisor efk fluentd node-exporter

2021-10-20 23:14:19

ECS on Fargate環境でDatadog APMを導入

概要ECS on Fargate環境でDatadog APMを導入したときの雑メモ。 PHPコンテナイメージの調整php-fpmのイメージをベースとしたカスタムイメージを使っている。datadog-php-tracerをが必要なので以下のような感じでイメージに組み込んでいる。 ENV DDTRACE_VERSION=0.65.1 RUN curl -Lo datadog-php-tracer.apk https://github.com/DataDog/dd-trace-php/releases/download/${DDTRACE_VERSION}/datadog-php-tracer_$...

インフラストラクチャ

AWS Datadog ECS Fargate

2021-08-10 23:11:39

New RelicとDatadog APMの比較

概要New RelicからDatadog APMへの乗り換え検討時に機能比較をしたのでメモ。 ※APM以外の部分も含めている。 比較 New Relic Datadog 比較 サーバー監視 クラウド、コンテナ、OS、ミドルウェア、ネットワーク、OSS等のメトリクス収集可能CPU、メモリ、ストレージ、ネットワーク、プロセス等のメトリクス収集可能 New Relicと同等なので割愛 特に差はなさそう。 アプリケーション レスポンスタイム、スループット、エラー率トランザクションスレッドプロファイルクロスアプリケーショントレーシングトランザクション分析サービスマップ外部サービスのパフ...

インフラストラクチャ

APM Datadog New Relic

2021-07-18 21:20:18

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

概要AWS認定ソリューションアーキテクトアソシエイトを受験して合格したので取り組んだことなどを記録しておく。 前提自分について。ソフトウェアエンジニアとして5年目くらい。AWSは会社で利用しており、普段から触る機会はあるが、設計とかはあまりやっていない。(やりたい) モチベーションクラウドの知見が足りないことを自覚(クラウドを使ったアーキテクチャを自分で考えるときに、自分の引き出しが少ないと感じたり、理解が浅い状態で使っているサービスがあったり..などなど)していたので、ちゃんと時間を使って勉強する機会を作ろうと考えていた。 単なる暗記試験ではなく、実務にも十分有益な学習ができると感じたので受...

インフラストラクチャ

AWS

2021-06-23 23:31:33

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

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

インフラストラクチャ

AWS

2021-06-23 00:06:43

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-type:resource-id Apsrairr 最後のrは/か:。 cf. Amazon リソースネーム (ARN)

インフラストラクチャ

AWS

2021-06-05 01:30:47

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

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

インフラストラクチャ

No Tags.

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-04-06 23:53:16

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

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

インフラストラクチャ

Ansible Kubernetes Terraform kubeadm

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

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-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

2020-10-20 01:20:34

Kubernetesドキュメントのリーディングーコンセプトのまとめ

概要Kubernetesを本格的にキャッチアップしていくためにドキュメントを読んだので、オレオレメモを残す。全部は長いのでメモ書きはコンセプトの章だけにする。 kubernetes.io Kubernetesとは何か?cf. Kubernetesとは何か? Kubernetesとは何か? 宣言的な構成管理 自動化の促進 コンテナ化されたワークロードやサービスの管理のためのプラットフォーム 過去を振り返ってみると 仮想化ができる前の時代におけるデプロイ (Traditional deployment) 物理サーバー上でのアプリケーションのリソース制限がない リソース割当問題がある スケール...

インフラストラクチャ

Docker コンテナ Kubernetes

2019-09-27 09:21:33

DockerのOperation not permittedというエラーに対応する

概要Docker Composeを使ってgolangのtest実行していたら、Operation not permittedというエラーに遭遇した。 対応Docker Documentation - runtaime-privilege-and-linux-capabilities Dockerコンテナの特権設定をいじると解決する。 gobel_test_db: container_name: "gobel_test_db" build: ./docker/mysql ports: - "3305:3306" volumes: - m...

インフラストラクチャ

Docker Docker Compose Linux linux capabilities seccomp

2019-09-17 23:39:28

Mackerelで監視対象から外れたホストを再度復帰させる方法

概要Mackerelの監視対象から誤ったホストを退役させてしまったり、意図せず監視対象から外してしまったときなどに復帰させる方法についてメモっておく。 手順mackerel-agentを再起動しても自動で復帰しないのでホストに割り振られたhostIdを更新させる必要がある。 service mackerel-agent stop cd /var/lib/mackerel-agent mv id /tmp/ service mackerel-agent start 所感たまに焦るので気をつけたい...

インフラストラクチャ

Mackerel

2019-09-17 23:33:59

Dockerizeを使ってDocker Composeのコンテナの起動順を制御する

概要Dockerizeを使ってDocker Composeで起動するコンテナの順番を制御する方法についての覚え書き。 github.com - jwilder/dockerize なぜDockerizeを使うのかDockerizeではなく、wait-for-it というピュアなbash scriptを使った方法も採用することもできる。 cf. Docker-docs-ja - Compose の起動順番を制御 Dockerizeを使う目的は複数コンテナを起動する際、コンテナの起動順を意図的に制御したいようなときである。 例えば、アプリケーション用のコンテナとテスト用のデータベースコンテナがあっ...

インフラストラクチャ

Docker Docker Compose Dockerize

2019-04-28 14:59:08

dockerでイメージとコンテナを削除してもボリュームが消えていなかったときのメモ

概要dockerでコンテナとイメージを削除してもvolumeが削除されていなくてちょいちょい忘れてハマるのでメモっておく。 普段は、docker-composeを使っている。 docker-compose builddocker-compose up -d して、 docker rm **docker rmi ** という感じにお片付けしているのだが、どうやらマウントしているvolumeを削除するオプションがあったらしい。 対応ボリュームが残っているか確認。docker volume ls docker volume rm ** 余談docker-composeでdocker-compose....

インフラストラクチャ

Docker Docker Compose

2019-04-20 23:07:42

ubuntu初期設定メモ

概要ちょいちょい忘れてるのでメモ。不足があれば随時追加。 環境 ConoHa ubuntu 18.04.2 LTS (Bionic Beaver) 準備ubuntuインストール&rootログイン確認conohaでubuntuサーバーを用意し、rootログインできることを確認しておく。 ssh用の鍵をクライアント側で用意する秘密鍵と公開鍵を作成。 ssh-keygen -t rsassh root@<ip address> セットアップサーバーアップデートアップデートしておく。 sudo apt update && sudo apt upgrade -y ユ...

インフラストラクチャ

Ubuntu