エムスリーエンジニアリンググループ製薬企業向けプラットフォームチームの三浦 (@yuba)です。普段はサービス開発やバッチ処理開発をメインにやっておりますが、チームSREに参加してからはこれに加えて担当サービスのインフラ管理、そしてクラウド移行に携わっています。 今回はそのクラウド移行の話そのものではないのですが、それと必ず絡んでくるインフラ設定に関してです。 アクセス元IPアドレスを知りたい Webアプリケーションがアクセス元IPアドレスを知りたいシーンというのは、大まかに二つかと思います。ログ記録用と、アクセス制限ですね。どちらもアプリケーションそのものではなく手前のWebサーバの責務のようにも思えますが、そうとも言い切れません。動作ログ、特に異常リクエストをはじいた記録なんかにセットでIPアドレスを付けたいとなるとアプリケーション要件ですし、アクセス制限についてもマルチテナントサービ
こんにちは。メディアサービス開発部Webアプリケーション開発課の奥川です。ニコニコ漫画のバックエンド開発を担当しています。 2021年初頭、ニコニコ漫画である作品の連載が開始されました。それに端を発する数カ月間のサーバ障害により、ユーザーの皆様には大変ご迷惑をおかけしました。 少し前の話にはなりますが、当時ニコニコ漫画のサーバでは何が起こっていたのか、どのような対応を行ったのかを振り返ってみたいと思います。 1号棟(事の起こり) 2021/01/08 問題の作品(以後、「作品I」*1と記述します)の第1話が投稿されます。その過激な内容からSNSなどでは一部で話題になりましたが、まだニコニコ漫画へのアクセスも穏やかなものでした。 2021/01/22 その2週間後、「第2話(前編)」の公開から事件が起こります。 ピークタイム最中の12:22頃から、まずmemcachedがCPU Utiliz
カヤックSREの池田です。 先月は、カヤックのプロダクトの一つ『Tonamel』で導入したエラーバジェット算出ツール『shimesaba』の話をしました。 techblog.kayac.com github.com 今回は、実際にどのようにSLI/SLOを運用しているのか?という内容をshimesabaを使った設定例を交えつつ話します。 SLI/SLOの運用にお悩みの方の助けになれば幸いです。 最初のSLI/SLOはどう決定したのか? SLI/SLOの運用を始めるにあたって、多くの人が悩むのは以下の2つだと思います。 一体何をSLIとすれば良いのか? 最初のSLOはどのくらいにしたら良いのか? つまりは、最初の1歩をどうしたら良いか?と言う話ですが、こちらに関しては2つ参考になるものがあります。 『SLO決定のためのArt of SLO』 https://sre-next.dev/2022
ブラウザの機能のなかには、HTTPS でないと利用できなかったり、HTTPS か HTTP かで挙動が変わったりする機能がある。 そのため、ローカル開発環境を HTTPS で構築したいことがある。 一番簡単なのは自己署名証明書を作成し利用することだと思うが、その場合ブラウザが警告を出すため、利便性の点で難がある。 以下の記事では、Let's Encrypt で取得した正規の証明書を使って、ローカル開発環境を HTTPS 化している。 これなら、ブラウザが警告を出すことはない。 blog.jxck.io 勉強がてら、この内容を実践してみた。 この方法を試すためには、自由に使えるドメインを所有している必要がある。 既にnumb86.netというドメインを所有していたので、これを利用してlocalhost.numb86.netというドメインで開発環境を作っていく。 A レコードの値として 127
吉川@広島です。 viteでhttpsなlocalhostを起動する | DevelopersIO viteでhttpsなlocalhostを起動するにあたり、上の記事ではmkcertを使っていましたが、今日の社内Slackでdevcertの存在を知り、こちらで証明書を発行する方法を試してみました。 環境 node 15.14.0 yarn 1.22.10 vite 2.3.6 devcert 1.2.0 元のvite.config.ts import { defineConfig } from 'vite' import reactRefresh from '@vitejs/plugin-react-refresh' import path from 'path' export default defineConfig({ root: './', plugins: [reactRefre
突然ですが... あなたは、あるゲームプロジェクトの本番リリース2日前にサーバエンジニアとしてJOINしました。いざリリースを迎えたとき、ElastiCacheのメモリが突然危険域を超え、さらにあと2時間で枯渇しそうな状況になりました。 さて、この状況におかれたあなたは何をしますか? はじめに モバイルゲームのシステムは新しいイベントをopenするとトラフィックが2倍、3倍、時には普段の10倍以上来ることがあり、トラフィックの変動が非常に大きい特性があります。 新しいゲームのリリース時はより顕著で、想定以上のトラフィックが来ることもしばしばあります。 この記事は、あるゲームプロジェクトの本番リリース時に大規模トラフィックが来た際のサーバトラブルを題材に、 どのような観点で問題を切り分けていったのか、トラブルシュートのプロセス どのような準備(負荷テスト)をしていれば防げるのか という話をし
browserverはWebブラウザをWebサーバ化してしまうユニークなWebサービスです。 JavaScriptやnode.jsなどWebブラウザには様々な新しい技術が入り込んできています。その結果、これまでには見た事もなかったようなサービスも登場しています。今回は自分のWebブラウザがWebサーバ化してしまうbrowserverを紹介します。 普通にアクセスしても404が返ってきます。 Webブラウザ側です。別なブラウザからのアクセス結果が表示されています。 例えばターミナルから位置情報を取得するアクセスをします。 そうするとWebブラウザに位置情報アクセスの確認が表示され、OKするとターミナルに位置情報が返却されます。 こんな感じにPATCHアクセスをします。 そうするとWebブラウザ側のコンテンツが変化します。 browserverの仕組みは専用のキーを発行し、そのキーをURLに埋
uptimeはnode.jsで作られたWebサーバ死活チェッカーです。 Webサーバがきちんと正常に動き続けているかどうか一番簡単にチェックするのは定期的にアクセスしてレスポンスタイムを見ることです。そんなWebサービスの死活チェックに使えるのがuptimeです。 サーバを立ち上げました。最初に監視するWebサーバを設定します。 URLと監視する間隔を指定するくらいです。 監視を開始しました。グラフは自動更新されないのでご注意ください。 イベントがあればこちらに出力されます。 グラフではなく一覧で結果を確認できます。 徐々にグラフが更新されていきます。 uptimeは1000以上のWebサーバを一括で監視できるパフォーマンスを持っています。またダウンしている際にはWebアラートを表示できます。エラーがあった際にはHTTPステータスやその内容を記録してくれます。サーバはタグを使ってグループ管
先日にルータの不具合で、東京本社から福岡支社内の一部開発サーバに直接ssh出来なくなったので、 ProxyCommandを利用して、3個のサーバを経由して目的のサーバにsshしたので、設定のメモ。 やりたいこと ProxyCommandを利用してcolinuxから複数のサーバを経由して、支社内のサーバに入りたい。 経由するサーバは下記のような感じで中継サーバ3個。 +---------+ +------------+ +--------------+ +----------------+ +---------------+ | colinux | ==> | dev server | ==> | tokyo server | ==> | fukuoka server | ==> | backup server | +---------+ +------------+ +----------
http://mosh.mit.edu/ ローミング可能 断続的な接続でも平気 ローカルエコーで快適なレスポンス などの機能をそなえたSSH代替ターミナルソフト。その名も「モッシュ」 iPhone/iPadでウロウロしながらサーバ作業をするのを想定しているようだ。ドキュメントやパッケージの充実度からしてもかなり高質のプロジェクト。こいつら本気でSSHを越えようとしている。 こんな能書き IPが変っても大丈夫 スリープ後もターミナルが生きている 遅いリンクでもローカルエコーにより快適 要は素早く打ち込んでいるときにスクリーンが止っちゃうことがない フルスクリーンモードでも有効 サーバ側と同期化されていない入力はアンダーラインで記される ルート権限がなくてもサーバのインストール可能 サーバは一般プログラムとしてインストールして、それをSSHで立ち上げる SSHをinetdとして使っている感じだ
WEBサイトに情報を入力するだけで負荷テストができるLoad Impact、GUIから操作できるApache JMeterや、コマンドラインから使うcurl-loader・httperf・Siege・Pylot・abを簡単な使い方と共に紹介していきます。 Load Impact http://loadimpact.com/ Load ImpactはスゥエーデンのGatorhole AB社が管理している、フォームに必要な情報を入力するだけで負荷テストをしてくれるWEBサイトです。 ツールをインストールしたりする必要が有りませんので、非常に楽です。 毎月5回まで無料で負荷テストができます。 それ以上は10回/$30のクレジットを購入する事になります。 トップページのフォームにURLを入れて「Run free test」をクリックすると、世界各地のいずれかのAmazon EC2サーバから負荷テス
Webサービスの運営用にVPSと呼ばれるバーチャル・プライベート・サーバを借りることは昨今よくあることだと思います。 VPSのサーバを借りればroot権限を持てることになるので、自由度が高いサーバ環境を構築することができます。 また、スペックによって価格が違っていて、低いスペックなものだと月額かなり低価格なものが存在します。 僕はその中でも月額980円のさくらVPSを借りていて、それを個人用に限って使っています。 これから紹介するような用途であれば980円でもかなりいけます。 ちなみに980円コースのスペックは2012年3月現在で以下のようなものです。 メモリ: 512MB HDD: 20GB CPU: 2Core(仮想) gitリモートレポジトリ 僕が現行で行っているWebサービスでもiPhoneアプリ開発でもバージョン管理は必要になってきて、 そのためのプライベートなレポジトリが欲しく
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く