Slack + Cloud Functionsで迅速な障害の初動対応をする/incident management by slack
![レガシーなAnsibleを改善していくための方針/How to improve the legacy Ansible](https://cdn-ak-scissors.b.st-hatena.com/image/square/0771f2a28008675309d6c0f4a67c813232e041d7/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F8996e5b47f8f439f9738070b353c409b%2Fslide_0.jpg%3F12357762)
tl;dr デプロイツールによっては 同じサーバに SSH で何回もコマンドを実行することがある(ansible とか)。 コマンドごとに毎回コネクション(トンネル)を確立するとオーバーヘッドも大きくなる。 OpenSSH は $HOME/.ssh/config に次の設定を書くことで、接続を多重化(multiplex)することができる。 # $HOME/.ssh/config Host machine1 HostName machine1.example.org ControlPath ~/.ssh/controlmasters/%r@%h:%p ControlMaster auto ControlPersist 1h multiplex 前後の速度差 SSH を使ってリモートサーバで echo コマンドを実行した時の速度差を計測 before multiplex $ time ssh
ローカルPCに個人開発環境を建てたいけど、母艦は汚したくないものです。 そうすると、だいたいの場合vagrant(virtualbox)かdockerかの2択になると思います。 この使い分けにいつも迷うのでどうするべきかの指針を考えてみました。 お断り: 以下は個人の見解であって、所属先の見解ではありません。 カーネルに依存する操作を行いたい場合 dockerの場合、いじれるカーネルパラメータが限られています。 特定バージョンのカーネルの環境を用意する必要がある場合や、カーネルパラメータに特殊な設定が必要な環境では仮想マシンの方である必要があります。 内部で生成されたデータの保全を行いたい場合 dockerの場合、ふとした操作(docker killやdocker build、docker rm(i)など)でデータコンテナの中身が消えてしまうことがあります。 仮想マシンのイメージであれば、
Ansibleではinventoryに対象ホストを定義します。 適用したいインフラ構成が複数ある場合、playbook毎にグループ化してください。 グループ化した場合、変数はそれぞれのgroup varsに定義できます。 詳しくは、前回のエントリーを参照してください。 inventoryの構成方法には幾つかのパターンがあります。 対象とするシステムの規模や特徴にあわせて選択しましょう。 なお、パターンを整理するにあたって、Ansibleのインベントリファイルでステージを切り替えるを参考にしました。 ベーシックパターン 開発環境・検証環境・本番環境といった目的毎に環境を作る必要がなく、ひとつの環境(本番環境)のみの場合は、inventoryファイルもひとつで十分です。 hostsという名前のファイルを作成し、inventoryを定義しましょう。 構成は次のようになります。 . ├── gro
渡辺です。 最近、Ansibleに関する書籍が増えてきていますね。 とはいえ、ほとんどは入門的な位置付けで、それはそれで需要があるんですが、実践レベルで使いこなすノウハウは少ないというのが現実かと思います。 この辺り、まだ試行錯誤を繰り返しているところも多いでしょう。 そこで、ノウハウをガンガン流出させるクラスメソッドなので、ベストプラクティスみたいなものをまとめちゃいました。 Ansibleとは? 雑な言い方をすれば、SSH接続したリモートホストでミドルウェアのインストールや設定ファイルの更新を行うツールです。 カテゴリとしては構成管理ツールに分類されます。 SSH接続が可能であれば、リモートホスト側にエージェントのインストールが不要である点は大きな特徴です。 Playbookにサーバの状態を定義する AnsibleのPlaybookは、リモートホストの状態を定義したファイルです。 構成
インフラ自動化ツール「Ansible 2.3」リリース。SSHのコネクションを使い続けるPersistent Connectionでタスク処理が高速に オープンソースで開発されているインフラ自動化ツール「Ansible」の最新バージョン、「Ansible 2.3」正式版がリリースされました。 インフラ自動化ツールにはChefやPuppetなどよく知られるオープンソースソフトウェアが他にも存在しますが、Ansibleの特徴はサーバやネットワーク機器にあらかじめエージェントなどを導入することなく利用できる点にあります。 エージェントを使うことなく多数のサーバなどに対して設定やソフトウェア導入などの構成管理を行う仕組みとしてAnsibleではおもにSSHを用いています。 Ansibleのこれまでのバージョンでは、ネットワーク機器に対して構成管理のタスクを1つ実行するたびにSSHの接続を開始、終了
Vagrant 1.8 で、ansible_local という新しいプロビジョナが追加されました。 これは、Ansible をゲスト(VM)側にインストールして、ローカルコネクションで VM 内で実行するものです。これは、まさに待ち望んでいた機能ので紹介します。 Vagrant + Ansible で気を付けること 以前から、Vagrant + Ansible の組み合わせでローカルの開発環境を作るなら、ホスト側に Ansible を入れるのではなく、ゲスト(VM)側に Ansible を入れる方が良いと考えていました。勉強会などでも良く話していたのでお聞きになった方もいるかと思います :) ホスト側に Ansible を入れない理由は、3 つあります。 まず、ホストに Ansible をインストールする手間が増える点です。Vagrant と Virtualbox のインストール(あとコー
多種多様な構成のサーバーを Ansible で管理する場合、単一のベストプラクティスツリーに押し込むのは管理が大変すぎて現実的ではないなとおもい、どうしたものかなと悩んでいました。で、最近やっとこれかなという構成ができたので共有してみます。 何が問題か? ロールには共用できるものとできないものがある、それがいっしょこたに混ざるのが嫌 無理に共用できるようにと変数を多用するととても管理が大変。変数も覚えられないし、テストが大変 読み込むファイルのパスが大元のymlからの相対パスであり、include ではディレクトリ階層での整理が難しい -l で対象サーバーを絞り込んでも全てのタスクが表示され、skipped, skipped, skipped と関係ない task 表示がターミナルが埋まって見づらい そして、たどり着いたオレオレベストプラクティス まとめて管理したいサーバーグループ毎にベス
サーバ構成管理は何を使っているでしょうか。サーバにログインして一つ一つコマンドを打っても良いですが、何台も間違わずにセットアップするというのは至難の業です。そこで最近注目を集めているのがAnsibleになります。さくらのナレッジでも松島さんがエージェントレスでシンプルな構成管理ツール「Ansible」入門 - さくらのナレッジにて取り上げています。 Ansibleの基本的な操作は設定ファイルを編集して、コマンドを実行するという流れなのですが、より手軽に操作できるようにしてくれるのがAnsibrestというソフトウェアになります。その名の通り、RESTインタフェースを通じてAnsibleの実行を制御できるようになります。 Ansibrestのインストール AnsibrestはNode.jsで作られていますので、npmコマンドを使ってインストールできます。 npm install ansibr
書評: 初めてのAnsible¶ 「初めてのAnsible」 という本がオライリージャパンから発売されました。その本を頂いたので、読んでみました。 結論¶ 結論から述べますと、この本は「初めての」と付きますが、これから使いたい人だけでなく、今現在も使っている人にとっても買うべき本だと思います。 Ansibleの実行方法、Playbook、Task、InventoryといったAnsibleを使う上での重要なところが一から順序良く書かれており、すぐに理解できるようになると思います。そういう点で初心者向けです。 それでいて、かなり注釈が多く、初心者向け、ということだけではなく、YAMLの引っかかりやすい文法上の問題や、 localhost が暗黙的にinventoryに追加されるというような細かいところまできちんと書いており、現在使っている人に取っても有意義だと思います。特に、筆者はこう考えてこ
dots. Conference Spring 2016 ゲーム開発の裏側 http://eventdots.jp/event/580344
1. The document discusses RESTful APIs and gRPC, comparing their characteristics and use cases. 2. RESTful APIs typically use HTTP and JSON to access resources via URLs while gRPC uses protocol buffers and HTTP/2 for efficient streaming and RPC. 3. gRPC is better suited for microservices and mobile apps due to its ability to handle streaming and performance, while REST is more widely used due to i
自分のMBPRetinaは3年前のモデルでアップデートする度に、スリープからの復帰画面がおかしくなったりしたのでOSのクリーンインストールも兼ねました。データはほとんどクラウド化されてるので残るは設定ファイルのみ。0から設定するのだるい。 今後、0スタートするときも苦労したくない!ポチポチクリックしたくない!ということで mawatari.jp この記事にインスパイアされて、自分もやったので、ハマりどころとかプラスで対応したところをメモ。 9割はこれで行ける、残り1割はアプリにログインした時にクラウド同期してくれる系(Chromeとか). githubにdotfilesやらshellにするよりも比較的容易にprogramaticallyにできたのでやってよかった。 github.com 対応したこと ansibleのインストール brewのインストール brewによるアプリのインストール
Chefを使っている方はBerkshelfやLibrarian-Chefを使って、利用するクックブックのリストをファイルにまとめて管理するのは珍しくないことかと思います。 同様にAnsibleには ansible-galaxy コマンドにそうした機能が備わっていて、同じように利用するロールをファイルで管理することができます。このコマンドはAnsibleをインストールすれば使えるようになりますので、Ansibleはデフォルトでその機能を持っていると言ってもいいでしょう。 ただ、これまで ansible-galaxyによって利用できるロールはAnsible Galaxyへアップロードされたもののみとなっており、例えばGitHubのプライベートリポジトリなどを使うためにはlibrarian-ansibleのようなサードパーティ製のツールを使う必要がありました。 しかし昨年11月にリリースされた1
CDKアプリとしてのAmplify Gen2 - @aws-amplify/backendのアーキテクチャにみるCDKベストプラクティス -
前年開催したリーダブルコード勉強会やアプリコンテストに参加いただいた大学院生 kentya6 (Kengo Yokoyama) · GitHub さんが、Swiftで作った以下のライブラリをGitHubで公開したところ、★300以上ついた! というお話を聞きつけ、その経緯やどんなことが起こったのか、インタビューしてきました! github.com -まずは自己紹介ということで、普段行っている研究や開発で、どんなことをされているか、教えてもらえますか? 私の在籍している 筑波大学高度ITコース では、研究ではなくPBL形式のチーム開発を行っていて、顧客の要望をヒアリングして実装に落とし込み、最後に納品するというシステム開発を行っています。 修士2年になってからは別のプロジェクトが始まりましたが、修士1年では施設内ナビゲーションアプリCampusAR を作成していました。 (補足: Campu
近年、ChefやPuppetなどの構成管理ツールが人気だが、新たに注目されつつある構成管理ツールとして「Ansible」がある。Ansibleは設定ファイルがシンプルで、管理対象サーバーに特別なソフトウェアをインストールすることなく利用できるなど、最小限の手間で各種設定を自動化できるのが特徴だ。今回はこのAnsibleについてその基本的な使い方を紹介する。 小規模な環境でも手軽に使えるAnsible あらかじめ用意しておいた設定ファイルに従って、ソフトウェアのインストールや設定ファイルの修正、サービスの起動/停止、ネットワーク設定といったサーバーの各種設定を自動的に実行するソフトウェアを構成管理ツールと呼ぶ。代表的なものとしては、さくらのナレッジでも過去に取り上げているChefやPuppetがある。 関連記事: サーバー設定ツール「Chef」応用編:knife-soloとData Bagを
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く