JavaScriptをがんばるブログ

React,OSS,ソフトウェア開発が中心のブログです👨‍💻

infrastructure

「systemd実践入門」の読書記録

Software Design 2018年2月号の特集「systemd実践入門」の読書記録です。 systemdとは何か? Linuxで使われているブートシステム。ユーザーランドのプロセス起動とマネジメントを行う。 systemdはLinuxの起動システムであるUpstartやSysVinitの代替として2010…

SRE(Site Reliability Engineer)ってなんだ?

これまで「インフラエンジニア」と呼ばれていた職種を近年「Site Reliability Engineer」と扱う事例が増えてきましたよね。 Googleが提唱した「モダンなインフラエンジニアの呼び方」くらいの認識しか無かったので具体的にどんな職種なのか、メルカリのエン…

Packer + Docker + Ansibleでハマる

Packer + Ansible + Dockerの組み合わせは茨の道 Scalaが動くDockerコンテナを作りたくてトライしてみました。 rebuild.fm 167でもDockerfileを使いたくないという話がポロっと出ていましたが、 rebuild.fm 私もインフラのセットアップは愛用しているAnsible…

packerでdockerイメージbuild中にaptエラー

技術メモです。 環境 docker 1.12.3 packer 0.10.0 OSX 10.11.6 packer設定ファイル // packer.json { "variables": { "docker_image": "ubuntu" }, "builders": [{ "type": "docker", "image": "{{user `docker_image`}}", "commit": "true" }], "provision…

【日記】ここ一週間で気になったこと 2016/04/21

terraform chef/ansibleなどにはマシンの設定を記述し、terraformはクラウドインスタンスの利用構成を制御するという役割分担なのかな / “ヌーラボのインフラ運用最前線 2015 〜Terraform による AWS の構成…” https://t.co/oXjJqDgekG— Ryota Murakami@高等…

linux: 登録されたユーザーの確認

cut -d: -f1 /etc/passwdと打つとユーザーの一覧のみを確認出来る。 linuxでは/etc/passwdというファイルにユーザー情報が保存されている(グループ、ホームディレクトリ情報なども含む) /etc/passwdの例 root@ubuntu:~# cat /etc/passwd root:x:0:0:root:/ro…

DNSラウンドロビンってどうやってセッションを維持しているんだろう?

ロードバランスの手法の一つにDNSラウンドロビンというものがあります。 同じFQDN(www.sample.comなど)のAレコードに複数のIPアドレスを割り振り、 クライアントごとに解決するIPを変える事でアクセスを分散させる手法のようです(`・ω・´)” 参考記事 www.in…

Amazon EC2 Container RegistryとDocker Hubの料金比較

dockerのprivate repositoryの料金について、 1GBのコンテナを3つ運用していると考えて Amazon EC2 Container Registry Docker Hub の2つを試算してみた。 Amazon EC2 Container Registry 料金 - Amazon EC2 Container Registry | AWS ストレージ 月 500 MB …

.ssh/configのProxyCommand、及びSSHの多段接続

凄く良い記事を見つけたので記念カキコφ(・ω・ )かきかき ProxyCommandによるsshの多段接続について -- ぺけみさお # .ssh/config Host target.host Port 80 ProxyCommand ssh -W %h:%p middle.host ProxyCommandは目的のリモートサーバへ接続するにあたり、…

sed置換の基本

sedはStream EDitorの略で、 文字列の置換や抽出、削除などテキスト処理を行うコマンドです。 以下は文字列の置換の最も基礎的な使い方です。 前提知識 | パイプと読む。標準出力を次のコマンドに渡す。 sed -eオプション 後に続くコマンドを実行する(多分ex…

Webアプリサーバの大まかな設定の流れ ※随時更新

WebAppサーバを準備する時に迷わないよう、 大枠の手順をまとめておきたかったので。 linuxの初期設定 hostnameのセット timezoneの設定 aptでcurl、wget、libapr1-devなどの基本ツールのインストール ユーザー、グループ、authorized_keyの登録 sshd_config…

シェルスクリプトの最後に「exit 0」を書くべきか迷った

シェルコマンドが終了したとき、終了ステータスというパラメータが評価されます。 0が正常終了で1が異常終了です。 終了ステータス - UNIX & Linux コマンド・シェルスクリプト リファレンス シェルスクリプトを書くとき、エラーなど正常終了以外の場合はexi…

Terminal.appユーザーだと.bashrcは不要?

bashの設定について、 調べると上の方に出てくる解説記事の方法をよく理解しないままホームディレクトリに.bashrcを置いて.bash_profileに読み込ませる方法を取っていた。 .bash_profileと.bashrcの使い分けについて調べると、 bashコマンド経由でコマンドを…

Linux標準教科書ver2.0.0 第1章 Linuxとは(2)

前回 malloc.hatenablog.jp 今回はUNIXの誕生からはじまります。 Ken Thompson氏は今日のwebインフラ創世神の一人と言っても過言ではないと思いますが、 最近になってもgolangの開発に携わっていて、まだまだ現役なんですよね。 OSの作り手としてコンピュー…

Linux標準教科書ver2.0.0 第1章 Linuxとは(1)

1.1 基本ソフトウエアと応用ソフトウエア 動作しているコンピュータには大きく分けて2つの部分がある ハードウェア ソフトウェア ハードウェア = コンピュータの機械そのもの ソフトウェア = ハードウェアで動作しているプログラム ソフトウェアにも大きく分…

無料で読めるLinux標準教科書が良さげ

LPI-Japanが無料でPDFを配布しているLinux標準教科書。 www.lpi.or.jp LPIといえばLinux試験のLPICを実施しているので、試験対策用のテキストなのかと思いやそうではなく、 あくまで初級者がLinuxを学習するために学校、企業で広く使用してもらうための教科…

日記: シェルスクリプトについてググったページの知らない記号の記法をまたググるのつらい((´д`))

