はてなキーワード: レプリケーションとは
いちおう、ランサムだよ!とはまだ言ってないが、どっから侵入したか、どういう構成だったか超大事やで
デンマークのホスティング事業者、ランサムウェア攻撃で全顧客データを失う
https://cafe-dc.com/security/danish-hosting-firms-lose-all-customer-data-in-ransomware-attack/
> 原因について
> データセンターの移行後、以前は別のネットワーク上にあったサーバーが、すべてのサーバーを管理するために使用されている企業の内部ネットワークにアクセスするように配線されていました。
>内部ネットワークを通じて、攻撃者は中央管理システムとバックアップ・システムにアクセスしました。その後、攻撃者はすべてのストレージ・データ、レプリケーション・バックアップ・システム、セカンダリ・バックアップ・システムにアクセスすることができました。
ワイは最初の報告だとデータセンターのトラブルって言ってたらしいことと、
KADOKAWAのデータセンター、一箇所に集約したっていう噂と、また分散させてるっていう話気になってるやで
報告気になりまくりやで
すまん、それはそうだ。さて、オンプレで作るとして、どうする?国内でサービスをするとして、全国津々浦々に CDN エッジサーバーを置いて、東京大阪にアプリケーションサーバーをおいて互いにレプリケーションをさせて、コールドデータは石狩におく。ソフトウエアはOpenStack なんかを使いつつ、費用を抑える。各リージョンに 1Tbps の帯域保証をつけた専用線をひき、不足するぶんは共有線でなんとかする ... って感じですかね?
静画が応答ないのがなぜかは知らんけど、動画はリダイレクトされるし
ランサムウェア的なやつで鯖とデータがやられちゃったとかじゃないの?下記の事例みたいな感じで
デンマークのホスティング事業者、ランサムウェア攻撃で全顧客データを失う
https://cafe-dc.com/security/danish-hosting-firms-lose-all-customer-data-in-ransomware-attack/
> 原因について
> データセンターの移行後、以前は別のネットワーク上にあったサーバーが、すべてのサーバーを管理するために使用されている企業の内部ネットワークにアクセスするように配線されていました。
>内部ネットワークを通じて、攻撃者は中央管理システムとバックアップ・システムにアクセスしました。その後、攻撃者はすべてのストレージ・データ、レプリケーション・バックアップ・システム、セカンダリ・バックアップ・システムにアクセスすることができました。
まぁこういうのは想定しないわなだったら、へ~🧐だし、
どちらにせよ、また1つ事例が追加されたなぁで、外野的にはどちらでもいい感じ
最初の報告ではデータセンタートラブルってことだったらしいし、データの保全って書いてますし、
たぶん下記に類似する状況で、弁護士と各事業部のえらい人と役員で相談中なんじゃないですかね
デンマークのホスティング事業者、ランサムウェア攻撃で全顧客データを失う
https://cafe-dc.com/security/danish-hosting-firms-lose-all-customer-data-in-ransomware-attack/
> 原因について
> データセンターの移行後、以前は別のネットワーク上にあったサーバーが、すべてのサーバーを管理するために使用されている企業の内部ネットワークにアクセスするように配線されていました。
>内部ネットワークを通じて、攻撃者は中央管理システムとバックアップ・システムにアクセスしました。その後、攻撃者はすべてのストレージ・データ、レプリケーション・バックアップ・システム、セカンダリ・バックアップ・システムにアクセスすることができました。
そもそもニコニコ静画以外アクセスできる模様。 "AccessDenied" になってたのも現在はちゃんとリダイレクトされとるし
(追記:再度確認したらまだ AccessDenied になってたりしたわ)
あとKADOKAWAの全システム(全サービス)が落ちてる訳じゃ別になさそうよ
単なるホームページで落ちてる(臨時ページにリダイレクト)はKADOKAWAオフィシャルサイトだけっぽいし、
NTTが満を持して出してきたIOWNというネットワークサービスが予想通りがっかりだったので解説しておく
そもそもIOWNって何?っていう話については恐らくNTTの社員でも誰一人答えられないので割愛したいが
発端は電気によるネットワークルーティングに限界が来ていることから始まっている
このままではルーター1機に原発1台という時代になりそう、というのはよく言われた話だ
IOWNは光を使ったルーティングを行い、End-To−Endで電気を使わずに光だけで通信すること(All-Photonics Network: APN)が構想の発端である
電気によるルーティングには遅延が発生することもあって「大容量・低消費電力・低遅延」の3つが特徴として挙げられる
1Gbpsしか無かったのに10Gbpsが登場すれば「大容量になった!」となるだろう
IOWNは100Gbpsを提供してくれる
ちなみに今でも企業向けに100Gbpsの専用線サービスは存在している
なのでIOWNは何も大容量サービスではないのだ
ただ、IOWNにおけるNTT側の性能目標はIOWN1.0で従来の1.2倍なので
まぁ実効速度として1.2倍という意味だと思えばこの100Gbpsも妥当かもしれない
また、IOWN2.0では6倍になるとのことなので600Gbpsが実現できるのであろう
ローンチで現行より劣っているのは残念に他ならないが安全側に倒したと思えば分からなくも無い
低消費電力は我々にはほとんど影響がなく、NTT社内の話なので「知らんがな」という感じなのだが
低消費電力でランニング費用を抑えることができているはずなので提供価格も下がるはずである
さて、IOWN1.0の提供価格は月額198万円とのことである
現在提供されている100Gbpsの専用線サービスも198万円である
これも資料を見るとIOWN1.0では1.0倍とのことなので妥当な価格である
IOWN2.0では13倍(倍とは?)とのことなので価格も大幅に下がってくれるだろう
逆に現状では一切電力効率は良くなっていないのに同価格で出してきてくれていることは良心的ですらある
ということで大容量・低消費電力に関しては現行と同等もしくは劣っているIOWN1.0だが
遅延に関してはIOWN1.0で1/200を目指している
これはIOWN4.0まで1/200なのでこれより下がることはなく、逆にIOWNの目指している低遅延をローンチから体験できるということになる
さて、低遅延になって誰が嬉しいのかはさておき、現状では東京ー大阪間で15msぐらいである(往復)
これが1/200になると75μsとなるのだが、東京ー大阪間の光の伝搬遅延だけで5msはあるのでいくらIOWNでも光の速度は超えられない
なので機器遅延の10msのみが1/200となるとすると50μsとなり、往復遅延は5.05ms、ほぼ5msぐらいになる
実際に実証実験では8msを実現できたとのことなので大変速くなっているのだろうが
15msが8msになったのを「1/200」と言われるのはモヤッとする
そのせいなのか、「IOWNが提供できる低遅延の価値」という資料では、「映像処理やコーデックに関わる部分を省略できるので実質1/200」という言い方に変えている
つまりは大容量であることを活用して非圧縮で送信すればコーデック部分の処理遅延を減らせるとの主張である
コーデックの遅延は製品にもよるが200〜800msぐらいある
また、超低遅延のコーデックなら10msを実現できるらしい(使ったことはないが)
伝送遅延なんて無視できるほどコーデックの遅延は大きいので非圧縮であれば確かに遅延が1/200になるような体験ができるだろう
ただしそれは従来の100Gbpsネットワークでも実現できる
特にこの手の非圧縮による低遅延化というのは10Gbpsのネットワークを研究する際によく使われた方便で
4K映像を非圧縮で送ると6Gbps消費するため10Gbpsにしましょう、という論法なのだ
それが今の時代では、8K非圧縮は72Gbps消費するから100Gbpsにしましょう、という話なのである
ちなみに8Kで120Hzなら144Gbps必要なのでまだまだご飯を食べられるのだろう
問題なのはこの非圧縮リアルタイム映像伝送はほとんど使われていないということである
コーデックが進化することでコーデックにかかっている遅延は無視できるようになり
特に高精細映像であるほど圧縮率が高くなるのでネットワーク負荷のコストの方が問題になるのだ
なので実際の利用で非圧縮伝送はほとんど用いられておらず、主にネットワークの試験で用いられているのが現状である
まぁこの辺はさておいたとしても、結局はIOWNの実現した大半の価値である低遅延の部分は従来でもやっている技術であって真新しいことではない
それでも従来の100Gbpsでは15msだった遅延が8msになったとなれば1/200とまではいかなくても価値があるだろうか
遠隔での演奏を実験した際の記事が興味深く、8msの遅延ということは3m程度離れて演奏したことになる
この2mに価値があるのだろうか
また、人間の脳のクロック間隔は30msであるという研究結果がある
15msが8msになることで人間に対して何か価値があるのかは甚だ疑問である
問題なのはIOWNではこれ以上遅延が短くなることはなく、既に限界ということだ
光の速度の限界なので当たり前ではあるのだが
限界まで突き詰めても我々のネットワークを介した体験は一切変化しないということを証明してしまったのだ
普通の演奏では低遅延にほぼ価値がないので、エクストリーム分野のe-Sportsとの相性を模索しているように見える
確かにe-Sportsをやっているような人たちは60fpsの1フレームを競っていると言われている
そのためIOWNもe-Sports会場を繋ぐような使い方を例としてあげているのだが
そもそもe-Sportsのゲームソフトウェアは5msだとか8msとかの中途半端な遅延を考慮してゲームを作っているのだろうか
同じL2の下で対戦を行うことが前提なら普通は2〜3ms程度の遅延を前提に設計するので5msでは遅い
逆に遠隔での対戦を考えれば10ms以上の遅延もあり得るのでそのように設計するが
ジャンケンゲームを作るときに2〜3ms程度までなら同時に開示するが
10ms以上なら1秒待ってから開示するような作りになっていると思えば分かりやすいかもしれない
もちろんゲームによってはこの数msで価値が生まれる場合もあると思うが、あまり数は多くないように思える
結局のところ、IOWNは大容量かつ低消費電力、つまりは低価格のサービスとして進んで行くだろう
End-To-EndでIOWNが必要か、と言われると明確に答えはNOで
10Gbpsですら全然普及が進んでいないのに100Gbpsの大容量ネットワークはそもそも必要ない
一方でデータセンタ間のインフラネットワークとしては非常に価値が高い
データのレプリケーションなどを考えれば遅延など1msでも短い方が良いのだ
特に災害が多い日本では地理位置分散をさせることは非常に重要で
そういったデータセンター間のネットワークとして大容量・低消費電力・低遅延なネットワークは非常にありがたいものとなる
こうしたインフラとしての重要性は明確に求められているのにもかかわらず
「IOWN」と標榜してまるで次世代のネットワークであるかのように喧伝しているのは、一体どのような呪いがかかっているのか興味深いところではある。
正直気持ちはわかる。
個人の実感としては、コンピュータサイエンスの定義と関わるシステムの要件によるとしかいえないかな。
・OSの仕組み
・DBの仕組み
・分散システムの理論(合意形成とかサービスディスカバリとかレプリケーションとか障害リカバリとか)
・CPUの仕組み
・並行プログラミング
toC向けのスタートアップフェーズのプロダクトとかだと正直なくても回る実感はあるし、実際テキトーに作られてるけどなんとか動いてるシステムはかなり見てきた。
でもある程度成熟してユーザ数もトラフィックもかなりあるみたいな状況だとこの辺の知識なしではお話にならない。
そういったプロダクトだとセキュリティ要件やスケール要件がかなり厳しくなってきて、その観点なしに開発運用できないから。
正直ただ作るだけだったらライブラリとフレームワークの使い方さえ覚えておけばなんとかなるけど、
大規模になればなるほど、効率的に作らないとコストがかかりすぎて大変だし、最悪動かない。
で、効率的に作るためにはこのあたりの知識はどうしても必要になるはず。
データ量的にO(n)とO(n^2)ではそれはそれは段違いになる。
まあVMWorldとかで10年以上人生の春を謳歌してきたからもう十分やろ
お疲れさん
~VMwareが提案する、DRにも対応するマルチクラウドソリューション~
昨今のCOVID-19流行への対応やDXを推進する中で、クラウドサービスの利用はビジネススピードの加速や柔軟なシステム運用に効果的であり、従来のオンプレミス環境と併用するハイブリッド環境や、複数のクラウドを利用するマルチクラウド環境が増えている。一方で、これらの環境を維持していくには課題も多く、セキュリティリスクも増大してしまう。ここでは、こうした課題を解決するVMwareのソリューションを紹介する。
COVID-19流行への対応やDX(デジタルトランスフォーメーション)のためのビジネス変革が進む中で、ビジネススピードの向上やニーズに対する迅速で柔軟な対応がこれまでになく求められている。これらを実現するために、アプリケーションの変革やクラウドへの移行が加速している。
多くの企業が、「ビジネスのスピードに対応できるモダンアプリケーション」や、「あらゆるクラウド、データセンター、エッジでビルドおよび実行が可能であること」、「エンタープライズクラスのレジリエンス、セキュリティ、運用の実現とビジネス変革」がDXを実現するために必要であると考え、これらを実現するためにマルチクラウド環境の活用が前提になってきている。
具体的には、Amazon Web Services(AWS)、Microsoft Azure(Azure)、Google Cloud Platform(GCP)といった複数のパブリッククラウドサービスを併用し、適材適所で使い分けているのが現状であろう。しかし、マルチクラウド環境では解決が必要な課題が存在する。その課題とは、「ワークロードのシームレスな移行・連携」、「クラウドごとのスキル習得」、「運用管理の簡素化」、「セキュリティリスクの低減」、「最適なコスト管理」の5つである。この5つがクラウド利用の理想と現実のギャップとなっており、これらを意識して進めていく必要がある。
特にマルチクラウド環境を適材適所で使う場合、クラウドごとに利用する技術が異なるため、設定項目や内容に違いがあり、その設定ミスによるインシデントも発生している。重大な影響を及ぼす場合もあるため、それぞれのクラウドを扱う際のスキルが重要になる。
こうしたマルチクラウド環境における課題を解決するには、一貫性のあるクラウドインフラストラクチャ、および運用管理サービスが重要なポイントとなる。例えばVMwareは、複数のパブリッククラウドだけでなくオンプレミスを含むハイブリッドクラウド環境においても、仮想的なレイヤーを構築することで管理や運用を一元化している。
VMware Cloud on AWSは、VMwareとAWSが共同で開発したもので、AWSのベアメタルサーバー上にvSphere、NSX、vSAN、vCenterを導入し、ホスト専有型のクラウドサービスとして提供するものだ。
その特長は3つある。1点目は「VMware製品をベースとしたクラウド」であること。VMware製品で仮想化されているため、AWSの世界にいながらオンプレミス環境で利用していたスキルセットや運用管理ツールを利用でき、新たなスキルを習得する必要がない。
2点目は「シームレスにクラウドに移行できる」こと。ワークロードをオンプレミス環境から無停止で移行することができる。アプリケーションを更改する必要もないため、クラウドに移行する時間やコスト、リスクを大幅に削減することが可能だ。
3点目は「VMwareが管理を行う」こと。ハードウェアやソフトウェアのトラブル対応や運用管理、メンテナンス対応など、すべてサービスの中でVMwareが実施する。3カ月に一回の頻度で新しいリリースを提供しており、ユーザーの要件を反映しながら新たな機能を追加している。
最近のアップデートの大きなものとして、日本で第2のリージョンとなる大阪リージョンを設置し、サービス提供を開始したことが挙げられる。例えば西日本地区でデータセンターを持つユーザーは、より低遅延でサービスを利用できるようになった。昨今は感染症の流行や地震の発生などによってBCPを見直すユーザーが増え、VMware Cloud on AWSをリカバリサイトとして利用するケースも増えている。その意味でも、大阪リージョンは活用度が高いといえる。
VMware Cloud on AWSが選ばれる理由は、大きく3つ挙げられる。1点目が既存のノウハウや運用管理手法をそのまま踏襲できるという点。VMware製品をベースとしたクラウドサービスであるため、オンプレミス環境における管理者のスキルや運用ノウハウなど、既存の資産をそのままクラウド上でも活用でき、新たなスキルの習得や、運用管理手法の大きな変更の必要もない。クラウドとオンプレミス環境をvCenterから一元管理できる。
2点目が、規模に依存しないシンプルなクラウド移行を実現できる点。ワークロードをそのままクラウドへ簡単に移行することが可能だ。VMware Cloud on AWSには標準でVMware HCXが含まれ、これはオンプレミスのデータセンターとクラウド間のネットワークをL2延伸する。ネットワークがつながった環境で仮想化環境、VMをそのままマイグレーションできる。アプリケーションやIPアドレスを変更することなく、無停止でワークロードを移行することができる。
3点目が、モダナイゼーションを推進して、ユーザーのDXの加速を支援できる点。まず、クラウドならではのインフラストラクチャとして、1顧客あたり最小2ホストから最大640ホストまで拡張できるが、俊敏性を兼ね備えて提供される。例えば、ホストの展開に1時間半程度、ホスト数を追加するのに15分程度と、オンプレミス環境ではありえないスピード感で環境を構築、提供される。
また、リソースを最適化する機能も提供される。ユーザーのリソースの使用状況に応じて、利用するホストの台数を自動的に増減させて最適化する。さらに、名前の通りにAWSが提供する各種サービスとの親和性が非常に高いことも特長。VMware Cloud ENIと呼ばれる専用のインタフェースを経由して接続することで、低遅延で高速な環境を利用して各種のAWSのサービスとシームレスに連携することができる。この面も同サービスの大きな強みとなっている。
最近では、VMwareが提供するKubernetesディストリビューションであるVMware TanzuをVMware Cloud on AWS上で稼働させることが可能になった。これにより、短時間でコンテナ、Kubernetes環境が導入できるようになる一方で、ハードウェア、ソフトウェアの管理はすべてVMwareが行うため、管理者はKubernetes環境に集中できる。
VMware Cloud on AWSのユースケースには、主に「オンプレミス環境のクラウド移行」、「データセンターの拡張」、「災害対策サイト」、「次世代アプリケーションのプラットフォーム」の4つが多い。特に最近は、災害対策としての利用が増えているという。VMware Cloud on AWSをリカバリサイトとして活用する際に強力なサービスとなるのがVMware Cloud Disaster Recoveryだ。
VMware Cloud Disaster Recoveryを利用すると、平常時には本番サイトのデータをクラウド上のストレージ領域にレプリケーションしておき、万一DRイベントが発生した際に初めてVMware Cloud on AWS上にホストを展開し、保護していた仮想化環境をフェイルオーバーする。リカバリサイトとしてあらかじめ物理的なサイトを構築しておく必要がないため、大規模な初期投資が不要となる。
VMware Cloud Disaster Recoveryの特長
このタイプはオンデマンド展開型と呼ばれ、DRイベント時にホストを展開したタイミングでリカバリサイトに対する課金が開始される。復旧後に仮想化環境を本番サイトに戻すことで、ワークロードもフェイルバックでき、不要となったリカバリサイトのリソースも削除され課金も停止される。なお、オンデマンド展開型のほかに、事前にホストを展開しておく事前展開型も用意されており、RTOを重視する場合には事前展開型が推奨される
また同サービスは、最近話題になっているランサムウェアへの対策にも有効だ。クラウドストレージ上に本番環境のデータをバックアップする際には、リカバリポイントを長期的に保持することが可能である。このため、ランサムウェア攻撃に遭ってしまった場合、その直前の時点からリストアすることが可能となる。
マルチクラウド環境を可視化するVMware vRealize Cloud
マルチクラウド環境では、各クラウドが複雑化し、サイロ化してしまう可能性がある。クラウドごとに管理ツールや必要とされるスキル、ノウハウも異なるため、利用するクラウドが増えるほど複雑化、サイロ化の問題が大きくなり、その結果セキュリティリスクやコストが増加してしまう。そこで有効な解決策となるのが、クラウド環境をまたがって一貫性のある運用・管理を実現できるVMware vRealize Cloudである。
まず、VMware vRealize Operations Cloudは、VMware Cloud on AWSのリソースだけでなく、他のパブリッククラウド上のリソースも一元管理できる。複数クラウドの環境にまたがってデータを収集、分析評価を行うことで、例えば常にパワーオフ状態の仮想化環境や、実体がない状態のディスクなどを検知された場合に最適化していくことが可能。これにより、最終的にコストの最適化も図ることができる。
コストや運用を最適化できるVMware vRealize Cloud
また、VMware vRealize Log Insight Cloudによって、複数のクラウドを横断してログを管理できる。例えば、監視対象のイベント通知をあらかじめ定義しておくことで、不正な行動を検知した際には管理者に通知し、適切な調査と対応を行うことができる。セキュリティやコンプライアンスの強化にも有効だ。
さらに、クラウド間のネットワークの可視化は、VMware vRealize Network Insight Cloudで実現できる。End to Endを含むネットワーク全体を可視化できるため、ネットワークに関するトラブルシューティングや、不審な通信を洗い出すこともできる。また、アプリケーションの通信も把握できるため、アプリケーションの移行計画にも活用できる。
今後、DXの推進を加速していく上で、必ずしもひとつの環境、ひとつのクラウドを利用するのではなく、マルチクラウド環境の利用が当たり前になっていくと考えられる。そこで直面する前述の5つの課題に対し、VMware Cloud on AWSそしてVMware vRealize Cloudの活用は課題を解決するだけでなく将来への有効な投資となる。企業規模や業種に関係なく検討すべきソリューションといえるだろう。
中小企業勤務のど素人です。平均年齢40歳くらいの昭和からある非IT企業です。
前任者が退職して、他に出来る人がいないという理由で、自社HPのインフラを担当することになりました
個人でレンタルサーバーのVPS契約してLAMP環境構築して、ごく単純なWEBサービスを公開していますが、
ググってでてきた手順を見よう見まねでやったので、基本を理解できてないので、怖いです。
WEBサーバーもDBサーバーもファイルサーバーも一緒の1つのサーバーです。
会社のサービスは、今までは会社にサーバーを置いてやってました。
リプレースが大変なのと、AWSはWEBサービスの業界標準のようなので、迷うことなくAWSにしていきたいです。
一人でやるのは怖いので、無理ですといったのですが、押しつけられました。
中小企業勤務のど素人です。平均年齢40歳くらいの昭和からある非IT企業です。
前任者が退職して、他に出来る人がいないという理由で、自社HPのインフラを担当することになりました
個人でレンタルサーバーのVPS契約してLAMP環境構築して、ごく単純なWEBサービスを公開していますが、
ググってでてきた手順を見よう見まねでやったので、基本を理解できてないので、怖いです。
WEBサーバーもDBサーバーもファイルサーバーも一緒の1つのサーバーです。
会社のサービスは、今までは会社にサーバーを置いてやってました。
リプレースが大変なのと、AWSはWEBサービスの業界標準のようなので、迷うことなくAWSにしていきたいです。
一人でやるのは怖いので、無理ですといったのですが、押しつけられました。
これまで他の人に用意してもらったサーバで自分のプログラムを動かしたことはありましたが
自分自身で一からサーバをセットアップしたことはほとんどなかったので、いろいろとハマりました。
作業を進める上で困ったり考えたりしたことを書いていきます。
ちなみにサーバ自体はさくらのクラウド、OSにはCentOSを使用しているので、それ前提のお話になります。
最初にサーバを起動してから速やかにSSHとファイヤーウォールの設定を変更しました。
はてブなんかでも定期的に話題になっているのでおなじみですね。
・SSHやHTTP(S)など、どうしても公開しなければならないポート以外は遮断する
さらっと書きましたが、設定をミスって自分自身もログインできなくなり、何度かOSの再インストールを繰り返しています。
後から気付いた事ですが、さくらのクラウドではクラウド管理画面のリモートスクリーン経由でローカルログインできるので
別にOS再インストールしなくてもiptablesの設定を変更できたんですよね...
逆に言うといくらファイヤーウォールとSSHを設定しても管理画面にパスワードログインの環境が残ってしまうので
パスワードの管理には引き続きしっかり気を使う必要がある。ということでもあります。
httpd,php,mySQL,memcachedなど必要なサービスをインストール、設定し
作成したWebアプリのプログラムを乗せて動かしてみました。が、動作が重いような...
開発環境ではさくさく動いていたのに、本番環境ではどのページ遷移ももっさりしています。
abで計測してみたところ、開発環境のおよそ2分の1のスコアとなってしまいました。
開発環境が仮想2コアのメモリ1Gだったのに対し、本番環境が仮想1コアのメモリ2Gと
CPUの性能について半減しているのでそのせいかな、と思いつつ設定を見なおしていたところ
特に使っていないと思われたipv6を停止した途端にパフォーマンスが改善されました。
ページ遷移に伴うもっさり感が解消され、abの計測結果も開発環境と遜色ない結果が出ています。
デフォルトで有効になっていたipv6の影響により余計な処理が走っていたのかもしれません。
パフォーマンス改善に喜んだのも束の間、会員登録などの処理でWebアプリからメールを送信したところ、Gmail宛のメールがことごとく迷惑メールと判定されるという事案が発生。
spfの設定を行なう、メールの内容について吟味するなどの回避策を試してみましたが一向に改善されません。
試しにHotMailとexciteのメールアカウントに送信したところ、そちらではそもそもメールを受け付けてもらえずエラーコードが返って来る始末。
困り果てていたところ、エラーの内容からサーバのIPがspamhousにスパム送信元として登録されていることが判明しました。
postfixのホスト名の設定がデフォルトで「localhost.localdomain」などとなっており、それをそのまま使っていたためにGmailがスパム送信元として通報してしまったようです。
設定を修正し、spamhousに解除依頼を提出。事なきを得ました。
クラウドを利用すれば、サーバを停止することなく簡単な設定でスケールできるようになる。
と、自分で勝手に思い込んでいたせいなのですが、消えては困るデータの一部をmemcachedに保存する実装を行なっていました。
実際のところさくらのクラウドではサーバを完全に停止しなければプラン変更を実施できないし
そもそもサーバが落ちたらどうするんだよ。ということで、急遽KVSを変更する必要に迫られました。
速度の低下が気にかかったため、いくつかの候補を実際に動かし
phpのスクリプトから1万件のデータ読み書きを行うという形でmemcachedと比較してみたところ次のような結果に。
サービス | 1万件書込 | 1万件読込 |
memcached | 2.55秒 | 2.30秒 |
handlersocket | 21.23秒 | 2.71秒 |
InnoDB | 20.23秒 | 5.10秒 |
kyotoTycoon | 8.22秒 | 7.72秒 |
さすがに読み書きそれぞれmemcachedが最速ですが、読み出しについてはhandlersocketも負けていません。mySQLから普通にSELECTしてもmemcachedの2倍程度の時間しかかからないという結果が意外でした。
しかしながら書き込みのほうではhandlersocketもmemcachedの10倍近くの時間がかかっており、少々速度的な影響が気になってきます。memcachedの倍のパフォーマンスを記録したという記事を見たことがあるので、設定、チューニングについて生かしきれていない部分があるのかもしれないとも思いましたが、知識が不足しているところで無理をすると問題が発生した時に対処できないと考え、候補から除外することとしました。
結局、今回の用途では読み込み処理より書き込み処理のほうが圧倒的に多いことも考慮し、kyotoTycoonを採用しました。実際の利用箇所に組み込んでabで計測してみたところ、だいたい30%程度のパフォーマンス低下にとどまっており、これなら許容範囲かと考えています。
実行系と参照系に分ける形でmySQLのレプリケーションを行なっていたのですが、度々レプリケーションが停止する現象が発生しました。
一部のテーブルについて肥大する可能性が考えられたため、参照系に接続するプログラムで使わないテーブルをレプリケーションから除外していたのが原因です。
例えばtabelAをレプリケーションし、tableXをレプリケーションしないという設定にしたうえで
実行系でINSERT INTO `tableA` SELECT `value` FROM `tableX`などといったクエリを発行すると、参照系にtableXが無いためエラーが発生して止まってしまいます。
レプリケーションするテーブルを限定する場合はプログラム側でも注意を払わないと危険です。当たり前ですが。
監視といえばcactiやnagiosが定番なのかもしれませんが、設定が複雑そうで尻込みし、monitを使用することにしました。
簡単な設定でloadaverageやメモリ、HDDの使用量をチェックできるほか
httpdやmysqldなどといったサービスのプロセスを監視し、もし落ちていたら自動で起動してくれるので助かります。
パスワード保護を行うとしても、サイト全体の管理画面など自分しか使わないプログラムはWebに晒しておきたくない。
というわけで、一部のWebアプリを秘匿する設定を行いました。
管理画面のWebアプリを9999番など閉じているポートに設置した上で、SSHを利用したトンネルを掘ります。といっても
上記のようなコマンドで管理画面のWebアプリを置いたサーバへログインするだけです。
ブラウザのアドレス欄にhttp://localhost:9999/と打ち込めば、接続が開いている間のみアクセス可能になる感じですね。
サーバにログインできる人でなければ実行できないことなので、気分的にある程度安心します。
自動でログのバックアップを行いたいと考えたのですが、パスワード無しの鍵でログインして転送する形には抵抗がありました。
調べてみたところ、authorized_keysに公開鍵を記入する際の設定で、その鍵でできることを制限するという手段があるようでした。
具体的には、authorized_keysに
no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command="some commands" ssh-rsa AAAAB3NzaC1yc2EAAA...
などとして公開鍵を追加しておくと、その鍵でログインした直後にcommand=""の部分で設定したコマンドを実行して接続を終了する挙動となり
接続のフォワードもできなくなるため、パスワード無しでも鍵の流出に関するリスクを最低限に留めることができるというわけです。
commandの実行結果は標準出力から受け取ることができるので、例えばcommand=""の部分にファイルの内容を表示する処理を設定していたとすれば
ssh -i .ssh/no_password_key user@xxx.xxx.xxx.xxx > /path/to/file
などとしてログインの結果をファイルに書き込むだけで、簡単にファイルの転送が実現できます。
他にも大小さまざまな問題に行きあたりましたが、忘れてしまったor書ききれないのでここまでとします。
たった1つのサイトを公開するにしても問題というのは尽きないものだと実感させられました。
今は基本的な情報だけでなく、ちょっと突っ込んだ内容でも検索で解決していけるので嬉しいですね。手がかりを残してくれた先達に感謝することしきりです。
現状ではひとまずの見切りを付けて公開していますが、より堅牢で負荷に強いサーバとなるよう、随時チューニングを行なっていこうと考えています。
個人サイトや小規模な商業サイトなどプロモーションにあまりお金をかけられないサイトを主な対象とした、無料で出稿できる広告ネットワークサービスです。
既存のサービスで近いのは「あわせて読みたい」や「zenback」、各社提供のRSS相互リンクサービスなどになるでしょうか。
広告としての体裁がある分、それらより若干積極的な性質になるのではと考えています。
現時点ではサービス本体のプロモーションに苦心するという本末転倒そのものの状況でありますが、もしよろしければ見ていただけると嬉しいです。
せっかくなので、ここ2年ほどのさくらインターネットiDC移転を中心に、わかる範囲ではてなサーバ変遷の歴史をまとめてみようと思う。
> 59.106.108.68: mobile.hatena.ne.jp.
> 59.106.108.69: f.hatena.ne.jp.
> 59.106.108.70: rimo.tv.
< 125.206.202.66: mgw.hatena.ne.jp. < 61.196.246.69: b.hatena.ne.jp. < 61.196.246.70: b.hatena.ne.jp.
> 59.106.108.71: mgw.hatena.ne.jp. > 59.106.108.72: b.hatena.ne.jp.
< 221.186.129.148: g.hatena.ne.jp.
> 59.106.108.73: g.hatena.ne.jp.
< 125.206.202.82: search.hatena.ne.jp. < 221.186.129.147: ring.hatena.ne.jp. < 221.186.146.28: a.hatena.ne.jp. < 61.196.246.68: r.hatena.ne.jp.
> 221.186.129.147: search.hatena.ne.jp. > 59.106.108.74: a.hatena.ne.jp. > 59.106.108.75: r.hatena.ne.jp. > 59.106.108.76: ring.hatena.ne.jp.
< 125.206.202.83: d.hatena.ne.jp. < 221.186.129.146: d.hatena.ne.jp. < 221.186.146.29: d.hatena.ne.jp. < 61.196.246.67: d.hatena.ne.jp.
> 59.106.108.77: d.hatena.ne.jp.
> 59.106.108.97: d.hatena.com. > 59.106.108.97: hatena.com. > 59.106.108.97: m.hatena.com. > 59.106.108.97: m.hatena.ne.jp. > 59.106.108.97: s.hatena.com. > 59.106.108.97: s.hatena.ne.jp.
> 59.106.108.80: d2.hatena.ne.jp.
d2.hatena.ne.jpで新しいコメント構造の実験を開始しました - はてなダイアリー日記
< 221.186.129.147: counter.hatena.ne.jp. < 221.186.129.147: search.hatena.ne.jp.
> 59.106.108.81: counter.hatena.ne.jp. > 59.106.108.82: search.hatena.ne.jp.
> 59.106.108.78: w.hatena.ne.jp. > 59.106.108.84: h.hatena.ne.jp. > 59.106.108.84: h.hatena.com. > 59.106.108.98: w.hatena.com.
< 221.186.146.27: www.hatena.ne.jp. < 61.196.246.68: screenshot.hatena.ne.jp. < 125.206.202.66: map.hatena.ne.jp. < 125.206.202.66: i.hatena.ne.jp. < 125.206.202.66: graph.hatena.ne.jp. < 125.206.202.66: q.hatena.ne.jp.
> 59.106.108.86: www.hatena.ne.jp. > 59.106.108.87: screenshot.hatena.ne.jp. > 59.106.108.88: map.hatena.ne.jp. > 59.106.108.89: i.hatena.ne.jp. > 59.106.108.92: graph.hatena.ne.jp. > 59.106.108.99: q.hatena.ne.jp.
< ???.???.???.???: auth.hatena.ne.jp.
> 59.106.108.90: auth.hatena.ne.jp.
長いので省略
> 59.106.108.93: rokuro.hatelabo.jp.
> 59.106.108.102: k.hatena.ne.jp.
> 59.106.108.103: favicon.hatena.ne.jp. > 59.106.108.105: img.b.hatena.ne.jp. > 59.106.108.106: bbeta.hatena.ne.jp.
> 59.106.108.93: bottle.hatelabo.jp. > 59.106.108.93: counting.hatelabo.jp. > 59.106.108.93: news.hatelabo.jp.
トップの身柄を確保を最優先するけど主とする住居がアメリカじゃそう簡単に手を出せない。
村上を確保したとき並みのやりかたをしないと…。
租税条約があるから一番ひっぱりやすい税務関係だって厳しくなる。
元々イニシャルコストがかからない事業ばっかりしているので恐らく借り入れもあまりない。
はてなをひっぱろうとしたら相当苦労すると思うよ。
jkondoが去年の7/15出立だから、ボーダーの183日は充分滞在しているでしょ。
少なくとも租税条約は結ばれた国同士で課税の重複はないからjkon自体は米国での納付となる。
国際連結決算がどうなってるかしらないけど、はてなの収益なんて殆どがGoogleアドセンスなんだから米国内に法人を持っていれば付け替えなんていくらでもできね? シリコンバレー以外にもタクスフリーなところに会社もってるかもしらん。
(シリコンバレーの法人税ってどうなってるんだろ?ベンチャー多いってことは優遇されてるのかな??)
さくらは負荷分散のための参照用レプリケーションでコアのデータベースはアメリカにありますとか。
米国がプライマリですとか言い訳できるぐらいの環境を整えてれば言い訳は立ちそう。
日本で受動的に天下りとか献金をすることにより政治活動をするぐらなら、
アメリコさんでわいがjkondoやー!ロビー活動やー!ピザや!ピザをもってこい!!
とやったほうがベンチャーにはいいかもしれない。
昔しからだけど、いろいろ匂うねん。