タグ

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

  • mod_auth_openidcによりApache HTTP ServerをOpenID Connect Relying Partyにする -- Azure AD編

    サインイン要求を送信する(Microsoft)には次のような記述があります。 OpenID Connect サインインでは、 id_token を指定する必要があります。 code などの他の response_types が含まれていてもかまいません。 しかし、"id_token"のみの指定では「Implicit Flow」になり、(RPをOPに対するクライアントとする)クライアント認証が行われません。 今回のケースでは、ウェブアプリケーションであるため、「Authorization Code Flow」を利用したいです。 次のように調べてみると、"code"をサポートしているので、「Authorization Code Flow」が使えそうです。 $ curl https://login.microsoftonline.com/common/.well-known/openid-con

    mod_auth_openidcによりApache HTTP ServerをOpenID Connect Relying Partyにする -- Azure AD編
    hiroomi
    hiroomi 2023/01/20
    設定例 Google編 Azure AD編 ←本記事 複数プロバイダー編
  • WireGuardによるマルチクラウド構成VPNの事例紹介

    こんにちは、滝澤です。前回の記事『OctoDNSGitLab CI/CDを利用した複数DNSプロバイダー構成の運用』に引き続き、社内事例を紹介します。 弊社ハートビーツではMSP(Managed Service Provider)サービスの可用性向上のために、社内基盤をマルチクラウド構成で運用しています。 複数のクラウド拠点のネットワークおよび事務所のネットワークとの間をWireGuardというVPNトンネルのソフトウェアで接続しています。 今回はこのWireGuardの利用事例を紹介します。 行っていることをまとめると次のようになります。 マルチクラウド構成(Azure, AWS, GCP)の各拠点と事務所のネットワーク間をWireGuardによるVPNで接続している。クラウド拠点間のレイテンシーはVPNルーター間で2〜4ミリ秒、分散システムのノード間で2〜6ミリ秒である。 ピア(対向

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

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

    hiroomi
    hiroomi 2022/08/31
  • メールを受け取らないドメイン名に

    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ア

    メールを受け取らないドメイン名に
    hiroomi
    hiroomi 2021/12/25
  • 継続的テストとしての監視実装例

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

    継続的テストとしての監視実装例
    hiroomi
    hiroomi 2020/10/03
    “「監視は継続的なテストである」”
  • Skype4Pyを使ってコマンドラインからSkypeを使う

    こんにちは。CTOの馬場です。 今回もインフラエンジニア向けにちょっとした情報を紹介します。 今回は「Skype4Pyを使ってコマンドラインからSkypeを使う」です。 具体的には、ブックマークしたグループチャットに発言するプログラムを紹介します。 実際のところ、ちゃちゃっとセットアップしてしまえば、あとはコマンドラインからSkypeを利用できますので、ぜひ試してみてください。 参考: Linux上で動くSkype用のbotを作る方法 - muddy brown thang 困ったら上のURLを見てください。だいたい解決します。 と、投げっぱなしもなんなので、ざっくり手順を説明します。 Skype4Pyをインストール スクリプトを作成 実行 という3ステップです。 ※MacOSX 10.6でテストしています SKype4Pyをインストール コマンドラインから実行するだけ!簡単です。 sud

    hiroomi
    hiroomi 2018/05/28
  • Googleクラウド(GCE)でクリックデプロイを使ってWordPressをインストールしてみた #gcpja

    こんにちは。CTOの馬場です。 このエントリはGoogle Cloud Platform Advent Calendar 2014の18日目です。 濃いエントリばかりのなかで恐縮ですが、 カンタン方向に寄せて「クリックデプロイ」を使ってWordPressをインストールしてみます。 クリックデプロイでLEMPスタック(Linux, Nginx, MySQL, PHP)とphpMyAdminをインストールし、さらにWordPressをインストールします。 まずはブラウザでGoogle Cloud Consoleにアクセスします。 やりかたがわからないかたは Google Cloud Platformをはじめようチュートリアル #gcpja - インフラエンジニアway - Powered by HEARTBEATS を参考にしてください。 コンソールにアクセスしたらプロジェクトを選択(なければ

    Googleクラウド(GCE)でクリックデプロイを使ってWordPressをインストールしてみた #gcpja
  • RHEL5/CentOS5でGlobalSignのルート証明書が有効期限切れで大騒ぎ

    こんにちは。CTOの馬場です。 昨晩1/28 21:00JSTにRHEL5/CentOS5にインストールされているルート証明書のうち、GlobalSignの有効期限が切れました。 伴ってREHL5/CentOS5からのHTTPS(SSL)接続にてGlobalSignの証明書を使っているサイトへの接続がエラーになるようになりました。 私の確認している範囲では、 curlコマンドやPHPcurlライブラリなどでの接続時に接続エラーとなることに起因して以下のような影響が出ています。 ※接続される側ではなくて、接続する側での問題です※ oauthなどの外部認証が不可 決済などの外部連携が不可 対策 RHEL5の場合、errataが公開されているのでupdateしましょう。 Red Hat Customer Portal https://rhn.redhat.com/errata/RHEA-201

    RHEL5/CentOS5でGlobalSignのルート証明書が有効期限切れで大騒ぎ
    hiroomi
    hiroomi 2014/01/29
  • どうしてメモリはスワップするのか!?

    こんにちは。斎藤です。 最近、新しいスキー板が欲しいなと思っています。現在使っているOGASAKAの板は5年目に入り、メーカーからこれ以上はチューンナップ(メンテナンス)はできないよ、と言われてしまいました。もし、次に買うなら、スノーボーダーの人と一緒にパウダーに飛び込みやすいセミファットタイプが良いのかなと考えています。皆さんのオススメ、ぜひ教えてください。 さて、今日はLinux Kernel上でのメモリ管理、特にページ回収(Page Reclaim)とスワップに絞り、「スワップの理由」「ページを回収する仕組み」そして「スワップの様子を観察する」の3点に分けてお話しします。「スワップするのが気持ち悪い」と考えている方は少なくないと思いますし、私もそう考えていた時期がありました。しかし、それは当に悪い事なのか、今回掘り下げて行きます。 ※主な対象Kernelは2.6.32(Red Ha

    どうしてメモリはスワップするのか!?
    hiroomi
    hiroomi 2014/01/16
    “仮に、物理メモリの空き容量が足りていても、malloc()した際に連続した領域が確保できないと、その領域を確保できるまで物理メモリに存在するページをスワップ”
  • 「写経」から始めるChefクックブックの作成

    斎藤です。こんにちは。 Chef の話題がアツくなっている今日この頃、みなさまいかがお過ごしでしょうか?Chefの解説も出つつある今日この頃ではありますが、プログラミングそのものに慣れないうちはそれさえ読むのもちょっと大変かもしれません。そこで今回は、 Chef のレシピ+ライブラリを用いて、MySQLの設定の自動化を試します。いわゆる「写経」から始めてみて、少しずつ「手動」からプログラムを通じた「自動化」にチャレンジしてみましょう。 ※Chef 11.04.0, knife-solo 0.2.0, Ruby 1.9.3p327, CentOS 6.3 で検証しています。 今回のお題 MySQLサーバをインストールしてみます。ITインフラを構築・運用している方ならご存知かと思いますが、MySQLはインストールだけでなくmy.cnfの設定までが作業です。その際にinnodb_buffer_

    「写経」から始めるChefクックブックの作成
    hiroomi
    hiroomi 2013/03/27
  • 今後の負荷を RRDTool を使って予測してみよう

    斎藤です。 今日は、RRDToolを使って、今後かかる負荷を手軽に予測する方法をご紹介します。あわせて、プログラムと連携して性能限界を越えそうなサーバがあるかを判定してみます。人手ではまかないきれない数のサーバに対して、一台ずつ問題の予兆を調べるときなどにお試しください。 ※CentOS 6.3 (64bit) + RRDTool の2013/2/20頃の最新ソースを用いて試しています 「限界」を早く知りたい! ITインフラを運用している方の多くは、Cacti, Munin等で負荷を日々モニタリングされているかと思います。モニタリングしたデータを用いて今後を予測する際、どのようにされていらっしゃいますでしょうか?描かれたチャートの動きをもとに、経験と勘を駆使して「ヨイショ!」っとされている方も、いらっしゃるのではないでしょうか。 特に、ディスク容量やネットワークトラフィック等、根的な対策

  • Upstart を使ってお手軽 daemon 化

    こんにちは。斎藤です。 手元でちょちょいと作ったプログラムや、 init スクリプトの無いOSSを daemon として動作させ続けたい事、ありませんか?そんなときに便利なのが Upstart です。daemontoolsの代わりとしても使えます。 今回は設定方法を中心に、解説していきます。 ※CentOS 6.3 (x86_64) で検証しています はじめに Upstart とは何か UpstartのWikiによると、"/sbin/init"デーモン(例えばSysVinit)を置き換えるものであり、イベントベースでタスクやサービスを起動・停止できるようにしたものである、と述べられています。また、特徴として、SysVinitと比べ「設定が簡単」「起動が早くなる」などが挙げられています。 Upstart のメリット 3つのメリットがあると、私は考えています。 起動・終了制御が容易 仮にABE

    Upstart を使ってお手軽 daemon 化
    hiroomi
    hiroomi 2013/02/12
  • ChefでCookbookを作成するときのちょっとしたコツ 9選 - インフラエンジニアway - powered by HEARTBEATS

    こんにちは。斎藤です。 Chefで構築の自動化ができる事はわかっていても、Cookbookをどう記述すればいいのかピンとこない場合があります。そんなときに使えそうなコツをピックアップしてみました。 「Chefを使ってみたいけどいまいちとっかかりがわかりづらい」「あれ、これはどうやるんだ?」、そんなときにご覧頂けたら幸いです。 ※Chef 10.16.2で確認しました。また、RHEL, CentOSで利用する事を前提に説明しています。 Cookbookに同梱したRPMファイルから直接インストールする cookbook_fileとpackageリソースを組み合わせて実行します。 下記の例は、MySQLサーバをRPMファイルを用いてインストールします。 "MySQL-server-5.5.29-1.el6.x86_64.rpm"ファイルをあらかじめ "files/default" 内に保存します

    hiroomi
    hiroomi 2013/01/23
  • nginx連載6回目: nginxの設定、その4 - TLS/SSLの設定

    株式会社ハートビーツのITインフラエンジニアがお届けするnginx連載の6回目。今回はnginxのTLS/SSLについての設定を確認していきます。以降、"TLS/SSL"のことを単に"SSL"と書きます。 nginx.orgのパッケージからインストールしたnginxが提供している設定ファイルexample_ssl.confをサンプルとして説明します。なお、一部修正をしております。 server { listen 443; server_name example.jp; ssl on; ssl_certificate /etc/nginx/cert.pem; ssl_certificate_key /etc/nginx/cert.key; ssl_protocols SSLv3 TLSv1; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ci

    nginx連載6回目: nginxの設定、その4 - TLS/SSLの設定
    hiroomi
    hiroomi 2012/06/11
  • nginx連載5回目: nginxの設定、その3 - locationディレクティブ

    locationディレクティブはパスの条件が評価されて選ばれたものが適応されます。この条件はパスの文字列の前方一致あるいは正規表現による評価です。この評価の順番は以下のようになります。 前方一致("=", "^~", プレフィックスなし)の条件の評価を実施 最も一致する条件を選ぶ。 選ばれた条件が、完全一致で、プレフィックスが"="であれば、そこで評価を終了し、そのlocationディレクティブを適応する。 選ばれた条件のプレフィックスが"^~"であれば、そこで評価を終了して、そのlocationディレクティブを適応する。 正規表現("~", "~*")の条件の評価を実施 正規表現の条件を設定ファイルに定義した順番に評価する。一致したら、そこで評価を終了して、そのlocationディレクティブを適応する。 前方一致の評価で選ばれた条件のlocationディレクティブを適応する。 ここで注意

    nginx連載5回目: nginxの設定、その3 - locationディレクティブ
    hiroomi
    hiroomi 2012/04/25
  • nginx連載2回目: nginxのインストール

    前回はnginxの概要を紹介しましたが、今回はnginxのインストールについて紹介します。なお、設定については今回紹介する予定でしたが、文章が長くなってしまったので次回にします。 「百聞は一見にしかず」ということで、実際にインストールして体験してみましょう。 インストール方法 nginxのインストール方法は主に次の3通りです。 ソースコードからビルドしてインストールする OSのパッケージシステムからパッケージをインストールする nginx.org提供のバイナリパッケージをインストールする お使いのOSがメジャーなLinuxディストリビューションや*BSD系のUNIXであれば、パッケージシステムからインストールできます。なお、記事ではCentOS 6にnginx.org提供のパッケージを利用する前提で話を書きます。 また、次のサイトにも情報がありますので一度ご覧ください。 公式ダウンロード

  • リーバスプロキシ/ロードバランサとmod_rpaf

    リバースプロキシ/ロードバランサ配下のApache HTTP Server(以降、単にhttpdと記す)ではmod_rpafというモジュールを使用すると、アクセス元のIPアドレスを正しく取得して、そのIPアドレスでログに出力したり、アクセス制御を行ったりすることができるようになります。 今回の記事の前半ではこのmod_rpafについてインストール方法や設定方法について説明します。 後半ではmod_rpafを使ってもアクセス制御ができない問題が発生して、それを解決した経緯などを紹介します。具体的にはロードバランサとしてAmazon Elastic Load Balancingを、プロキシサーバとしてnginxを、バックエンドサーバとしてAmazon Linux 2011.09のhttpdを使ったときにアクセス元IPアドレスによるアクセス制御がうまくできない問題が発生しました。このあたりにご興

    リーバスプロキシ/ロードバランサとmod_rpaf
  • nginx連載1回目: nginxの紹介

    皆様、初めまして。滝澤と申します。今月からここで記事を書いていきますのでよろしくお願いします。 ここ1,2年で注目を集めているWebサーバnginxについて今回から数回にわたってを紹介していきます。 nginxについて初めて知った、あるいは、名前は聞いたことがあるんだけど使ったことはない、といった方のために、1回目のこの記事ではnginxの概要を、2回目の記事ではインストールと設定について紹介します。 nginxとは nginxロシアのIgor Sysoev氏によって開発されているWebサーバ兼リバースプロキシのソフトウェアです。「エンジン エックス」(engine x)と呼びます。 2002年に開発が始まり、2004年に公開され、今では約10%のシェアを持つまでに成長しています。facebookやWordPress.ORGなどの大規模サイトでの導入実績もあり、導入するWebサーバの選択

  • 1