タグ

ブックマーク / heartbeats.jp (33)

  • RFCの読み方

    こんにちは。技術開発室の伊藤です。 ハートビーツではメールサーバを自社で運用しています。そのメールサーバの移設を実施するにあたり、移設を対応するチームでさまざまなメールの仕様を理解しておく必要がありました。 メールプロトコルの仕様についてはRFC(Request For Comments)が発行されているため、メールに関するRFCを読んでまとめる勉強会を行いました。 その際にRFCを読むにあたって知っておくとよいことがいくつかあったので紹介します。 RFCとは RFCとはIETF(Internet Engineering Task Force)というインターネット技術の標準化を推進する団体やその他の団体が発行している、インターネット標準や技術提供の文書です。もともとは非公式な文書であることを明確にするため、Request For Comments(コメント募集)という名前にしていたようです

  • TLS証明書チェッカーcheck-tls-certの公開

    こんにちは、技術開発室の滝澤です。 TLS証明書チェッカーcheck-tls-certを開発して公開したので紹介します。 このcheck-tls-certについて簡単に説明すると次の通りです。 check-tls-certは、TLS証明書の有効性と証明書チェインの検証するツール 主な用途は、TLS証明書の設置・更新作業の際の各種確認およびTLS証明書の(有効期限を含む)有効性の監視 様々な検査を実施し、各検査結果を出力することで問題箇所を把握しやすい check-tls-certの概要 TLS証明書チェッカーcheck-tls-certはTLS証明書の有効性と証明書チェインを検証します。 主にTLS証明書の設置・更新作業の際の各種確認およびTLS証明書の(有効期限を含む)有効性の監視のために利用できます。 次のサイトで公開しており、ReleaseページからLinux向けとmacOS向けのバ

    eigo_s
    eigo_s 2021/07/14
  • クラウドと可用性

    こんにちは、技術開発室の滝澤です。 今回はクラウドと可用性についてのポエムを書いてみたいと思います。 まとめを最初に書くと次のようになります。 原則としては、ゾーン冗長構成にすることで可用性は向上する。 クラウド事業者側のソフトウェアのバグやヒューマンエラーなどが原因の障害ではゾーン冗長構成でも回避できない場合がある。 マルチリージョン構成やマルチクラウド構成は当にそのレベルの可用性が必要かどうかを検討する。 可用性(アベイラビリティ) まず最初に可用性についての復習をしてみましょう。 可用性は英語のavalability(アベイラビリティ)を日語に訳した言葉で、簡潔に述べると「利用したいときに利用できる能力」という意味です。日語としては稼働率と呼ばれることもあります。 例えば、あるサービスのウェブサイトが、障害が起きない、あるいは障害が起きてもすぐに復旧していつでも利用できる状態に

  • O'Reilly Velocity Conference 2018 San Jose参加レポート - インフラエンジニアway - Powered by HEARTBEATS

    こんにちは、ハートビーツの滝澤です。 2018年6月12日〜14日にサンノゼで開催されたO'Reilly Velocity Conference 2018 San Joseに参加してきました。 弊社ではここ数年は毎年この時期に開催されるVelocity Conferenceに参加しており、今年は弊社の與島と阿部と一緒に参加してきました。 Velocity Conferenceは主に運用やDevOps向けのイベントになります。 記事では興味深かったセッションをいくつか紹介します。 なお、内容については紹介している資料を確認してください。聞き間違えたり、認識が違っているかもしれないためです。 Kubernetes Canary deploys with Kubernetes and Istio 資料: Canary deploys with Kubernetes and Istio (PDF

    O'Reilly Velocity Conference 2018 San Jose参加レポート - インフラエンジニアway - Powered by HEARTBEATS
  • hbstudy#74 SRE大全:序章 活動報告

    はじめまして、入社5年目、新卒2年目アイドル部部長兼運用エンジニアの阿部( @abnoumaru )です。 2017年07月25日に開催された「hbstudy#74 SRE大全:序章」の活動報告です。 なぜ SRE の勉強会を開催したか Googleが"Site Reliability Engineering"(SRE)を提唱した後、 その手法は世界中で瞬く間に広まり、日でも"SRE"の名前が付くチームを持つ会社が増えています。Web サービスを中心としたインフラを担当するハートビーツにとってもSREを専門職としてはいないものの、現在行なっている業務に近しい分野です。 そこで、hbstudyではSRE大全と題して、様々なSREの話を聞くべくシリーズで勉強会を開始します。今回は、 2017年8月12日に発売される『SRE サイトリライアビリティエンジニアリング --Googleの信頼性を

    hbstudy#74 SRE大全:序章 活動報告
  • O'Reilly Velocity Conference 2017 San Jose参加レポート

    こんにちは、ハートビーツの宮越と滝澤です。 2017年6月20日〜22日にサンノゼで開催されたO'Reilly Velocity Conference 2017 San Joseに参加してきました。 Velocity Conferenceは日では馴染みがないカンファレンスですが、主に運用やSREやDevOps向けのイベントになります。 記事では興味深かったセッションをいくつか紹介します。 なお、内容については紹介している資料を確認してください。聞き間違えたり、認識が違っているかもしれないためです。 コンテナ Container orchestration wars スライド: Container Orchestration Wars (2017 Edition) (SlideShare) MesosphereのKarl Isenberg氏によるContainer orchestrati

    O'Reilly Velocity Conference 2017 San Jose参加レポート
  • nginxの動的モジュールの最新状況(2017年2月版)

    StreamモジュールとMailモジュールについては、nginxバイナリに静的にビルドされて組み込まれています。 なお、nginxバイナリと動的モジュールの両方とも、後述するconfigure時のオプション「--with-compat」付きでビルドされています。 nginxバイナリとモジュールのsignatureが異なると動作しない 動的モジュールが実装された当初から「nginxバイナリとモジュールのsignatureが異なると動作しない」という制約があります。 このことについては昨年の記事「nginx-1.9.11で動的モジュールをサポート」において次のように説明しました。 nginxバイナリと異なる環境でビルドされた動的モジュールを組み合わせて動かすことはできません。 これにより困ることの例としては、公式サイトやディストリビューションからnginxのRPMパッケージをインストールした環

    nginxの動的モジュールの最新状況(2017年2月版)
    eigo_s
    eigo_s 2017/02/27
  • メールを受け取らないドメイン名に

    example.comゾーンには次の内容で登録されているものとします。 example.com. 86400 IN A 192.0.2.80 送信側メールサーバは次のような順番で処理を行います。 宛先メールアドレス"foo@example.com"のドメイン名"example.com"に対するMXレコードを問い合わせる。 "example.com"に対する回答として0個のMXレコードを受け取る。(MXレコードが登録されていないため。なお、"example.com"そのものは存在するため、回答のステータスとしては"NOERROR"である。) "example.com"に対するAレコードを問い合わせる。(MXレコードが存在しないときには、Aレコードにフォールバックするため) "example.com"に対する回答としてIPアドレス"192.0.2.80"を値とするAレコードを受け取る。 IPア

    メールを受け取らないドメイン名に
  • 外形監視におけるフルリゾルバーのキャッシュ保持期間

    こんにちは、滝澤です。 みなさん、提供しているサービスの外形監視を行っていますか。 DNSレコードの変更ミスやドメイン名の失効などを起因とする障害に早く気づけるようになっていますか。 ということで、今回は外形監視におけるフルリゾルバー(キャッシュDNSサーバー)のキャッシュ保持期間について考えてみます。 外形監視とフルリゾルバーについて 外形監視とは何かを一言でまとめると、「システムの外部から、システムが提供していサービスが正常に動作しているかを監視する」ことです。 このとき、「ユーザーと同じような方法でアクセスする」ことが重要となります。 アプリケーションのサービスへのアクセス方法 ウェブブラウザーのようなユーザー側のアプリケーションがサービスに接続するときには、次の図のようにサービスのドメイン名の名前解決を行い、取得したIPアドレスに対して接続を行います。 このとき、名前の解決は次のよ

    外形監視におけるフルリゾルバーのキャッシュ保持期間
  • 継続的テストとしての監視実装例

    その昔hbstudyで @kazuho さんは言いました 「監視は継続的なテストである」 というわけでこんにちはCTOの馬場です。 今回は弊社で実際に適用しているテストケースを紹介します。 ハートビーツと監視システム ハートビーツでは永らくNagiosを使って2拠点から同内容の監視をしています。 最適な監視を実現するためにはNagiosの監視の実体である Nagiosプラグインを自作する必要があり、 ハートビーツでは特に別途費用をいただかず必要なNagiosプラグインを実装しています。 ソースコードは社のGitLabで管理していて、 hb-nagios-plugins グループ配下には100近いリポジトリがあり、 さらにこの他にも案件固有の監視項目用に個別のリポジトリがあります。 要するにたくさんですね。 さきほどざっと hb-nagios-plugins グループ配下のファイル数を確認し

    継続的テストとしての監視実装例
  • Tsungで負荷テストしよう(1) - 基礎知識

    こんにちは。CTOの馬場です。 負荷テストツール Tsung の話です。 HTTP負荷テストツールだと JMeter や ab 、httperfあたりが有名ですね。 新しいところだとTsungやGatlingでしょうか。 私は去年くらいからTsungをよく使っているので紹介します。 このエントリは第1回です。 Tsungで負荷テストしよう(1) - 基礎知識 Tsungで負荷テストしよう(2) - 実践Tips Tsungで負荷テストしよう(3) - リアルな負荷のためのTips Tsung のお勧めポイント まずはTsungのお勧めポイントから。 負荷をかける側に必要なマシンスペックが低い 負荷をかけるとき、JMeterよりTsungのほうが同じサーバでより大きな負荷を生成することができます。 もちろん必要な負荷が1台で生成しきれない場合は複数台で連動して負荷を生成することができます。

    Tsungで負荷テストしよう(1) - 基礎知識
  • 株式会社ハートビーツ|サーバ構築、クラウド、セキュリティに強いMSP

    運用監視も エンジニアが対応 これまでの経験を元に、お客様の業務を全面的にサポート。運用監視もエンジニアによる24時間体制で状況変化・障害発生を早期に検知し、対応します。 幅広い対応力 技術担当者が不在、または別の業務に専念したい場合も、ハートビーツのエンジニアがインフラ管理〜コンサルティングまで対応、ご要望にお応えします。

    株式会社ハートビーツ|サーバ構築、クラウド、セキュリティに強いMSP
  • Docker と infrataster で nginx の振る舞いをテストする

    こんにちは。吉川 ( @rrreeeyyy ) です。今期オススメのアニメはリゼロです。 Nginx は設定ファイルの記述力も高い、大変便利な Web サーバです。 便利な反面、設定ファイルの複雑化や、設定に依っては意図しない挙動を引き起こしてしまうこともあります。 そこで稿では docker 並びに infrataster を使用し、 Nginx の挙動をテストすることによって、安全に Nginx の設定を記述する方法について紹介します。 テスト対象の Nginx の仕様 今回は例として、次のような仕様の Nginx のテストについて考えます。 ネットワーク帯は 10.0.0.0/16 を使用している Nginx の前段として L7 ロードバランサが存在している L7 ロードバランサが https を終端している Nginx 自体は 80 番ポートと 8080 番ポートにて待ち受けてい

    Docker と infrataster で nginx の振る舞いをテストする
  • nginx-1.9.11で動的モジュールをサポート

    nginxの記事を書くのは久しぶりの滝澤です。 nginxにApache HTTP Serverの動的共有モジュール(Dynamic Shared Object)(DSO)のような機能が欲しいと思っていた人も多いでしょう。筆者もそうです。秘伝のタレのようなビルド用のスクリプト(実際はRPMパッケージのSPECファイル)を保守し続けるのは辛いなと思っていました。 そのような方々に朗報です。2016年2月9日にリリースされたnginx-1.9.11において動的モジュール(Dynamic Modules)がサポートされました。 しかし、Apache HTTP ServerのDSOと比べると、現時点ではまだ制約があります。 記事ではnginx-1.9.11における動的モジュールの説明と制約について説明します。 注: 2017年2月22日にフォローアップ記事「nginxの動的モジュールの最新状況(

    nginx-1.9.11で動的モジュールをサポート
    eigo_s
    eigo_s 2016/02/12
  • 新人エンジニア向けに情報収集の際の入手元を公開してみる

    こんにちは。CTOの馬場です。 新人エンジニアから割とよく聞くお悩みとして「情報収集の仕方がわからない」というのがありまして、 入手元が見つけられない、何に注目してよいかわからない、というところが解決できないということのようです。 というわけで今回は私の情報入手元を公開してみます。 Twitter まずは定番のtwitter。フォローしているのは627人です。 スマホで一日数回、そのときに取得したぶん(直近200件)だけを見るようにしています。 Androidなのでtwiccaを使っています。 リストは使わず、タイムラインのみを見ています。 PCでは夜フクロウを常時起動してますが、タイムラインは見ていなくて、mention/DMに反応するくらいです。 Facebook これまた定番のFacebook。友達は596人です。 スマホで一日数回、そのときに取得したぶん(2スクロール分くらい)だけ

  • Python+SSHな自動化・デプロイメントツールFabricを活用するTips

    こんにちは。CTOの馬場です。 みんな大好きFabricのTipsです。 Welcome to Fabric! -- Fabric documentation よくデプロイツールとして紹介されますが、 自動化のためのPython+SSH+コマンド実行フレームワークとして柔軟に使えて超便利です。 基的には 手元でのコマンド実行 SSHごしのリモートサーバでのコマンド実行 SSHごしのリモートサーバでsudoしてコマンド実行 ができるツールなのですが、使い方の例を紹介します。 間違いなどあればお近くのハートビーツ社員か @netmarkjp に教えていただけると嬉しいです。 Python 2.7.10 + Fabric 1.10.2 + Paramiko 1.15.2で動作確認しました。 複数のサーバに対して同じユーザ・パスワードでログインする ユーザ名やパスワードを一括指定できます。 鍵認

    Python+SSHな自動化・デプロイメントツールFabricを活用するTips
  • O'REILLY Velocity 2015 Santa Clara参加レポート - 後編

    O'REILLY Velocity 2015 Santa Claraが2015年5月27日から29日まで開催されました。ハートビーツからも松鵜と滝澤の二人が参加しました。 前編に引き続き、この後編では5月28日と29日のセッションの一部を紹介します。 なお、内容については紹介している資料を確認してください。聞き間違えたり、認識が違っているかもしれないためです。 ※会場であるSanta Clara Convention Centerの前にあるライトレールの駅の写真です。 レポート、その1 まずは、松鵜のレポートです。 Operating Docker security for speed and profit Operating Docker security (slideshare) Dockerにおけるセキュリティの諸問題(Dockerイメージは信用できるのか、ホストの安全性はどう確保す

    O'REILLY Velocity 2015 Santa Clara参加レポート - 後編
  • O'REILLY Velocity 2015 Santa Clara参加レポート - 前編

    O'REILLY Velocity 2015 Santa Claraが2015年5月27日から29日まで開催しています。ハートビーツからも松鵜と滝澤の二人が参加しています。 5月27日にチュートリアルに参加してきたのでその一部を紹介します。 後編も公開しました。(6月4日追記) なお、内容については紹介している資料を確認してください。聞き間違えたり、認識が違っているかもしれないためです。 ※写真は初日のチュートリアル終了後のパーティー会場に使われたLevi's Stadiumです。 Best practices for MySQL High Availability このチュートリアルではMariaDB FoundationのColin Charles氏がMySQLおよびその派生の高可用性(High Availability)についてベストプラクティスを紹介してくれました。 高可用性を実現

    O'REILLY Velocity 2015 Santa Clara参加レポート - 前編
  • Rundeck - cronから移行しやすいジョブスケジューラを使ってみよう

    こんにちは。斎藤です。 最近、Dockerなどのコンテナ型仮想化技術、Chef, Ansible, Itamae などによるITインフラ構築・運用自動化技術の利用が進んでいます。一方で、何年も動いて「歴史」を積み重ねているシステムも数多くあります。そして、私を含めてそれらの運用に関わる事もあるでしょう。そんな「歴史」のあるシステムも、何とか運用を効率化したいと思う事があるかもしれません。 今日は、バッチジョブや複数サーバに対する運用を効率化するRundeckを取り上げます。「何ができるの?」「はじめかた」そして「利用時の留意点」の3点についてお話しします。 ※OSはCentOS 6系、Rundeck はバージョン 2.4.0、Java VM は Oracle JDK 1.7.0_72 を利用しています。 cronLinux系OSに標準搭載されているジョブスケジューラです。標準で使えるため

    Rundeck - cronから移行しやすいジョブスケジューラを使ってみよう
  • mod_rewriteをnginxに移植するコツはifを使わないコト!

    こんにちは。CTOの馬場です。 このエントリはnginxアドベントカレンダーの4日目です。 みんな大好き mod_rewrite をnginxに移植するコツをさらっと紹介します。 結論 まず server とか location を使おうとする try_files など他の方法がないか考える どうしてもどうしてもダメなら map と if を使う 以上! コツは「とにかく if を使わない」ことです。 手続き的な書き方から宣言的な書き方に頭を切り替えるとうまく馴染めると思います。 例: wwwありでアクセスがきたらwwwなしに転送する server { listen 80; listen 443; server_name www.example.com; return 301 $scheme://example.com$request_uri; } rewrite 要りません。 例: サブ

    mod_rewriteをnginxに移植するコツはifを使わないコト!
    eigo_s
    eigo_s 2014/12/04