タグ

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

  • DNS前史:HOSTS.TXTとドメイン名ができるまで

    こんにちは、技術開発室の滝澤です。 先月(2022年7月)、『Software Design 2022年8月号』の特集記事『WebエンジニアのためのDNS速習講座』に『第2章:DNSの構成要素と名前解決のしくみ』という記事を寄稿しました。第1章でも滝澤が趣味で作成した資料『ドメイン名の歴史』が参考文献として掲載されていました。よい機会なので、ドメイン名ができるまでの歴史について文章としてまとめようと思い、このブログ記事を書きました。 なお、筆者自身はインターネットの原型であるARPANETや80年代のインターネットをリアルタイムには体験してはいないため、RFC(Request for Comments)やインターネット上にある当時のホストアーカイブを元に調査した内容をまとめたものになります。 ARPANETの時代 1969年から1980年代初期にかけてのインターネットの原型となったAR

  • Cloud Operator Days Tokyo 2022 に動画登壇しました!

    こんにちは。エンジニアリングチームの照井です。初めてインフラエンジニアwayに投稿します。 Cloud Operator Days Tokyo 2022 というイベントにおいて、「文書作成ソフトからの脱却 ~Markdownによるアラート対応手順書CI/CD~」という題名で「社内ドキュメント作成の自動化」について動画登壇させていただきました。このイベントではハートビーツがゴールドスポンサーとなっております。 なお、登壇動画はイベントページにて2022/06/27より公開されております。 Cloud Operator Days Tokyoのご紹介 Cloud Operator Days Tokyo は、クラウド運用者に焦点を当てた技術イベントです。 運用技術の発展やインフラ、アプリケーション運用に興味がある若手の教育、育成を目的に掲げています。 Cloud Operator Days Tok

    Cloud Operator Days Tokyo 2022 に動画登壇しました!
  • マルチクラウド構成におけるMySQL Group Replicationの利用事例紹介

    こんにちは、滝澤です。 前回の記事『WireGuardによるマルチクラウド構成VPNの事例紹介』に引き続き、社内事例を紹介します。 弊社ハートビーツではMSP(Managed Service Provider)サービスの可用性向上のために、社内基盤をマルチクラウド構成で運用しています。 複数のクラウド拠点のネットワーク間をWireGuardというVPNトンネルのソフトウェアで接続しています。 さらに、リレーショナルデータベース管理システムにはMySQLを利用しており、MySQLのレプリケーション機能の一つであるGroup Replicationを使って拠点内および拠点間における冗長化を行っています。 今回はこのMySQL Group Replicationの利用事例を紹介します。 行っていることをまとめると次のようになります。 マルチクラウド構成(Azure, AWS, GCP)において、

  • (そろそろ2年)仕事利用のArchLinuxのクライアントPCでの利用プロダクトまとめ

    こんにちは。CTOの馬場です。 ArchLinuxクライアントPCことはじめと利用プロダクトまとめ - インフラエンジニアway - Powered by HEARTBEATS から1年半が経過し、そろそろArchLinuxのクライアントPC仕事を始めて2年近くなります。 最近もまだ「Macやめてみて、その後どうですか?」とよく聞かれるので、現状を共有します。 結論としては特に問題なく普通に暮らしています。 macOSLinuxを並行利用しているので、 だいぶツールが揃ってきました。 健康のためにお勧めのキーカスタマイズ macではKarabiner-Elements、 ArchLinuxではxkeysnailを使ってキーをカスタマイズしています。 Ctrl + f / b / n / p / a のようなemacs風カーソル操作を実現している他に、 スペースの左のキーを 「単体押し→

  • hbSAKABA をはじめました

    お疲れ様です。菱田です。 今月から、hbSAKABAと題して、開発事業部が中心になってPodcast配信をはじめました。 ハートビーツで日々やっているテクノロジーの話や今興味を持っている話題などをゲストを交えて、一杯飲みながらゆるーい感じのPodcastです。 飲んで話してる話題って結構面白い話題が多かったりするので、そのままの雰囲気を配信しております。 はじめた理由 開発事業のなべさん @kaz_29 と12月に飲んでた時かな? なべさん:技術系のPodcast面白いよ。うちでもやりたいな〜。エンジニアに興味持ってもらえると思うんだよね〜。 ひしだ:あっ、はい! 準備します これだけです(笑 開発事業部としては、技術的な情報発信を積極的にやっていこう、と方針を立ててるので積極的にやりたいと思っていますし、少しでも色々なエンジニアに知ってもらうキッカケになればいいなと。 準備 とはいえ、h

    hbSAKABA をはじめました
  • メトリック収集と分散トレーシングのフレームワーク OpenCensus を使ってみた - インフラエンジニアway - Powered by HEARTBEATS

    こんにちは、滝澤です。 先日、社内ISUCONが開催され、運営側として関わっていました。 その中で、試し解きと技術検証(お遊び)も兼ねて、以前から興味があったメトリック収集と分散トレーシングのフレームワークの OpenCensus を使ってみて、処理時間の可視化をしてみました。 そのときに行った内容などを紹介してみます。 OpenCensusとは OpenCensusはメトリック収集および分散トレーシングを行うためのライブラリ集です。 マイクロサービスやモノリシックなアプリケーションに対して Observability (可観測性)を提供します。 Google社が社内で利用しているメトリック収集およびトレーシングのライブラリ集であるCensusのオープンソース実装として、2018年1月にリリースされました。 提供する機能としては大きく分けて次のものになります。 Metrics (メトリック

  • 硬派な高解像度パフォーマンスモニタリングツール Performance Co-Pilot と PCP.CONF 2018

    こんにちは。CTOの馬場です。 Performance Co-Pilotというモニタリングツールをご存知でしょうか? 先日、Performance Co-Pilotのカンファレンス PCP.CONF 2018 に行ってきました。 Performance Co-Pilot Conference 2018 正直かなりマニアックなツールなので、カンファレンス!そんなにユーザいたの!すごい!みたいな気持ちで参加したところ、 参加者は15人くらいで、だいたいはお互いに知り合いっぽい、みたいな感じで驚きました。 (ぱっとみですが、半分くらいはRed Hatの方だったのかな?) エントリではユーザと日語情報流通が増えることを祈念して Performance Co-Pilot の紹介をします。 PCPの特徴 Performance Co-Pilot 私の知る限り日では知名度が低めだと思いますが、Pe

    硬派な高解像度パフォーマンスモニタリングツール Performance Co-Pilot と PCP.CONF 2018
  • DevOpsに関する論文を読んでみよう 前半

    斎藤です。こんにちは。 今回は、2回にわたりインフラエンジニアにも関係してくる学術論文を取り上げ、内容を要約・解説していきます。 運用に携わる人々は「実務」から物事を理解し、マニュアルやツールといった形でモデリング化し、物事を切り開かれている方が多いかと思います。一方で、物事をモデリングする手法には、学術論文...文章化してゆくと言う方法もあります。 「いやー、論文って読もうとすると難しいよねー」とか、「英語とか面倒だなぁ〜」なんて思っている方にでも、論文に触れる新しい機会に、そしてこれからの運用の参考となれば幸いです。 ※誤訳やより良い解釈がある等ありましたら、twitterの @koemu までお知らせください。 「ログを用いたソフトウェア開発者と運用者を繋ぐ手法」 原題は"Bridging the Divide between Software Developers and Oper

  • HEARTBEATS Flavored Markdown extension 1.0.0をリリースしました!

    こんにちはCTOの馬場です。 以前 Markdownを独自拡張してWordドキュメントを卒業する で紹介したHEARTBEATS Flavored Markdown extensionのPythonモジュールの1.0.0をリリースしました! 弊社のドキュメントを書く上で必要だった以下の機能を実装しています。 Inline Coloring Inline List Cross Reference Python3対応が目玉です! といっても私が実装したわけではなく、Pull Requestをいただき取り込んだ形です。 公開しててよかった! ハートビーツでのPython3 ハートビーツではほとんどのサーバがCentOSということもあり、 ツール類はCentOS7 + Python2.7というケースがほとんどでした。 しかし最近、弊社@shiimaxxが、 ハートビーツのツールキットhb-agen

  • aws-cliはs3転送の帯域制御をどのように実現しているのか

    こんにちは。CTOの馬場です。 できるようになった、というのは見たものの、 具体的にどのように実現しているのか気になったので調べてみました。 こういうの、気になりません?わたしは気になります。 最近はコードの追い方の紹介をあまり見ないので、探し方を含めて紹介します。 なお30代後半以降の方にはお馴染みの、 find ... | xargs grep を使っていますが、 GitHubの検索機能でも代替可能です。 5秒でわかる結論 LeakyBucketです aws-cliではなくbotoで実装されています コードの追い方 ここからは地道に追ってみます。 読むだけだと何がなんだか...だと思うので、 操作したりリンクに飛んだりしながら試してみてください。 ※jediやVSCodeで定義にジャンプできる環境がある場合はインストールしてジャンプしていけばもっと楽に追えると思います 下準備 まずはa

  • ArchLinuxクライアントPCことはじめと利用プロダクトまとめ

    こんにちは。CTOの馬場です。 先日 勤続10年になるCTOが異動のついでにMacをやめてArchLinuxにした話 で書いたとおり、最近はArchLinuxvimDocker、Vagrant + VirtualBoxを使ってPythonGolangを書いて暮らしています。 最近「Macやめてみて、その後どうですか?」とよく聞かれるので、現状を共有します。 結論としては特に問題なく普通に暮らしています。 利用していた/利用しているプロダクト 「あれってどうしてます?」みたいなのをよく聞かれるので表を作りました。 漏れてる(私が忘れてる)ものもあると思うので、 他に気になるものがあればお声掛けください。 代替プロダクト、最初は探すのにちょっと難儀しますが、 どうということはありません。 pacmanかaurで揃っちゃうので管理はとても楽です。 ジャンル Mac時代 Linux時代

  • 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) - 基礎知識
  • 外形監視におけるフルリゾルバーのキャッシュ保持期間

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

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

    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ア

    メールを受け取らないドメイン名に
    yohane00
    yohane00 2016/12/14
  • 「職場体験」受け入れのススメ(前編)

    こんにちは。藤崎です。 今年は会社の取り組みの1つとして、中学生の「職場体験」の受け入れを行わせて頂きました。 ハートビーツでは、4年前にも一度「職場体験」の受け入れを行ったことがあり、今回で2回目の「職場体験」受け入れでした。 今回この記事を書くきっかけになったのが、この「職場体験」の受け入れ側の偏りです。 「職場体験」とは、簡単に説明すると、文字通り「実際にある職業を体験して、その職業について理解したり、様々なことを体験する」というプログラムですが、 職場体験を実施している渋谷区のある中学校に聞いてみたところ、職場体験の受け入れをしてくれる「職場」の約38%が「保育園、幼稚園、介護施設、養護施設」という受け入れ状況となっていました。さて、どうしてそうなったかを聞いてみると、毎年様々な業種で体験できるように、新しい職場も探して交渉しているらしいのですが、中学生を5日間受け入れていただける

    「職場体験」受け入れのススメ(前編)
  • 継続的テストとしての監視実装例

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

    継続的テストとしての監視実装例
    yohane00
    yohane00 2016/11/16
  • nginxをdockerで動かす時のTips 3選

    こんにちは。CTOの馬場です。 最近利用する機会が増えてきたdockerネタです。 nginxを動かすときのTipsを3つ紹介します。 foregroudで起動する dockerではコマンドをforegroundで動かさないとコンテナが停止してしまいます。 nginxはデフォルトはデーモンとして動くので、foregroundで動くように設定しましょう。 nginx.confで設定するならこうです。 daemon off; Dockerfileの起動コマンドで指定するならこうです。 CMD ["/usr/sbin/nginx", "-g", "daemon off;"] 動的な設定を外部化する イメージの中に設定値を入れちゃうのはダサいですよね。 コンテナ起動時に動的に設定したいものです。 dockerの場合は docker run 時に -e で環境変数を指定できるので使いましょう。 do

    nginxをdockerで動かす時のTips 3選
  • 株式会社ハートビーツ|サーバ構築、クラウド、セキュリティに強いMSP

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

    株式会社ハートビーツ|サーバ構築、クラウド、セキュリティに強いMSP
    yohane00
    yohane00 2016/08/08
  • 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 の振る舞いをテストする
    yohane00
    yohane00 2016/06/17
  • Golangで作ったhttpdの接続数を制限してみよう

    こんにちは。斎藤です。 ここ1〜2年、私は仕事Golangを書くことが増えています。きっかけは、ITインフラをお預かりする中で、お客様のサーバにツールを置く場合でも1つのバイナリさえ置けば良いという手軽さからだったのですが、最近はScalaと並び手軽に並列処理が書けるプログラミング言語として重宝しています。 さて、今回はGolangで作ったhttpdの接続数をLimitListenerを利用して接続数の制限をしてみようというお話です。以下に紹介するお話は、Githubのリポジトリ "github.com/koemu/go-http-max-connections-demo" にデモプログラムを保存しています。Golangのビルド環境がある方は、実際にビルドしながらお試しいただければと思います。 ※Golang 1.5.1でビルドする前提で説明しています モティベーション 仕事でとあるAP

    Golangで作ったhttpdの接続数を制限してみよう
    yohane00
    yohane00 2015/10/20