Post

インフラストラクチャ

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

2019-01-16 10:06:19

コンテナ技術概要

概要コンテナ技術についてのまとめ。Dockerを使わずにコンテナをつくって触ってみる。 コンテナとは ホストOSからアプリケーションとランタイムをまとめて、分離した一連のプロセス。 コンテナの歴史1979年 UNIX OSにchrootが登場。 2000年 FreeBSD jailsがFreeBSD 4.0に登場。chrootの発展系。 2001年 VServer Projectを通じてLinuxにもLinuxコンテナのベースとなる技術が登場。 2004年、LXC1.0がリリース。Linux Containers 2008年、Dockerが登場 コンテナ技術は上記以外にもVirtuozzo、...

インフラストラクチャ

Docker libcontainer lxc lxd コンテナ

2018-10-22 20:10:07

DockerでElasticsearchとKibanaの環境構築

概要ElasticSearchについての説明とDockerでの環境構築についてざっくりとまとめる。 ElasticSearchとは 分散型RESTful検索/分析エンジン 全文検索だけでなく、分析もできる ほぼリアルタイムの検索プラットフォーム クラスタ データ全体をまとめて保持する1つ以上のノード(サーバー)のコレクションのこと 全てのノードに渡って統合されたインデキシング機能と検索機能が提供される ノード データを保存するクラスタに含まれる1台のサーバー Dockerで環境構築ElasticsearchとKibanaが使える環境を構築する。 docker-compose.ym...

インフラストラクチャ

elasticsearch kibana

2018-09-18 19:21:11

ssh接続セットアップメモ

概要ssh接続のセットアップ方法についてメモ。 準備 サーバーに接続してwheelグループに所属するユーザーを作成しておく 手順ホスト側~/.ssh/にてssh-keygenで公開鍵・秘密鍵を作成。ここでは公開鍵をid_rsa.pub、秘密鍵をid_rsaとして作成する。 公開鍵の中身をコピーしておく。 ~/.ssh/にてconfigファイルを作成しておく。 Ex. Host bmf HostName 123.45.679.012 User bmf Port 22 IdentityFile ~/.ssh/id_rsa サーバー側~/.ssh/が存在しない場合はディレクトリを作成する。パ...

インフラストラクチャ

ssh sshd

2018-09-15 23:53:28

PrometheusとGrafanaでリソース監視環境を整える

概要PrometheusとGrafanaでリソース監視の環境を構築したのでメモ。 環境 さくらVPS CentOS7系 PrometheusをインストールPrometheus - Getting Startedに従ってprometheusをダウンロードする。 ダウンロードしたらprometheusを起動、ダッシュボードにアクセスできることを確認しておく。 ポートが開放されていない場合は開放しておく。 node_exporterをインストールPrometheus - node_exporter からnode_exporterをダウンロード。 こちらも起動しておく。 ポートの確認も同様。 Pro...

インフラストラクチャ

prometheus grafana