ブックマーク / yomon.hatenablog.com (17)

  • Terraformで「dial tcp connection refused」が出たら並列数を疑ってみる - YOMON8.NET

    何度も実行したTerraformの定義で、別の環境から実行したらエラーが出ているという話を聞いて調べてみた、エラー対応メモです。 内容としては以下のようなメッセージです。「terraform plan」で発生します。 何度か目の前で叩いてもらうと、エラーが出るサービスがその度に違ったりします。 dial tcp: lookup spanner.googleapis.com on 169.254.169.254:53: read udp 172.17.0.2:42005->169.254.169.254:53: read: connection refused これはもう一つ下のレイヤの話だなと思いつき、並列度を下げてみようと設定してみました。 Terraformは処理の並列度として、デフォルトで10が設定されています。 -parallelism=n - Limit the number o

    Terraformで「dial tcp connection refused」が出たら並列数を疑ってみる - YOMON8.NET
    tmatsuu
    tmatsuu 2020/02/11
    へーメモ。
  • 電話ボックスみたいなワークスペースのTELECUBE(テレキューブ)利用してみました - YOMON8.NET

    テレキューブって知ってますか? こんな感じで電話ボックスみたいなのですが、中には椅子とテーブルがあって集中して仕事ができる空間になっています。 こちらが実証実験中で無料で使えたので入ってきました。 telecube.jp 使い方 使い方に関しては、こちらの実証実験ページにあった、この図が全て。とても簡単です。 実際に私も、その場で登録して使ってみました。登録から予約まで5分くらいでした。 実際に入ってみた すぐ予約ができたので、早速使ってみました。 予約の時間になって、該当のボックスの前に行くと、ドアの横の液晶が反応してQRコードが表示されます。これをWEBアプリから読み込むことで解錠してボックスに入れるようになります。 携帯が鍵になっているということになります。 これはQRコード読み取って解錠した際の画面ショットです。 部屋の中はこんな感じです。狭くて静かなところが好きな自分には最高のス

    電話ボックスみたいなワークスペースのTELECUBE(テレキューブ)利用してみました - YOMON8.NET
    tmatsuu
    tmatsuu 2019/02/04
    興味あるから一度試してみようかなと思ってたんだけど、WiFiなくて有線LANマジか。15分250円はちょっと高いなー。
  • AWS CDK (AWS Cloud Development Kit) がとても便利そうなので触ってみた - YOMON8.NET

    これ触ってみました。 github.com インストール 使ってみる 架空の要件 開発 プロジェクト作成 初期のディレクトリ構造 初期状態のスクリプトファイル ドキュメント aws-cdk使って定義を書いてみる スタックのデプロイ スタックの一覧 デプロイ実行 スタックを差分を確認 CloudFormationの定義をダンプ スタックの削除 使ってみての所感 良さそうな部分 大変そうな部分 参考 インストール 上の公式にもありますが、npmでモジュール追加するだけです。これでcdkコマンドが使えるようになります。 $ npm install -g aws-cdk 使ってみる 架空の要件 何も無いと進めにくいので、架空の要件として、DynamoDBのMyUserテーブルをDev,Prodの2環境作ろうと思います。その際にキャパシティを別々に設定したいです。 開発 プロジェクト作成 まずはプロ

    AWS CDK (AWS Cloud Development Kit) がとても便利そうなので触ってみた - YOMON8.NET
    tmatsuu
    tmatsuu 2018/08/16
    早速素晴らしい。githubのIssuesを見るかぎり他言語対応も検討しているようなので今後伸びるかもわからんね
  • Aurora Serverlessが出たので早速テスト環境に適用してみた - YOMON8.NET

    社内でAuroraのサーバーレスというのが出たらしいというので触ってみました。 Auroraのサーバーレス? 日語の方が理解しやすかった 検証機のDBを切り替えてみた 手順 スナップショット取得 インスタンス復元 起動を待つ 接続確認 設定を確認してみる 気づいたこと スケーリングの情報はログに出力されて管理画面で確認できる アプリケーション側から少しでもアクセスあるとAuroraは停止しない 再起動時に数十秒、場合によっては1分以上も繋がらないのは辛い 2018/08/15 追記 Auroraのサーバーレス? ん?Auroraのサーバーレス?どういうことだ? よくわからなかったので、読んでみました。 これがAWSのニュース記事はこれ。 Aurora Serverless MySQL Generally Available | AWS News Blog 最初の方の文を抜き出してみると、

    Aurora Serverlessが出たので早速テスト環境に適用してみた - YOMON8.NET
    tmatsuu
    tmatsuu 2018/08/12
    そうか、常時稼働だと安くないのか。あれやね、ほとんどアクセスのない開発・検証環境か、週次、月次などのバッチ処理で価値を見いだせそうな予感。
  • サーバーレス開発を始めて6ヶ月間なので振り返りをしてみる - YOMON8.NET

    今の会社(BeeX Inc.)に来て、半年くらいサーバーレス開発をやってきました。 やっと人並みに(?)サーバーレス開発進められるようになったのと、開発が一息ついたので振り返りをしてみようと思います。 はじめに サーバーサイドについて 使用サービス LambdaGolangで書きました Golangで辛かったこと Golangで良かったこと クライアントサイド サーバーレス開発が大変だったこと 関連コンポーネントが多い 障害の原因特定が難しい ネットワーク絡むとハマりやすい 統合テストが大変 裏の動きが見えない 情報収集の難易度が高い サーバーレス開発で良いと思ったこと サービスの環境全部をコードで表現できる 処理の特性によっては圧倒的に安い OSに入らない、入れない 運用が楽になる(はず) まとめ はじめに 初めてのサーバーレス開発を手がけたこの数カ月を振り返ってみると、エンジニアとし

    サーバーレス開発を始めて6ヶ月間なので振り返りをしてみる - YOMON8.NET
    tmatsuu
    tmatsuu 2018/08/11
    運用つらいんじゃないかと思う。問題が発生しても原因を深掘りしにくいという点で。
  • GCP Professional Cloud Architect認定にAWSの知識を元に最小限の労力で合格 - YOMON8.NET

    GCPの認定資格を合格してきましたので書きます。 今回は合格が目的だったので万人にはオススメしない内容です。 ※これらも取ってきました yomon.hatenablog.com yomon.hatenablog.com 基情報 受験者(私)の情報 試験ページ 勉強方法 模試受けて感触を掴む(1時間) AWSとの比較(0.5時間) 書籍を読む(4時間) ハンズオン(2時間) 一行でわかるGCP(0.5時間) 所感 コードが出た GCPの詳細はあまり出ない Linux前提 模擬試験は過信すべからず 難易度 受験の手続き面倒 日語 予想得点 試験後 認定証 プレゼント 2020/5/20 更新してきました GCP試験関連 基情報 受験者(私)の情報 AWS 認定ソリューションアーキテクト – プロフェッショナルは3年ほど前に取得済み(更新してないので既に失効) 普段からAWSはずっと触って

    GCP Professional Cloud Architect認定にAWSの知識を元に最小限の労力で合格 - YOMON8.NET
    tmatsuu
    tmatsuu 2018/06/16
    やっていき
  • CentOS7でSystemdがメモリリークしていて使用率がジワジワと上昇していた - YOMON8.NET

    ほとんどサービス動いてないサーバが急にメモリ使用率の警告出したので調べて見たら、1日に30MBくらい、1ヵ月で1GBくらいジワジワとSystemdがメモリリークしていたという話です。 事象 Systemdが異常にメモリを使っている。 $ ps aux | head USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.2 60.9 2327496 2207392 ? Ss 1月15 191:31 /usr/lib/systemd/systemd --switched-root --system --deserialize 21 root 2 0.0 0.0 0 0 ? S 1月15 0:00 [kthreadd] ... 何も動いていないのに2GBも何に使っているの?となった。 原因 結論から言うと、こちらのバグが原

    CentOS7でSystemdがメモリリークしていて使用率がジワジワと上昇していた - YOMON8.NET
    tmatsuu
    tmatsuu 2018/06/12
    うちは監視管理やってるのであるあるネタ。Software Design 2018年2月号のsystemd実践入門に弊社知見が載ってるよ
  • ローカルPCをMackerelで監視したら結構便利で面白い - YOMON8.NET

    最初は触ってみたいという理由でMackerelのFreeプランでローカルの作業用PCを監視してみたら、便利なのでこのまま使うことになりそうです。 https://mackerel.io/ja/pricing/ インストール方法等は大変簡単かつ詳細はコチラにわかりやすい公式マニュアルがあるので省略して、何に使っているかを書きます。 タイムカード代わり MackerelをインストールするとPCを開いた時、閉じた時にアラートメールが飛んできます。 最初は、「あー、確かに通信できてないからね」くらいで見ていたのですが、メールのフォルダ振り分けて、後から見直してみると自分の作業している時間や移動していた時間わかって結構面白い。 フリーズ時の原因調査 先週は何度かPCがフリーズしたのですが、ただでさえ忙しいのにPCのためにログ追って原因調査とかする気力が湧きません。そもそもPCの扱い荒いのでフリーズ自

    ローカルPCをMackerelで監視したら結構便利で面白い - YOMON8.NET
    tmatsuu
    tmatsuu 2018/04/28
    いいねー
  • AWS ALB配下のノードが全てUnhealtyになった場合、リクエストが全ターゲットにルーティングされます - YOMON8.NET

    開発環境のALB配下唯一のEC2インスタンスがUnhealtyなのに、普通にアクセスできるので調べてみたらこんな挙動だということが。全く知りませんでした。sorry pageとか最低限のリカバリにはつなげやすいのかな。 ただ、監視をゆるめている開発や検証環境だと全てのEC2インスタンスがUnhealtyのまま、気付かずに作業しているなんてことにもなりかねないので知っておくと良いかもしれません。 正常なターゲットが含まれているアベイラビリティーゾーンがない場合、ロードバランサーノードはすべてのターゲットにリクエストをルーティングします。 ターゲットグループのヘルスチェック - Elastic Load Balancing

    AWS ALB配下のノードが全てUnhealtyになった場合、リクエストが全ターゲットにルーティングされます - YOMON8.NET
    tmatsuu
    tmatsuu 2017/11/14
    healthcheck設定を間違ったときの救済措置として助かる。これALBだけかな。ClassicやNLBはどうだろう。後で調べよう。
  • Apacheリバースプロキシにおけるスラッシュと%2F問題はまったポイント - YOMON8.NET

    Apacheと%2Fでを調べると沢山出てくる内容なのですが、ApacheはURLから取得されるPATH_INFO変数に / のエンコードである %2F があると404を返します。 これ自体はAllowEncodedSlashesというパラメータをOnにしてやると処理できるようになります。 <VirtalHost> ... AllowEncodedSlashes on ... </VirtalHost> AllowEncodedSlashes off %2F は404エラー AllowEncodedSlashes on %2F は / にデコード これですが、デコードしないで後ろのWEBサーバに渡して欲しいという要件に合う選択肢がありません。これが一つのハマりポイントでした。 今書いている時点では日語のマニュアルにはこの二つのオプションまでしか書かれていないのですが、英語にマニュアル見ると

    Apacheリバースプロキシにおけるスラッシュと%2F問題はまったポイント - YOMON8.NET
    tmatsuu
    tmatsuu 2017/11/01
    このあたりはとても難しいApache
  • コマンドラインでEC2のコンソール画面テキスト(システムログ)を取得してgrep分析 - YOMON8.NET

    EC2が原因不明で接続不可になることは以外に多いです。そんな時にVMWareやHyper-V、KVMみたいにコンソール画面に何が出ているのか確認したくなります。 AWSマネジメントコンソールから「インスタンスの設定」>「システムログの取得」で以下のような画面が取得できるのですが、grepとかに流して調査するにはコピペしたりが必要で正直面倒です。 そんな時にはAWS CLIの aws ec2 get-console-output が便利です。ただ、このコマンドそのまま実行するとアウトプットに改行やらエスケープシーケンスやらが入って見難いです。 そこで、ポイントは --query 'Output' --output text のオプションを入れることです、これで実際のコンソール画面と同じような色つきで整形されたアウトプットが得られます。 $ aws ec2 get-console-output

    コマンドラインでEC2のコンソール画面テキスト(システムログ)を取得してgrep分析 - YOMON8.NET
    tmatsuu
    tmatsuu 2017/09/09
    `aws ec2 get-console-output --query Output --output text --instance-id (インスタンスID)` なるほど
  • 【AWS】ALBからCLIでEC2切り離しderegister-targetsはGracefulじゃない? - YOMON8.NET

    ALBからEC2を切り離す時に使う aws elbv2 deregister-targets のコマンド、大量のアクセスがあってもエラーを返すことなく切り離すことができると思っていました。 ① EC2をALBより切り離し aws elbv2 deregister-targets --target-group-arn target_group_arn --targets Id=i-xxxxxx,Port=80 ②ステータス確認 healthy -> draining -> unused と状態が遷移するのを待つ。 ③ EC2をALBに登録 aws elbv2 describe-target-health --target-group-arn target_group_arn --targets Id=i-xxxxxx,Port=80 何度もテストしましたが①の部分で 502 ステータスが返っ

    【AWS】ALBからCLIでEC2切り離しderegister-targetsはGracefulじゃない? - YOMON8.NET
    tmatsuu
    tmatsuu 2017/09/08
    え、まじで。うそん。自分でも試してみる。
  • AWS ALBに長いリクエストURLでGETすると414や500でエラーになる - YOMON8.NET

    AWS ALB(Application Load Balancer)に長いURLリクエスト投げてみたら、以下のテーブルのように、ある長さのリクエストからエラーが出ることを発見しました。 URLの長さ(Byte) HTTPレスポンスコード 〜16446 200 OK 16447 500 Internal Server Error 16448〜 414 Request-URI Too Large AWSのサポートに聞いたら以下のような制限があることを教えてもらいました。仕様なのでパラメータ等での変更はできないようです。また、旧ELB(Classic Load Balancer)にはこの制限が無いようです。 HTTP headers for Application Load Balancers have the following size limits: Request line: 16K S

    AWS ALBに長いリクエストURLでGETすると414や500でエラーになる - YOMON8.NET
    tmatsuu
    tmatsuu 2017/08/27
    へー。ALBってnginxっぽい雰囲気あるからな。Classicにはその制限はないと。
  • 【Linux I/Oチューニングに便利】vmtouchでファイルがキャッシュに乗っているか確認 - YOMON8.NET

    LinuxでI/Oと格闘していると、重要なファイルがどのタイミングでキャッシュに乗ってくるかは死活問題になります。 このファイルってどれくらいキャッシュに乗っているの?という時に便利な vmtouch というツールがあったのでご紹介。 導入方法 導入はいたって簡単。 $ git clone https://github.com/hoytech/vmtouch.git $ cd vmtouch $ make $ sudo make install ちょっと調査で使いたいだけなら make install はやらなくてもOKです。インストールした場合は /usr/local/bin に実行ファイルがインストールされてmanも利用できるようになります。 基的な使い方 まずは動作の確認に使うファイルを作成します。90000行です。 $ for n in `seq 10000 99999`;do

    【Linux I/Oチューニングに便利】vmtouchでファイルがキャッシュに乗っているか確認 - YOMON8.NET
    tmatsuu
    tmatsuu 2017/07/04
    便利
  • Solrのキャッシュについて調査したことまとめ - YOMON8.NET

    モニタリング方法 キャッシュの実装の種類 LRUCache と FastLRUCache LFUCache LRUとLFUのアルゴリズムの違い キャッシュの種類 種類 設定項目 FastLRUCacheとLFUCacheのキャッシュサイズ制御の動き filterCache useFilterForSortedQuery queryResultCache queryResultMaxDocsCached documentCache fieldValueCache その他・注意点 参考 URL 関連ソースコード 参考書籍 モニタリング方法 WEBブラウザから確認したい場合 http://<solr_host>:<solr_port>/solr/#/<Core or Collection>/plugins?type=cache jsonやxml等で取得したい場合 http://<solr_hos

    Solrのキャッシュについて調査したことまとめ - YOMON8.NET
    tmatsuu
    tmatsuu 2017/07/02
    素晴らしい。メモ
  • Apacheのmod_proxy_balancerのbybusynessに振り分けについて調べてみた - YOMON8.NET

    Apacheのロードバランシングモジュールである mod_proxy_balancer の振り分けアルゴリズムの bybusyness について調べた内容です。 byrequestsとbybusyness bybusynessの使いどころ 検証による動きの比較 シナリオ① 特定のサーバが遅くなる時を再現 シナリオ① 検証環境 シナリオ① 結果(byrequests) シナリオ① 結果(bybusyness) シナリオ② リクエスト毎の処理時間にバラつきがある時 シナリオ② 検証環境 シナリオ② 結果(byrequests) シナリオ② 結果(bybusyness) 振り分けロジック byrequestsのロジック bybusynessのロジック 参考 byrequestsとbybusyness 語弊を恐れずに1行で書けばいかのような感じかと思います。 メソッド 1行説明 byrequest

    Apacheのmod_proxy_balancerのbybusynessに振り分けについて調べてみた - YOMON8.NET
    tmatsuu
    tmatsuu 2017/06/17
    ほう。デフォルトbybusynessを選ぶ方針で良さそうだけどデメリットってあるんかな。
  • Redis監視するためのNagiosプラグイン作ってみた(Golang) - YOMON8.NET

    Nagiosの監視しようとRedisプラグイン探してみたら以下が見つかりました。 check_redis.pl - Nagios Exchange ただ、PerlPHPが必要だったので、バイナリファイルを置くだけで動くGoでプラグインを作ってみました。 コマンドのオプション オプション 説明 -h|-host Redisサーバのホスト名 or IP(default 127.0.0.1) -p|-port Redisのポート番号(default 6379) -password Redisのパスワード(設定している場合のみ) -timeout タイムアウト(ミリ秒) -metrics ※以下詳細 ※ metric オプションは少し複雑ですが、以下のような設定をします。 メトリクス名1:[警告閾値]:[異常閾値]:[gt|lt],メトリクス名2:[警告閾値]:... gt = 閾値以上の場合に

    Redis監視するためのNagiosプラグイン作ってみた(Golang) - YOMON8.NET
    tmatsuu
    tmatsuu 2017/06/17
    いいね。良い。datadog素晴らしい。
  • 1