タグ

ブックマーク / blog.father.gedow.net (20)

  • AuroraのALTER TABLE性能検証とRDS比較 | 外道父の匠

    よく、Auroraを採用しました、安定しています、移行してよかったです!とか見かけますけど、 なんで快適なのかをちゃんとわかって使ってんのかこの野郎ッp(`・ω・´メ)q 俺も全然わかってねぇッ( ・`ω・´) ということで、今回もいい感じに飽きてきたAuroraです。Aurora。少々気になっていた、ALTER TABLE周りについて興味深い数値が取れたので、その共有で御座います候。 MySQL5.6互換 AuroraMySQL5.6互換というけれど・・・ Q:「MySQL と互換性がある」とはどういう意味ですか? これは、現在お客様が MySQL データベースで使用しているほとんどのコード、アプリケーション、ドライバー、ツールをほとんど、またはまったく変更を加えなくても Aurora で使用できることを意味します。Amazon Aurora データベースエンジンは InnoDB スト

    AuroraのALTER TABLE性能検証とRDS比較 | 外道父の匠
  • Auroraの各種エンドポイントとダウンタイムの検証 | 外道父の匠

    前回に続いてまたAuroraです、Aurora。高い可用性なのはわかっていますが、じゃあ具体的にどのくらいやねん、となると良い情報がなかったので調べることにしました。 Auroraの公式情報は、一定以上の知識を前提とした内容になっていて、良いバランスで心地よい感じなのですが、まだ読んでて楽しいコンテンツが欠けている印象です。一般情報も、出ました、使ってみました、とかしか無くて寂しいので、ブルーオーシャンを泳いでいくとしましょう。 AuroraのEndpoint 公式読めばいい所なので軽く復習ですが、現在のAuroraのEndpointは3種類あります。 Cluster Endpoint … 常にWriterを指すFQDN。参照更新の両用 Reader Endpoint … ランダムでReaderを返すFQDN。参照用 (Instance) Endpoint … インスタンス毎に割り当てられ

    Auroraの各種エンドポイントとダウンタイムの検証 | 外道父の匠
  • Auroraクラスタのレプリケーションクラスタを作成 | 外道父の匠

    とあるAuroraクラスタの、完全なデータコピーかつ最新データも元クラスタからレプリケーションで反映し続けるクラスタって作れるのかなーと調べてみると、公式のユーザーガイドにも一般情報にも見つからないしで、裏技臭がしたので書き留めておきます。 実はわりと常識レベルだったりしたらゴメンナサイって感じですが・・・おそらく仕様変更など入らず、ずっと使い続けられるテクニックだと推測できる内容であります。それでは、Auroraクラスタの完全コピーを作りたくなった理由も含めて、まとめていきたいと思います。 Auroraの基的なレプリケーション Auroraの復習ですが、Writer(=Master) と Reader(≒Slave) は共通のディスクを利用することで、極小さな遅延(10-20ms)でのデータ共通化を実現しています。なので、Writer/Reader間は従来のbinlogを用いたMySQ

    Auroraクラスタのレプリケーションクラスタを作成 | 外道父の匠
  • Terraform+GPG で IAM User にログインパスワードを設定 | 外道父の匠

    AWSTerraform の記事を書くのってあまり好きじゃないんですけど、年末くらい1つ書いておこかなという義務感的なアレです、ハイ。 Terraform v0.7.8 から aws_iam_user_login_profile が追加され(CHANGELOG)、IAM User にログインパスワードを設定して、暗号化して state ファイルに保存できるようになったのでやってみましたという、たわい無い内容でございます。 概要 TerraformでIAM Userを作成します。管理画面ログイン用のパスワード設定も行い、パスワードは暗号化された状態で terraform.state に保存されます。 aws_iam_user_login_profile に書いてありますが、使用する公開鍵は base64 でエンコードしたものを直書きするか、keybase のユーザー名を入力することになって

    Terraform+GPG で IAM User にログインパスワードを設定 | 外道父の匠
  • AWSの複雑な仕組みをTerraform化で紐解く事例 | 外道父の匠

    インフラエンジニアも、そうでないエンジニアも、程度の差こそあれAWS(パブリッククラウド)の知識は欠かせないものになりつつあります。しかしながら、わず嫌いだけならまだしも、AWSにそこそこ取り組み続けているのに、しばしば嫌気がさすことすらあるのは、AWSの複雑さが原因の1つであるといっていいでしょう。 今回は、そんな複雑な仕組みの一つを、Terraform用にコード化することでココロのスキマ、お埋めします。 Infrastructure as Code の過程 Infrastructure as Code によって、手動管理をやめて自動化することのメリットは言うまでもないですが、今回は自動化する過程にこそ非常に大きなメリットがある、という視点にスポットを当てていきます。 AWSは多機能で便利であるがゆえに、複雑です。そして、複雑であるがゆえに、お客さんに簡単に扱ってもらえるよう、操作が簡

    AWSの複雑な仕組みをTerraform化で紐解く事例 | 外道父の匠
  • Amazon Auroraを始めるためのパラメータ資料 | 外道父の匠

    Auroraがそこそこ浸透してきたように感じなくもないですが、そのわりに情報がまだ少なめなのは、それだけ従来のMySQLと変わりなく扱え、性能も十分満足いくものだろう、という証なのでしょうか。 中の人も、パラメータチューニングは済んでいるので、基的にはスケールアップで対応してください、と申しているように、かなり良い調整がされているようです。しかし、インフラエンジニアというかエセDBAたるもの、何がどう調整されているかを具体的に確認しなくては気がすまないため、整理してみたわけです。 デフォルトの設定 パラメータグループについて Auroraのパラメータは従来と異なり、ノード毎の設定である『DB Parameter Group』と、クラスタ内共通の『DB Cluster Parameter Group』の2つに設定が分かれます。 必要に応じてクラスタの方に、文字コードやレプリケーション周りな

    Amazon Auroraを始めるためのパラメータ資料 | 外道父の匠
  • ドリコムを退職しました……弟子が | 外道父の匠

    世間の流れに沿って、一度、退職エントリを書いてみたかったんですけど、まだちょっと退職しそうにないんで、倒置法で我慢してみました。 人には「退職エントリ書くね!」と去り際に伝えてありますが、センシティブなカテゴリですから、企業・個人事情に基づくものというよりは、身近な人間が退職したという出来事に対する感想的なものとなります。 ザッと振り返って 前に書いた、「新卒インフラエンジニアを育成した話」で地獄を見せようと試みて、いまいち業火で焼き尽くせず耐え切ったアノ弟子です。二年が経過し、中小規模のサービスを専任で4~5個担当するまで至っていたので、当人の努力と成果は十分であったのかと思います。 他にも、AWS関連や、インフラのアーキテクチャなどは、私と共に進めたり、時には率先して案を出したりもしてくれていたので、中盤からは弟子というよりは普通に共同作業者という立ち位置でした。例えば「現代ITイン

    ドリコムを退職しました……弟子が | 外道父の匠
  • EC2拡張ネットワーキングの性能と設定手順 | 外道父の匠

    AWS VPC内のLinuxでは、拡張ネットワーキング(Enhanced Networking)という機能が使えます。利用条件はあるものの、この機能を有効にするだけでネットワークが速くなるので有用なのですが、何がどれくらい速くなるのか気になったので計測してみました。 この機能自体は2013年末に発表されたものなので、目新しくはないです。ただ、公式の説明やその辺の情報を調べても、イマイチ情報がわかりやすくまとまっていない部分があったので、設定についてもまとめ直してみました。 デフォルトと拡張ネットワーキングの性能比較 この機能のON/OFFによって、変化するのは通信のレイテンシであり、最大Bandwidthが変わるわけではありません。また、インスタンスタイプによってレイテンシの変化量が変わるわけでもありません。 そのため、ここで載せるのは1つのインスタンスタイプにおいて、バージョン違いを含め

    EC2拡張ネットワーキングの性能と設定手順 | 外道父の匠
  • 現代ITインフラの王道をゆくLinuxパッケージ管理の基本構成 | 外道父の匠

    RedHat系におけるRPMパッケージを扱うYUM、Debian系におけるDEBパッケージを扱うAPT、これらはサーバー管理において重要なわけですが、絶妙な度合いで、おざなりに扱ってもわりとなんとか運用出来てしまう感があります。そのため今一度、こんな感じが今風のスタンダードじゃないっすかね(キリッ という構成を説明してみます。 ぶっちゃけ、たいしたことないネタの集合体なので、タイトルに下駄を履かせました。 そもそもパッケージは必要なのか 言うまでもなく必須です。理由は、インストール物のファイル管理が容易になるのと、インストール時間を短縮できるからです。既存のパッケージでconfigureオプションが物足りない時や、RPMパッケージが存在しない場合は作成することになります。 最近はプロビジョニング・ツールによって全て自動化できるので、超簡素なコンパイルのものはレシピに落とし込んで終わりにした

    現代ITインフラの王道をゆくLinuxパッケージ管理の基本構成 | 外道父の匠
  • NetworkManager+dnsmasqで名前解決の耐障害性を向上 | 外道父の匠

    クラウド・インスタンスにおけるDNSサーバーの指定は、DHCPサーバーから情報を取得して利用するようになっています。具体的には dhclient が resolv.conf を上書きする感じですが、最近は NetworkManager さんがこの辺の面倒を見てくれるので、まともな構成 ってやつを考えてみました。 ドンピシャで正着に至ったというわけではないですが、ひとつの有効な手段として扱うことはできそうです。 目次 概要 NetworkManagerがない場合 NetworkManagerのデフォルトの挙動 dnsmasqを利用する 任意のDNSサーバーを追加する 起動時の設定として組み込む dnsmasqのForward方式 DNSキャッシュ 耐障害性 理想の挙動 概要 NetworkManager は必ずしも必要なわけではないですが、CentOS7 など新し目のディストリビューションで

    NetworkManager+dnsmasqで名前解決の耐障害性を向上 | 外道父の匠
  • Amazon Auroraを真に理解するための性能検証 | 外道父の匠

    今回は、まだ全然底が見えていないAuroraのガチンコ検証となります。公式資料に、発表当初の簡単な検証数値もありますが、自分でやらないと理解できない部分が多くあるためです。 既にAuroraにするだけで従来より速くなる説は有力ですが、なぜ速くなるのか、どのような点に注意を払って運用すべきなのか、といったことを理解するために、より局所的な検証をいくつか行って考察していきたいと思います。 目次 楽しい検証になって長くなりましたので、目次を置いておきます。 はじめに クエリのレスポンスタイム クエリキャッシュ CPU利用率とIOPSの性質 データ容量とストレージ性能の関係 インスタンスタイプとストレージ性能の関係 運用面の色々 何がボトルネックになるか はじめに いくつか前提的なものを。 ベンチマークは全て、sysbench を使ってテストデータ作成・ランダム参照/更新クエリを実行しています デ

    Amazon Auroraを真に理解するための性能検証 | 外道父の匠
  • MySQL5.7 / RDS / Aurora / Cloud SQL の性能比較 | 外道父の匠

    CloudSQLの価格は実戦的という意味で、per Dayの価格を24hourで割った価格にしています。 メモリは2GBあれば検証としては十分なので格差は関係ありません。 IOPSはEBSならGeneral Purposeの1000GB*3で最大確保しています。 その他、ネットワーク周りなどポイントがあれば都度、補足していきます。 ベンチマークのデータ 今回、採取した全データはこちらになります。一部、目的に対して不要と判断したら省略しています。まぁ、こんなオレオレメモデータを見ても楽しくないでしょうから、1つ1つ考察していきましょう。 手法について 私がよくやる計測方法なのですが、innodb_buffer_pool_size がデータ容量より大きい健全な状態と、最小の16MBで過負荷ストレージを演出し、それぞれで参照/更新を別々にランダムアクセスをすることで、最初のボトルネックを炙り出し

    MySQL5.7 / RDS / Aurora / Cloud SQL の性能比較 | 外道父の匠
  • SSSDとnslcd+nscdの比較 | 外道父の匠

    SSSDを触り始めた理由である、nslcd+nscd と結局どっちがエェねんという疑問をまとめていきます。 SSSD といっぱいタイピングしていると ssh が sssh になってしまう病気にかかるので要注意です。 関連記事 認証システムSSSD+LDAP+SUDOの構築手順 SSSD+LDAP+SSH連携の設定 システムの用途 nslcd(Name Service LDAP Connection Daemon) はその名の通りLDAPとの接続を担うだけなので、キャッシュ担当の nscd (Name Service Cache Daemon) がいないと毎回LDAPに接続することになり、不健康となるためセットで使うのが基です。 SSSDは認証管理+キャッシュの役割を併せ持つので、デーモンとしては1つになります。LDAP以外の様々な認証機能を使えるのも強みですね。 LDAP周りだけでいえば

    SSSDとnslcd+nscdの比較 | 外道父の匠
  • SSSD+LDAP+SSH連携の設定 | 外道父の匠

    古いOpenSSHだと、OpenSSH-LPKというパッチを当ててコンパイルすることでSSHとLDAPを連携していましたが、v6.2 からは AuthorizedKeysCommand という設定で連携できるようになりました。 それを使って SSSD と連携してみたり、ついでに nslcd でのおさらいもしておきます。 関連記事 認証システムSSSD+LDAP+SUDOの構築手順 SSSDとnslcd+nscdの比較 SSSD+SSH+LDAPの設定 認証システムSSSD+LDAP+SUDOの構築手順 の通りにSSSDが構築済みとします。 その内容で必要なポイントは以下2点です。 [sssd] の services に ssh が入っている [ssh] の空設定が存在する アンコメント or 追記します。

    SSSD+LDAP+SSH連携の設定 | 外道父の匠
  • 書籍「たのしいインフラの歩き方」を執筆しました | 外道父の匠

    エンジニアになってかれこれ14年目、そのうちの多くをインフラエンジニアとして過ごしてきました。ドリコムが弱小ベンチャーの時代から始まり、上場を経て今に至るわけですが…… そんな私の経験を凝縮したような書籍 『たのしいインフラの歩き方』 を執筆しましたことを、ご報告させていただきます! の概要 タイトルどおり、インフラ周りの歩き方について記したものであるため、これを読めば環境を構築できるとか、深い技術や仕組みを理解できる、というようなザ・技術書といった類の内容ではありません。 では、ここでいう歩き方とはなんぞや?といいますと、起業したての小企業から、数百人規模の大企業に至るまでに、どのような技術的要望があり、どのように解決していくのか、という時間軸や規模感に沿ったインフラのエンジニアリングや、その心構え、ということになります。 対象読者としては、大きくは初~中級者のエンジニアとなっています

    書籍「たのしいインフラの歩き方」を執筆しました | 外道父の匠
  • OZ plusのイクメン紹介に載りました | 外道父の匠

    技術話ではないのですが、一応『父』を名に含んでいるので記念投稿してこうかなと。 7月28日(火)に発売された雑誌『OZ plus 2015年09月号』のイクメン紹介の一人として、インタビューが掲載されました。オズプラス最新号 – OZmallに立ち読みがあって、ちょうどそこが載っているのでオンラインで読むことができます。 インタビューを受けた経緯 会社の広報的に、育児に協力的な組織ということをアピールしていこう、という案から始まったようです。実際、ウチは育児に寛容な方だと思うので、その辺は入社前に質問しておくと、十分な回答を得られると思います(アピール終)。 で、広報の人が誰にインタビューしてもらうかを周りに聞いたところ、私の名が即座に上がったようで依頼が舞い込んだということになります。社内では、私の家事育児の担当率がツーナイン(99%)以上あることを知っている人も多いので、まぁ当然の結果

    OZ plusのイクメン紹介に載りました | 外道父の匠
  • 新卒インフラエンジニアを育成した話 | 外道父の匠

    お久しぶりでございます。諸事情によって半年近くも息を潜めていましたが、また継続的なアウトプットをしていきたいと思います。あうとぷっとあうとぷっと。 昨年からAWSに触り始めて、少しずつ研究して、今年から番運用を開始できています。なので、そっち方面が多くなりそうなのですが、その一発目として昨年にAWSを軸に新卒インフラエンジニアを育成してみた話を書いてみます。 経緯 ウチでは一般的な新卒採用を行っています。内定が出て、入社後はエンジニアも一定期間の研修を受けて、そして配属されることになっています。 私は稀に、キャリアプランによっては内定した段階の子との面談を組まされるのですが、その時点でインフラエンジニアになるという断固たる決意を持っていて、研修の段階に入っても意志は変わらなかった野郎がいたのでインフラ部隊に入れることにしました。しましたといっても普通は、配属は人の希望以外に人事部判断や

    新卒インフラエンジニアを育成した話 | 外道父の匠
  • Mackerel Meetup #1 Tokyo に参加したり使ってみた感想 | 外道父の匠

    はてなMackerel は気になっていたので登録はしていたのですが、ウチのお母さんがこのイベントに参加することになり、その勢いで俺と息子(4歳0ヶ月)もいくことになりました。 Mackerel Meetup #1 Tokyoを開催します! – mackerel.io ブログ そのため、あわてて実際に Mackerel を使ってみて感想をメモっておくとかしておいたのですが、懇親会ではずっと息子と遊んでいたので、こちらに考えたことを書くことにします。 イベントの内容 これについては早くもまとめてくれている方々がいるので、こちらをどうぞ。 Mackerel Meetup #1 Tokyo の感想まとめ #mackerelio – Togetterまとめ Mackerel Meetup #1 に行ってきました #mackerelio | こえむの編集後記 はてぶ発の監視サービスを中の人が語る!

    Mackerel Meetup #1 Tokyo に参加したり使ってみた感想 | 外道父の匠
  • OpenStack Grizzlyを1年運用して起きた認証システム障害 | 外道父の匠

    とてもツマらない障害対応のメモとなります。 が、英語圏には多少の情報はあったけど日語になかったので、書き留めておきます。 障害内容 ある日、突然、OpenStack Grizzlyの管理画面からインスタンス作成などの操作が全てできなくなりました。 既存のインスタンスには特に影響なく稼働していました。 原因 動作的には、認証システムであるKeystoneと、それ以外の全てのコンポーネントとの認証が失敗することが原因となりました。 nova list や glance image-list などが Unauthorized 401 になる状態です。 根的な原因は、Keystone管理のSSL証明書の期限が切れたことによるものでした。 調査内容 初めはトークンデータが溢れて記録できなくなったのかと思いましたが、keystone-manage token-flush を実行しても特に解決できず

    OpenStack Grizzlyを1年運用して起きた認証システム障害 | 外道父の匠
  • Percona Server 5.5にて10秒間隔でDisk I/Oが重くなる問題 | 外道父の匠

    久しぶりにDBAとしてお手伝いした時の汚いメモになります。 Percona Server5.5+ioDriveのMySQLで、イベント時やピークタイムにアプリケーションからのDB利用が重くなる、ということで調査から対応方法まで考えてみました。 問題点の大雑把な特定 高トラフィック時に、RubyからMySQLの接続やクエリがちょこちょこ重くなり、レスポンス速度に影響が出る、とのこと。で調査開始。今回のPercona Serverのバージョンは 5.5.34 でした。 top -d1 で触診してみると、謎の10秒間隔でiowaitが5~10%に上がることを確認 5分平均のiowaitグラフを見ても、ピーク時は50~60%であることを確認。ioDriveでこれはイカン dstat で見ると、平時はwrite数MB/s~十数MB/sのところが、やはり10秒間隔でwrite 数百MBを確認。ピーク時

    Percona Server 5.5にて10秒間隔でDisk I/Oが重くなる問題 | 外道父の匠
  • 1