Location via proxy:
[ UP ]
[Report a bug]
[Manage cookies]
No cookies
No scripts
No ads
No referrer
Show this form
Submit Search
AWS移行に向けたクックパッドの取り組み+α
•
25 likes
•
5,425 views
Sugawara Genki
Follow
1 of 52
More Related Content
AWS移行に向けたクックパッドの取り組み+α
1.
AWS移行に向けたクックパッドの取り組み+αクックパッド株式会社菅原元気
2.
自己紹介クックパッドでのお仕事インフラ担当(最近は主にAWSまわり)ミッションは「スピード・スケール・可用性・バックアップ・セキュリティ」を押さえたインフラの構築・運用オープンソース活動AWSのツールの開発elasticfox-ec2tag、IAM Fox、R53 FoxRubyライブラリの開発zipruby、libarchive、rua…etc
3.
アジェンダAWSのサーバ・ネットワーク構成分散DNSの話
4.
サーバ・ネットワーク構成
5.
サーバ・ネットワーク構成現在のネットワークネットワークセキュリティDNSAMI監視冗長化MySQL
6.
サーバ・ネットワーク構成シンプルな三層構造それぞれの階層でネットワークが分離されているネットワークセキュリティDNSAMI監視冗長化MySQL
7.
サーバ・ネットワーク構成EC2のネットワークネットワークセキュリティDNSAMI監視冗長化MySQL
8.
サーバ・ネットワーク構成全てのサーバが同じセグメント上に存在するネットワークを分離する代わりに、セキュリティグループを利用するネットワークセキュリティDNSAMI監視冗長化MySQL
9.
サーバ・ネットワーク構成インスタンスには二つのセキュリティグループを設定するBasic各ロールのセキュリティグループネットワークセキュリティDNSAMI監視冗長化MySQL
10.
サーバ・ネットワーク構成セキュリティグループ構成ネットワークセキュリティDNSAMI監視冗長化MySQL
11.
サーバ・ネットワーク構成Basicでは基本的なポートについて、相互に通信することを許可するping(icmp)http特定のセキュリティグループからのアクセスを許可する生存監視ツール(Nagiosなど)性能監視ツール(Muninなど)ネットワークセキュリティDNSAMI監視冗長化MySQL
12.
サーバ・ネットワーク構成セキュリティグループ構成ネットワークセキュリティDNSAMI監視冗長化MySQL
13.
サーバ・ネットワーク構成各ロールのセキュリティグループロール同士の通信を許可Basicとロールので通信を許可ネットワークセキュリティDNSAMI監視冗長化MySQL
14.
サーバ・ネットワーク構成AppからDBへのアクセスを許可ネットワークセキュリティDNSAMI監視冗長化MySQL
15.
サーバ・ネットワーク構成BasicからDNSへの問い合わせを許可ネットワークセキュリティDNSAMI監視冗長化MySQL
16.
サーバ・ネットワーク構成基本的に許可するアクセス元にIPアドレスは指定しないElastic Load Balancingからアクセスされるロールは、例外的に10.0.0.0/8のアクセスを許可ソースIPを指定できないセキュリティグループを指定できないすべてのサーバでiptablesを起動人的なミスを防ぐためネットワークセキュリティDNSAMI監視冗長化MySQL
17.
サーバ・ネットワーク構成EC2では内部IPアドレスを固定できない停止、再開などで内部IPアドレスが変更される内部DNSを使って、IPアドレスを意識しない状態にするネットワークセキュリティDNSAMI監視冗長化MySQL
18.
サーバ・ネットワーク構成DNSはActive-Active構成の2台それぞれにElastic IPをアサイン各サーバはresolv.confで2台を参照ネットワークセキュリティDNSAMI監視冗長化MySQL
19.
サーバ・ネットワーク構成DNSはNameタグの情報を取得して、ドメインの情報を構成例) Name:dev-> dev.ap-northeast-1.compute.internalネットワークセキュリティDNSAMI監視冗長化MySQL
20.
サーバ・ネットワーク構成resolv.confは定期的にcronで更新内部IPアドレスが変わったらresolv.confを更新DNSの片方が停止したらresolv.confから除外ネットワークセキュリティDNSAMI監視冗長化MySQL
21.
サーバ・ネットワーク構成cronはDNSのPublic DNS Nameを問い合わせる(Public
DNS NameはElastic IPのアサインで固定されている)ネットワークセキュリティDNSAMI監視冗長化MySQL
22.
サーバ・ネットワーク構成Public DNS NameにひもづくIPアドレスとしてDNSの内部IPを取得ネットワークセキュリティDNSAMI監視冗長化MySQL
23.
サーバ・ネットワーク構成取得した内部IPをresolv.confに書き込む問い合わせが返らなかった場合は、resolv.confから除外するネットワークセキュリティDNSAMI監視冗長化MySQL
24.
サーバ・ネットワーク構成CentOS5.5をクリーンインストールルートデバイスはEBS現在は32bitと64bitが混在しているが、64bitに統一する予定ネットワークセキュリティDNSAMI監視冗長化MySQL
25.
サーバ・ネットワーク構成ベースとなるAMIから各ロールのAMIを作成それぞれのAMIはバージョンをつてけ管理しているシステム管理ツール(Chef等)の導入も進めているネットワークセキュリティDNSAMI監視冗長化MySQL
26.
サーバ・ネットワーク構成システムネットワークの生存監視Nagios + nrpe性能監視MuninネットワークセキュリティDNSAMI監視冗長化MySQL
27.
サーバ・ネットワーク構成Nagiosはサーバの生存状態を監視Muninはサーバの性能情報(CPU使用率やロードアベレージ)を記録ネットワークセキュリティDNSAMI監視冗長化MySQL
28.
サーバ・ネットワーク構成起動されたインスタンスは自動的にNagios・Muninの監視対象となる各インスタンスにはタグをつけて、どのような監視対象であるかを識別できるようにするネットワークセキュリティDNSAMI監視冗長化MySQL
29.
サーバ・ネットワーク構成可用性向上のための方策Elastic IPを使用した相互監視Nagiosを使ったAMIからの復旧Heartbeatを使ったフェイルオーバーネットワークセキュリティDNSAMI監視冗長化MySQL
30.
サーバ・ネットワーク構成Elastic IPを使用した相互監視NagiosやLDAPの冗長化に使用ネットワークセキュリティDNSAMI監視冗長化MySQL
31.
サーバ・ネットワーク構成それぞれElastic IPのPublic DNS
Nameを監視ネットワークセキュリティDNSAMI監視冗長化MySQL
32.
サーバ・ネットワーク構成返ってきた内部IPアドレスが自分のアドレスの場合、ヘルスチェックは行わない自分のアドレスと異なる場合、ヘルスチェックを行う->常にバックアップがマスタのヘルスチェックを行うネットワークセキュリティDNSAMI監視冗長化MySQL
33.
サーバ・ネットワーク構成マスタのヘルスチェックに失敗した場合、バックアップは自分にElastic IPをアサインするElastic IPがマスタからバックアップに移って、フェイルオーバーされるネットワークセキュリティDNSAMI監視冗長化MySQL
34.
サーバ・ネットワーク構成Nagiosを使ったAMIからの復旧Nagiosがへルスチェックに失敗したタイミングで、AMIからの復旧をするMunin等などで使用ネットワークセキュリティDNSAMI監視冗長化MySQL
35.
サーバ・ネットワーク構成Heartbeatを使ったフェイルオーバー基本的にはcronを使った方法と同じEIPを仮想IPの代わりに使うネットワークセキュリティDNSAMI監視冗長化MySQL
36.
サーバ・ネットワーク構成Heartbeatで相互に監視ネットワークセキュリティDNSAMI監視冗長化MySQL
37.
サーバ・ネットワーク構成フェイルオーバーしたら、リソースエージェントとEIPをアサインネットワークセキュリティDNSAMI監視冗長化MySQL
38.
サーバ・ネットワーク構成Elastic IPを使用した相互監視Heartbeatを使った方法に置き換え中Nagiosを使ったAMIからの復旧5〜10分程度のダウンタイムが許容されるサーバに適用LDAPの故障するとnrpeがおかしくなるので、今は使っていない状態…ネットワークセキュリティDNSAMI監視冗長化MySQL
39.
サーバ・ネットワーク構成Heartbeatを使ったフェイルオーバーダウンタイムは一番短いLVS/keepalivedに比べると劣る…マルチキャストを使えないのが痛いネットワークセキュリティDNSAMI監視冗長化MySQL
40.
サーバ・ネットワーク構成ネットワークセキュリティDNSAMI監視冗長化MySQL
41.
サーバ・ネットワーク構成EC2上にはSlaveのみデータはEBS上に置いているデータは日次でSnapshotを作成ネットワークセキュリティDNSAMI監視冗長化MySQL
42.
サーバ・ネットワーク構成Snapshotから新しいスレーブを作るネットワークセキュリティDNSAMI監視冗長化MySQL
43.
分散DNSの話
44.
分散DNSの話内部DNSは最重要サーバresolv.confで一応、複数のDNSを参照
45.
分散DNSの話内容がキャッシュされるフェイルオーバー時にApache等のリロードが必要timeoutが1s以下にできない先頭のネームサーバが死ぬとクエリがいちいち引っかかるcronで監視ダウンタイムが分単位管理がめんどくさい
46.
分散DNSの話なので分散DNSというものを作りました
47.
分散DNSの話自分のホスト名を指定して各インスタンスでノードを起動
48.
分散DNSの話ホスト名とIPアドレスの情報はGossipプロトコルで各ノードに拡散される
49.
分散DNSの話アプリケーションは自インスタンスのノードに問い合わせ
50.
分散DNSの話死んだノードはクラスタから外れる各ノードの情報は自動的に更新される
51.
分散DNSの話DEMO
52.
ご静聴ありがとうございました