タグ

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

  • サーバ作業を安全に行うための工夫

    こんにちは。 2021年7月にハートビーツに入社後、エンジニアリンググループに所属している北岡です。 以前は同じMSP企業で10年以上勤務しておりましたが、自身のスキル向上などを目的としてハートビーツへ入社しました。 私の転職の経緯やハートビーツへ入社して感じたことなどは今後お話するとして、今回はお客様のLinuxサーバ上で作業する際、私がオペレーション中に意識していることやミスを防ぐために行っていることについて紹介します。 コピー、ペーストのショートカットキーを変更する コピー「Ctrl + c」とペースト「Ctrl + v」はキーが隣り合っており、タイピングミスによってコピーしようとしたつもりがペーストしてしまったということが起こりえます。 メモ帳などで起きた場合は特に問題にはなりませんが、サーバ上で起きると不要なコマンド実行に繋がります。小さなことではありますが防止策をとるべきです。

    サーバ作業を安全に行うための工夫
  • DNS前史:HOSTS.TXTとドメイン名ができるまで

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

  • OpenSSL 3.0のTLS証明書用プライベート鍵生成方法

    こんにちは、技術開発室の滝澤です。 前回(2021年7月)、『TLS証明書チェッカーcheck-tls-certの公開』というエントリーを公開しました。このcheck-tls-certを開発するにあたって、テスト用のPKI(Public Key Infrastructure、公開鍵基盤)を構築しました。 opensslコマンドを利用したPKI用のスクリプトを整備したのですが、開発当時ではOpenSSL 3.0の開発が進んでいることもあり、OpenSSL 3.0でも利用できるようにとドキュメントを読んでみると、「deprecated」(非推奨)の文字が散見されました。そのため、それを踏まえたスクリプトを書きました。この際に得られた知見を記事で紹介します。 なお、2021年9月7日にOpenSSL 3.0.0がリリースされました。 記事を1行でまとめると次のようになります。 OpenSSL

  • 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向けのバ

  • 文字エンコーディングの検出方法

    こんにちは、技術開発室の滝澤です。 最近(2021年春)、Go言語でメールパーサーを書く機会があり、備忘録的な意味でも知見をまとめておこうかなと思い、この記事を書きました。 メールパーサーを書いていて考慮しないといけないことの一つは、文字エンコーディング(charset)が正しく指定されていないメールがときどきあることです。 MIME(Multipurpose Internet Mail Extensions)関連のインターネット標準であるRFCが公開された1990年代や世間一般にインターネットメールが利用され始めた2000年代初期ならともかくとして、2021年にもなってまだその点を考慮しないといけないのはなかなかつらいことです。 そのようなメールを取り扱うときには、文字エンコーディングの検出を行う必要があります。記事ではその文字エンコーディングの検出方法について書いてみました。 なお、

  • DNSプロトコルのここ数年のトピック紹介

    こんにちは、滝澤です。 筆者の趣味として調べているDNSのプロトコルのここ数年のトピックについて紹介してみます。 ほぼ毎年、DNSに関連する新しいRFC(インターネットに関する技術仕様)が公開され、仕様が更新されたり、新しい仕様が追加されたりしています。 ここ数年のトピックについてまとめてみたいと思い立ち、この記事を書きました。 なお、この記事は2020年8月時点での情報となります。すべてを網羅しているわけではありません。 ちなみに、筆者は次のサイトを公開している人でもあります。 DNS RFCs ANYクエリーに対してRRsetをすべて返すわけではない 2019年1月に「RFC 8482 Providing Minimal-Sized Responses to DNS Queries That Have QTYPE=ANY」が公開されました。 このRFCでは、DNSレスポンダー(DNS

  • マルチクラウド構成における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風カーソル操作を実現している他に、 スペースの左のキーを 「単体押し→

  • Markdownを独自拡張してWordドキュメントを卒業する

    こんにちはCTOの馬場です。 このたび納品ドキュメント作成で永らく使っていたWordを卒業し、 Markdownで書いてPDFで納める活動を始めたので公開します。 Wordを使っていると並行編集作業できない、改訂履歴追跡が難しいなどの課題があり、その解決のためにいろいろ模索してこの形になりました。 この仕組みには、こんなイイところがあります。 Markdownで書ける gitで差分管理、版管理される GitLab のマージリクエスト(GitHubで言うところのPull Request)を使ってレビュー・リリース管理できる GitLab CIで自動ビルドされる GitLab CI + Jenkinsで自動デプロイされる 以下のツール群を利用しています。 GitLab MkDocs HEARTBEATS Flavored Markdown extension wkhtmltopdf Jenki

    Markdownを独自拡張してWordドキュメントを卒業する
  • 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から移行しやすいジョブスケジューラを使ってみよう
  • 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選
  • 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のルート証明書が有効期限切れで大騒ぎ
  • どうしてメモリはスワップするのか!?

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

    どうしてメモリはスワップするのか!?
  • ITインフラで起きる「もしも」のための12個のコマンド

    こんにちは。斎藤です。 ITインフラの障害は、多くの場合「予期せぬ」タイミングで発生します。特に、CPUリソースを多量に消費したり、Disk I/Oが輻輳している場合、その切り分けは困難な状況に陥りやすいものです。 そこで、日はITインフラ、特にOS・ミドルウェアを支えるにあたって、問題解決を助けてくれるであろう12個のコマンドを取り上げてみます。「必ず押さえておきたい」5つのものと「更に覚えると便利なコマンド」7つの2節に分けてお話しします。 ※CentOS 6.4 (64bit)を前提に取り上げます 必ず押さえておきたいコマンド もしITインフラ管理者になりたてな方はぜひ サーバサイドのプログラマをやっていたのだけれど、ある日突然「君、サーバ管理担当ね!」と、バトンを渡される方っていらっしゃると思います。私も以前はそのクチでした...。そうなってしまったとき、まずは覚えておきたい5つ

    ITインフラで起きる「もしも」のための12個のコマンド
  • MySQL を MHA + HAProxy で冗長化してみよう

    斎藤です。こんにちは。 今日は、MySQLにてレプリケーション構成において、マスタサーバのフェイルオーバーを司るmysql-master-ha(以下、MHA)を用いる際、マスタサーバ接続先の切り替えにHAProxyを使ってみようというお話です。 ※MHAは0.53.0(公式パッケージ)、MySQLは5.5.25a(Oracle公式パッケージ)、HAProxyは1.4.22(CentOS6標準パッケージ)、OSはCentOS 6.3 x86_64を用いました。 ※MHAによる冗長化およびHAProxyによるMySQLの負荷分散の設定を経験された事がある前提で記述します。 記事では、次の流れで話題を展開します。 フェイルオーバー時の接続先切り替え方法 構成(参考) なぜHAProxyなのか 切り替え方 2台構成の問題点 その他 コツ 設定(参考) 主にMHA+HAProxyによるフェイルオー

    MySQL を MHA + HAProxy で冗長化してみよう
  • 1