タグ

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

  • これからはじめる Azure の基礎知識 | 外道父の匠

    まいど AWS の犬が、少々 Azure に触れてみましたので、絵は描かずに基礎知識の整理と共有だけしていきたいと思います。 全然ド素人な状態なので、なにかしら間違ってたり不足していると思われますが、同じようにイチから調べる人の足がかりにでもなれば、くらいの質感で進めていきます。 はじめに 今のところ少々用事があっただけなので、これから Azure を掘り下げるぞとか、Azure の犬になるぞ、とかは考えていなく一発ネタで終わる可能性が高いです。雑なメモをブログに起こして、いったんの区切りとする個人的な清書のため、詳しくはちゃんとリンク先のドキュメントなどを読んでくださいませ。 さて、AWS に似たパブリッククラウドはいくつもあり、Azure もその1つです。公式ドキュメントに何箇所も AWS との比較が出てくるくらいには、Azure も AWS を意識しています。 例)AWS サービスと

    これからはじめる Azure の基礎知識 | 外道父の匠
  • AWS RDS/AuroraのDDL運用を最適化する | 外道父の匠

    AWS re:Invent 2022 にて RDS の Blue/Green が発表されたことを受けて、この辺の具体的な運用をどのように改善できるのか考えていきます。 たいした内容ではないですが、丁寧に最適化して慣れれば、それなりに強い効果を発揮できそうな感じはあります。 ALTER TABLE の辛み まず復習からですが、RDS に Blue/Green が実装されるほど辛い運用はなんだったかというと、重い ALTER TABLE にあります。 ALTER には色々あるのでアレですが大雑把に言うと、容量や行数が大きいテーブルに対して実行すると、数時間単位~の処理時間がかかることが多く、しかもパッと見で進捗を把握できないという問題を抱えていました。それに対して色んな対策を取っていたと思います。例えば…… Handler_write SHOW GLOBAL STATUS LIKE ‘Hand

    AWS RDS/AuroraのDDL運用を最適化する | 外道父の匠
  • 負荷試験#全体フロー概要 | 外道父の匠

    負荷試験シリーズ、書きたいことはイッパイある気がするんだけど、技術の総括的な感じがエグくて、どうしてもまとまりがなくなってしまう…… ということで、気分転換にザックリお絵描きしました。これで少しはテーマを切り取って小綺麗に書いていきやすくなったはず。 負荷試験の流れ それがこれじゃ!いくらでも肉付け項目が出てくるだろうけど、1画面に収める内容としては最小限としてほどよくまとまったはずである。 だいたい分かってもらえると思うけど、一応軽く説明はしておきます。長くならないよう、一言二言ずつで! 環境 クライアント・リソース 負荷試験ツールを動かすためのサーバー(群)。EC2 や ECS Fargate などのスポットで起動して安く済ませる。使い捨て用途なので、環境一式を作ったり削除したりを、一手で簡単にできるようにしておくと吉。 負荷試験ツール 疑似ユーザートラフィックを発生させるためのツール

    負荷試験#全体フロー概要 | 外道父の匠
  • 負荷試験#ツール選択 | 外道父の匠

    負荷試験シリーズの実質初弾としては、ツールの選択について考えていきます。 基的な基準を捉えつつ、私自身の要望を整理し、何に決定していったのか、という流れで参ります。 選定基準 前記事にも記載しましたが、このページは非常に参考になるので、まずは雰囲気だけでもサラリと読んでみるとよいです。 Open source load testing tool review 2020 Open Source Load Testing Tools: Which One Should You Use? | BlazeMeter ツールは必要? そもそも負荷試験ツールを使う必要があるのか、についてからですが、「必要はあります」で言い切って良いと思います。 選択しない場合、自身で何かしらコーディングすることになるわけですが、実装内容によってはできなくもない話とはいえ、より複雑になるほどオレオレ度合いが高まってコ

    負荷試験#ツール選択 | 外道父の匠
  • AWS Graviton2 新CPUの性能検証 | 外道父の匠

    C5が一歩抜けた強さの割に全部 ECU=10 な時点でアレですが、さらに6g系は該当なしです。で、費用的には c5/m5 の比率と c6g/m6g の比率は同じ 86% です。 第5世代では、C5 はメモリが少ない分、安くCPUが高速だったので強い選択肢でしたが、第6世代ではメモリが少ない分、安い。だけになるので、C系を選ぶメリットがだいぶ弱くなりそうです。 単純に、14%安くしてc6gにするって考えよりも、14%高くしてメモリ倍の方がよくねっていう。そういうパターンのほうが多いんじゃないかと、いうだけで全然絶対じゃないですけど。 考えようによっては、AutoscalingGroupに複数のインスタンスタイプを指定するとき、c6g, m6g, r6g と混ぜてもCPU使用率の格差がAZ以外で起きづらくなるだろうから、扱いやすくなると言えなくもない。 vs C5 あまりに差が付きすぎて、自分

    AWS Graviton2 新CPUの性能検証 | 外道父の匠
  • Auroraのスナップショット復元時間 | 外道父の匠

    年明けからAuroraに粘着し続けて4記事目、残りカスのような数値を記録しておきます。 RDS/Auroraは起動時間がそんなに早くないですが、スナップショットからの復元は特に遅いと感じたので、データ容量との関係を調べておきました。 スナップショットからの復元時間 いざという時・・・のためでもありますが、より機会が多いであろうテスト用に起動する時のためにも、何GBならだいたい何分で起動するのかを知っておくと、運用上健康的ですよね、ということで。Auroraの管理画面で、進行%を出してくれると最高なんですが、まぁそこまで要求するのもアレなんで、、(チラッ)ただデータを増やして起動するという、不毛気味な検証というかデータ採取をしてみました。 sysbench と INSERT ~ SELECT でデータ容量を倍増させてはスナップショットを取得。そして1つずつ起動時間を計測していきました。 起動

    Auroraのスナップショット復元時間 | 外道父の匠
  • Auroraクラスタのレプリケーションクラスタを作成 | 外道父の匠

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

    Auroraクラスタのレプリケーションクラスタを作成 | 外道父の匠
  • ミドルウェア性能検証の手引き | 外道父の匠

    インフラエンジニアの多分、華形のお仕事の1つであるミドルウェアの性能検証を久々にガッツリやる機会がありましたので、検証作業の基的な項目について初心から振り返っておきたいと思います。読みやすさ度外視の詰め込み記事注意警報です。 世の中、雑な検証結果もちょいちょい散乱していて、私自身もそうならないよう注意を払っているわけですが、ガチでやると気をつける項目が多くて、自分で忘れたりしないようにと、誰かにやってもらいたい時に基を抑えてから取り掛かってもらうために、形にして残しておこうと思った次第であります。 目次 なぜ性能検証をするのか 環境の準備 インスタンスの用意 クライアントの用意 サーバーの用意 ボトルネックになりうる項目 CPU Utilization Memory Network Bandwidth Disk Bandwidth Disk IOPS Disk Latency Disk

    ミドルウェア性能検証の手引き | 外道父の匠
  • AWS ALBの運用豆知識 | 外道父の匠

    たいした諸事情なわけでもないですが、だいぶ更新を空けてしまいましたので、ささやかなことからコツコツと書いていこうかと思います。 今回は、ALB(Application Load Balancer)の運用で得られた豆知識の記録です。 暖機運転の豆知識 申請の必要性 ALBはトラフィックが増加しても自動的に拡張して対応してくれますが、急激に増加すると拡張が間に合わずにキャパシティオーバーとなって、ALBがエラーを返してしまう可能性があります。そのため、事前にこのくらい跳ね上がりますので暖めて馴染ませておいてください。ってのが暖機運転(Pre-warming)です。 基的には事前に申請して扱う仕組みですが、想定よりトラフィックが多くなり、エラーが多発し、数十分・数時間も解決しない場合もこの申請をすることがあります。この場合、ALBが自動拡張してくれない = 何か他に問題がある 可能性が高いので

    AWS ALBの運用豆知識 | 外道父の匠
  • 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の各種エンドポイントとダウンタイムの検証 | 外道父の匠
  • AWSにおけるSSL証明書の基本的な取扱い | 外道父の匠

    多くの企業が、今年中にWebサービスの暗号化を進めなくてはいけなくなったかと思います。 Webに接続するiOSアプリは2017年1月からHTTPSの使用が絶対条件になる、デベロッパーはご注意を | TechCrunch Japan ということで、基的な内容ではありますが、AWSにおけるSSL証明書の扱いについて復習してみます。 AWSで扱う証明書の種類 ここでいう種類とは、EV SSL だの ワイルドカードだの、証明書の製品としての種類ではありません。 1つは AWS Certificate Manager(以下、ACM)の無償証明書、もう1つは従来のSSLサーバ証明書販売サイトで購入する有償証明書、の2種類となります。 それぞれの証明書を、AWSのリソースにどのように登録し、運用していくかについてまとめていきます。 ACMの証明書を利用する 2016年1月にリリースされ、5月にはTok

    AWSにおけるSSL証明書の基本的な取扱い | 外道父の匠
  • Amazon Auroraを始めるためのパラメータ資料 | 外道父の匠

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

    Amazon Auroraを始めるためのパラメータ資料 | 外道父の匠
  • 現代ITインフラの王道をゆくLinuxパッケージ管理の基本構成 | 外道父の匠

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

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

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

    EC2拡張ネットワーキングの性能と設定手順 | 外道父の匠
  • Amazon Auroraを真に理解するための性能検証 | 外道父の匠

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

    Amazon Auroraを真に理解するための性能検証 | 外道父の匠
  • MySQL + ioDrive + XFSにおけるbinlogローテート問題 | 外道父の匠

    前回の問題とはまた別件で、今度はbinlogのローテート切り替わりタイミングに更新クエリが停滞する、という問題を調べることになりました。 調査の過程で何を誤ったか、Twitterという魔法陣から最強クラスの重鎮魔神を召喚してしまい、恐れ多くも原因の特定と対応方針の決定ができてヘコヘコな感じでございます。 binlogローテート時の障害 数十分に1回、更新クエリが停滞してアプリケーションにエラーログが残るということから、他のエンジニアが、どうもbinlogの切り替わり時にそれが起きているっぽいことを特定してくれました。発生時は1~3秒は更新機能が停止するので、結構なレベルの障害ということでした。 binlogは1GBでローテートするように設定していたのですが、dstat -d でwrite容量を見ていると、確かに切り替わり時に800~900MBの書き込みを確認できました。 このことから、bi

    MySQL + ioDrive + XFSにおけるbinlogローテート問題 | 外道父の匠
  • ulimitが効かない不安を無くす設定 | 外道父の匠

    limits.conf に書いても ulimit に効いていない、というのはよくある話です。 ulimit が少なくて困ったことはあっても、多くし過ぎて困ったことはほとんどないでしょうから、ドーンと全条件下でulimit設定を効かせる方法を紹介します。 ulimitが効かない問題 だいたいこんな内容だと思います。 SSHログインだと効かない su すると効かない OS起動時に自動起動したデーモンに効かない 普通はデーモンに効けばよいので、当に困ったら起動スクリプトに直接書いたりしますが、方法としてはイマイチなのでちょっと工夫をします。 その前に・・・ PAMについて PAMというユーザー認証システムについてはググっていただくとして、よく出てくる /etc/security/limits.conf という設定ファイルは、PAMを通る条件下でしか有効になりません。 ではPAMを通るとはどうい

    ulimitが効かない不安を無くす設定 | 外道父の匠
  • 2014年からはじめるAWSリンク集 | 外道父の匠

    ガチのAWSド素人が年末に調べまくった、AWS関連のリンク集です。 まだまだ調査中なので随時追加する予定ですが、広深くてキリがないのと、年始一発目の目覚ましエントリということでいってしまいます! はじめた目的 多数のスタートアップにおいて、インフラ専門のエンジニアが付かなくても、小~中規模程度まではそのチームでインフラ面を完結できるようにしたい。 …ということで、今の時代に合わせて簡単・安価・拡張性・耐障害性…を満たす環境を考えるべく、ひたすら知識をかき集めることにしました。考えた構成などについては別途書きたいと思います。 また、遡って調べるほどに出来と進化速度に感心するとともに、情報消費期限がせいぜい2年だと感じ、ほぼ2年以内の情報をもってこのような臭ぇタイトルにしています。 目次 ドキュメント アーキテクチャ クラウド全般比較 クラウド性能比較 費用/スペック ネットワーク 基インス

    2014年からはじめるAWSリンク集 | 外道父の匠
  • Percona XtraBackupの基本的な使い方 | 外道父の匠

    PerconaといえばXtraBackup!! といっても過言ではないこの機能。 バックアップ手法はいくつかあれど、少なくともmysqldumpを使うくらいならXtraBackupを使っとけばいいと思います。手始めに、簡単な使い方から紹介していきます。 はじめに インストールについては前にまとめてあり、単にパッケージインストールするだけになっています。 バージョンは必ず最新を使ってください。だいぶ安定してきたとはいえ、バグフィックスは常にされており、特に v2.0.0 では8GBを超えるデータの際にエラーが起こるため、修正されています(参照:Announcing Percona XtraBackup 2.0.1)。 XtraBackupはmysqldumpと比べると、バックアップ作成速度が遅くなったり、データ容量が大きくなったりする場合がありますが、その代わりに以下のようなメリットがありま

    Percona XtraBackupの基本的な使い方 | 外道父の匠
  • 1