タグ

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

  • AWS RDS Proxy の実戦的な基礎知識 | 外道父の匠

    RDS Proxy はリリースして4年以上経過(Amazon RDS Proxy が一般提供開始)しましたが、そこまで一般的な情報は多くないのと、自分の整理の意味を込めて適度に吐き出しておきたいと思います。 用途はいくつかある中で、今回は単純な負荷に対するスケーリング対策としての内容となります。今年最後の記事なのに想像込みの部分もあって絞まらないかもですが、お手柔らかにお願いします。 はじめに RDS Proxy は便利な可能性を提供してくれるものですが、ただ導入しただけで幸せになれる類のものではありません。どのような仕組みであり、なぜ効率が良くなり、どのように扱えばよいのか、について正しく理解しようとする姿勢が必要なのは、他のシステムと同じです。 基的な情報についてはリンクを置いておきますので、そちらに任せるとして、ここではそういう情報を一見しただけではわからなそーな部分についてまとめ

    AWS RDS Proxy の実戦的な基礎知識 | 外道父の匠
  • AWS ECS Service のオススメ監視項目 | 外道父の匠

    前記事 AWS ECS Fargate Autoscaling の実戦的な基礎知識 の続きというか派生的なところで、こんな監視項目がこんな理由でえぇんちゃうん、という基礎知識的なお話です。 当ブログでは『監視よければ全てヨシ!』という格言を推していますので、監視の仕込みをサボっている人は今からでも頑張っていきましょう。 はじめに もともと書くつもりでいたタイトルは、公式からこのドキュメントが出たことで、ゴミ箱行きかと思いました。 推奨アラーム – Amazon CloudWatch > Amazon ECS んが、まぁ所詮はドキュメントということで、ここではもう少し実戦に寄り添う形でまとめていければと思います。 あったら嬉しい監視項目をカテゴリごとに整理しつつ、その理由やら補足情報によって、楽しく監視できるようにしていきたいところです。合わせて読みたいところとしては、この辺もどうぞ。 ミ

    AWS ECS Service のオススメ監視項目 | 外道父の匠
  • インプットのすゝめ | 外道父の匠

    絶賛成長期にあるだろう若手エンジニアは、どういう流れで自身の成長を促したら良いのだろうか、とふと思いつつ口頭で説明してみたけどよくわからんくなったので整理してみたいお気持ちです。 当ブログではアウトプットの効用みたいなものは書いてきましたが、インプットそのものについてはお初なので、自身を振り返る良い機会にもなりそうです。 はじめに これは私が二十数年間、プログラマー・インフラ・SRE といったエンジニアとして通ってきた中で、どのようにインプットをしてきたかを整理してみるチラ裏です。 自分は一般(?)と比べれば少々特殊な経歴で、情報学を学んだことも、新卒研修を受けたことも、IT系資格も、転職したこともない…… ほぼ独学による野良エンジニアとして生息してきましたので、あまり参考にはならないかもしれません。 それでも一応長く生き抜いてきたエンジニアの経験として、インターネットに数多くある参考例の

    インプットのすゝめ | 外道父の匠
    clavier
    clavier 2024/05/01
  • 続・AWS ECS Fargate のCPU性能と特徴 2023年版 | 外道父の匠

    2年半近く前に書いた AWS ECS Fargate のCPU性能と特徴 | 外道父の匠 の続編になります。 そんなに楽しくはないけど、知っておいて損はない、くらいの調査と考察になります:-) 前口上 ちょうど1年前に FARGATE のリソース天井が上がりました。今回は、ほぼそれを区切りにした結果になっていると思います。 AWS Fargate でコンピューティングとメモリのリソース構成が 4 倍に増加 vCPU 条件と Availability Zone を変え、3タスクずつ起動し、出現したCPUモデルをメモっていきました。ついでに軽量ベンチマークとして前回同様 OpenSSL speed をカマしておきました。 関係ないけどコンテナイメージは amazonlinux:2 です。では結果をどうぞ。 出現CPUモデル CPUアーキテクチャを選べるので、それぞれについて。 ECS Farg

    続・AWS ECS Fargate のCPU性能と特徴 2023年版 | 外道父の匠
  • Terraformのループ記法を基礎から学ぶ | 外道父の匠

    Terraform のコーディングにおいて、似た構成の複製をどのように表現するかは結構重要な課題です。放っておくと汚いコピペだらけになっていくからです。 色々な目的とやり方があると思いますので、その表現を実現するためのパーツにでもなればと思い、学習用教材的に書いてみるやつでございます。 目次 説明はそんなに多くないですが、コードのせいで縦長になったので目次を置いておきます。Terraform バージョンは v1.5.7 で動作確認しています。 単体の複製 count for_each セットの複製 module count + module 条件分岐 三項演算子 入れ子 ループ構造 for 複製の方法 階層構造 Pythonの入れ子ループ Terraform の入れ子ループ 続・階層構造 単体の複製 あるリソースに対して、単体の場合は count や for_each を使うことで、lis

    Terraformのループ記法を基礎から学ぶ | 外道父の匠
  • AWS ALB+ACMの意外な落とし穴 | 外道父の匠

    全然たいした話ではないのですが、へーって思ったので記録しておきます。 ALB にて外部からの不正アクセスを塞いだ話になります。 はじめに注意 ※追記3 この記事は、知識不足な状態で始まり、知識不足なまま初出した未熟な内容であり、外部の助力によりそれが解決に向かう、という流れになっています。 調査環境がAWSだったために、タイトルがこうなっていますが、実際はALB+ACM単独の問題ではなく、SSL/TLS としての仕様の話になっている、 ということを念頭において、読んでいただければと思います。 ※追記3ここまで 構成と問題点 手動で作成された ALB → EC2 環境があって、ワイルドカードなACM を使って 0.0.0.0:443 のみ開いており、EC2 は Global からのアクセスは遮断してありました。 にも関わらず、不正系なHostヘッダでアクセスされた形跡があり、コイツどこから来

    AWS ALB+ACMの意外な落とし穴 | 外道父の匠
  • AWS ALBの運用豆知識 | 外道父の匠

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

    AWS ALBの運用豆知識 | 外道父の匠
  • AWS Aurora MySQL Parallel Query の基礎研究 | 外道父の匠

    AWS Aurora MySQLには、高性能を期待できる Parallel Query という機能があります。 実際、良いモノっぽいのですが、非常に情報が少ないので私めがいつものように掘り下げて、お役に立てればという徳を積む行為であります。 目次 Parallel Query とは リンク集 速度比較 費用の仕組み 設定による有効・無効 有効にできない条件 Parallel判定されるクエリ 結合クエリ innodb_buffer_pool_size との関係 その他 実践では Parallel Query とは 詳しくは下記リンクを見たほうがいいのですが、頑張って要約してみます。 通常のDB処理は、データを可能な限りメモリ上に置いておいて処理しようとしますが、オンメモリじゃないデータはストレージから取得する必要があり、データ取得後はDB体における1スレッドがクエリ処理を行います。 Aur

    AWS Aurora MySQL Parallel Query の基礎研究 | 外道父の匠
    clavier
    clavier 2021/10/23
  • AWS ECS Fargate のCPU性能と特徴 | 外道父の匠

    ちょいとした用途において、カジュアルにFargateの起動/停止を繰り返して、気ままに負荷全開かけていたら、あまりの違和感にCPU割り当てについて調査することにしました。 最近こんなことばっかやってる気がしますが、気にわんかったからムカムカ解消に書くしかないんや。半分くらいブラックボックス与太話な感じで夜露死苦です。 はじまり とある処理を全開でFargateにやらせて、cpu=1024(100%), 2048(200%), 4096(400%) でどのくらい RPS (requests per second) でるかを計測していると、想定通りならほぼ比例でRPSが伸びるはずが、全然そうならないパティーンに遭遇。 並列過剰やエラー・バグ起因ではないことをほぼ確させた上で、まさかCPUガチャじゃあるまいなと試したら、まんまCPUガチャでしたということで、EC2からある話ではありますが、現在

    AWS ECS Fargate のCPU性能と特徴 | 外道父の匠
    clavier
    clavier 2021/05/21
  • AWS API Gateway HTTPのAuthorizer設定 | 外道父の匠

    あけおめ☆ 年末年始を長期休暇にしたせいで、起ち上がりが悪い。エンジニアたるもの、そんな時はコーディングだ。Pythonでモチベーションを取り戻すんだ! その気持ちだけでクールなシステムを考案・構築してしまったので、書いていきたいんだけど、物事には順序がある。まずは HTTP API Gateway に認証をつけるとこから、ブログの暖機運転なのだ。 おさらいと公式 前に、API Gateway の基的な部分は↓↓に書きました。 AWS API Gateway v2 の Terraform構成 | 外道父の匠 AWS API Gateway v2 HTTPの基礎練習 | 外道父の匠 認証の仕組みがなかったので、まぁこんなこともできるよねって意味で、オレオレ認証も書いたんだけど、その後すぐに公式で対応されたわけです。 API Gateway HTTP APILambda および IAM

    AWS API Gateway HTTPのAuthorizer設定 | 外道父の匠
    clavier
    clavier 2021/01/22
  • RDSで接続数とメモリ消費量の調整事例 | 外道父の匠

    RDS Auroraを使っているところで、OSの空きメモリが少なくなったアラートが出たので、それについて細かく考察したら、それなりの量になったのでまとめた感じです。 別にAuroraじゃなくRDS MySQLでも、MySQL Serverでも同じ話なのですが、クラウドならではの側面もあるなということでタイトルはRDSにしております。 RDSのメトリクス監視 RDSはブラックボックスとはいえ、必要なメトリクスはだいたい揃っているので、CloudWatch を見たり……APIで取得してどっかに送りつけたりして利用します。 なので、まずは接続数とメモリについて復習です。 SHOW STATUS 的には Threads_connected です。 CloudWatch Metrics 的には、DBInstanceIdentifier → DatabaseConnections です。 見た感じ、ど

    RDSで接続数とメモリ消費量の調整事例 | 外道父の匠
    clavier
    clavier 2020/11/25
  • EKS Kubernetes 構成と構想 | 外道父の匠

    やるといった以上、記事は書くわけなんですが、何度この下書きをゴミ箱に突っ込もうとしたかわかりませんKubernetesですよろしくお願いします。 ナニがアレかというと、構成図に全部盛り込めるはずもないくらいには色々要素があるわ、構築手順を書いていこうにも予備知識が必要な箇所がそこかしこに出現するわで、わかりやすく書けそうもないのです。なので、まずは丁寧にやりたいことから整理していくことにします。 全体図 ECSシリーズ まず、前回のECSシリーズの復習としてこちら。 これは複雑そうに見えて、わりとオススメできる簡潔さでした。 ECSをEKSに入れ替える ECSで説明した、ECS以外の部分は大体そのまま流用するので、薄くしたところはあまり触れず、Kubernetesクラスタの内側に重点を置いていきます。必要があれば、ECSの方の記事に都度リンク貼ったりして重複は回避していく感じで。 EKS

    EKS Kubernetes 構成と構想 | 外道父の匠
  • これからはじめる AWS Auto Scaling 2019年版 | 外道父の匠

    昨年は内部的なことを多くやっていたり、10年ぶりに格ゲー復帰したりで、なんとなくご無沙汰になります。が、元同僚エンジニアに名指しされたり、 パルが年末にアドベで連続更新してるのをみて、俺も頑張らなきゃなと思い直した次第でありやす。 久々すぎてなんか文章のノリがノらないので、最近調べ直した AWS の Auto Scaling 周りについて、今はこんだけ抑えておけばえぇんちゃうくらいの感じで、まとまり悪いかもですがまとめてみたいと思います。 目次 色々な「Auto Scaling」を理解する EC2 Auto Scaling Application Auto Scaling AWS Auto Scaling APIで理解する関係性 AWS Auto Scaling は EC2 Auto Scaling の代わりになるのか EC2 Auto Scaling を構築する 構成 LaunchTem

    これからはじめる AWS Auto Scaling 2019年版 | 外道父の匠
  • ミドルウェア性能検証の手引き | 外道父の匠

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

    ミドルウェア性能検証の手引き | 外道父の匠
  • 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比較 | 外道父の匠
    clavier
    clavier 2017/02/09
  • 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を始めるためのパラメータ資料 | 外道父の匠
  • systemd時代に困らないためのlimits設定 | 外道父の匠

    数年前に、こういう記事「ulimitが効かない不安を無くす設定」を書きました。しかし、ディストリビューションのバージョンが上がり、デーモン管理が systemd に変わったことで、インターネットのゴミとなりつつあります。 そのため今回は、その次世代バージョン的な内容ということで、systemd の場合はこうしておけば見えない敵と闘うこともなくなるはずです、というものになります。例によって、抑えきれていないパターンがあったら御免なさいです、押忍。 limits設定で目指す所 復習になりますが、limits の設定で困るのはだいたいこういうパターンでしょう。 作業中ユーザーのシェルのlimits設定が思い通りにならない コンソール/SSHログインしてデーモンを再起動したら、limits設定が戻っていた su/sudoを使ってデーモンを再起動したら同上 デーモンをシステムに自動再起動させたら同上

    systemd時代に困らないためのlimits設定 | 外道父の匠
  • EC2拡張ネットワーキングの性能と設定手順 | 外道父の匠

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

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

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

    現代ITインフラの王道をゆくLinuxパッケージ管理の基本構成 | 外道父の匠