シェルスクリプトってバージョンアップに振り回されない平和な言語だから昔の記事も参考になる(*^ω^) symfony findAll()でlimitをかける方法 symfony2 - Doctrine :FetchAll() with limits - Stack Overflow twigでdatetimeオブジェクトを文字列にする方…

日記: XAMPPやめました

ローカル開発自体流行ってないぽいけど、vagrantでVM立てるよりパフォーマンス良いし個人で開発するならローカルもなかなか。 程の良いdockerコンテナを作るまではローカルで全然OK。 昨日からsymfony(doctrine)のテーブルスキーマ生成コマンドが上手くmysql…

日記: まいにち bundle update

久々にruby on railsを触りたくなったので、railsで作っているblogのCIを高速化するためtravis.ymlにbundle installをcacheする設定を追加したり、minitestの勉強をしました。 後はlocalのgemを掃除して、必要なgemはプロジェクトごとのGemfileに記述するよ…

日記: ansible meetup 2015に参加しました

会場はrebuild meetupでも使われた日経カンファレンスルーム 丸の内の雰囲気を引きずった大手町駅の近くに日経ビルはあるのですが、 読売新聞の本社もあったり、結構お堅い町だなぁと道中感じていました。 キレイでしたけどね。 ドットインストールのansible…

ヘルシープログラマ購入

日経ソフトウェアを買いに行ったらオススメコーナーにあったので買ってしまいました(/^▽^)/ 技術書購入。ヘルシープログラマほか(^o^) 安全な通信を確保するSSl/TLSの教科書という特集が気になってsoftware designも買ってしまった... 今日はふつうのブログ…

node.jsの利点(と学習備忘録)

node.jsとapacheを比較した際のメリット プロセス数の削減(リクエスト数分) メモリの削減(リクエスト数分) メインルーチンでI/O待ちをしない 現状分かったのはこれくらいですかね、 一つのマシンで生成出来るスレッド数に上限は無いのかが疑問ですが。 [Node…

【linux】プロセスを殺す操作周り ~ps grep kill~

プロセスを殺すには ps コマンドからPID(プロセスID)を取得して、 kill -9 PID を行う必要がありますが、 ※「-9」は「Killシグナルによるプロセスの終了」のシグナルを送信している psコマンドの結果から停止したいプロセスのPIDのみを抽出できないか? 調べ…

【AWS】Nginx+Unicornでrailsが動きました

参考にさせて頂きました。(まんまこの手順です) AWS Ruby Rails4 Nginx Unicorn 構築! (簡単に早めで) - Qiita AWS Ruby Rails4 Nginx Unicorn 構築! (簡単に早めで) - Qiita 手順を見逃したり、知らないコマンドや設定ファイルの記法を調べたりで動くまで…

EC2のインスタンスにドメインを割り当てるには「Elastic IP」が必要

ドメインの取得は通常通り「お名前.com」などのレジストラで行う。 現在はAWS内の「Amazon Route 53」でも取得可能。 Elastic IPを理解すれば難しい事はない。 Elastic IP EC2のインスタンスに割り当てられたPublic IPは再起動する度に異なる値が付与される…