Upgrade to Pro — share decks privately, control downloads, hide ads and more …

20200419_Amazon Builder's Library オンライン輪読会 vol.11

20200419_Amazon Builder's Library オンライン輪読会 vol.11

シャッフルシャーディングを使ったワークロードの分離
https://aws.amazon.com/jp/builders-library/workload-isolation-using-shuffle-sharding/?did=ba_card&trk=ba_card

SadayoshiTada

April 19, 2020
Tweet

More Decks by SadayoshiTada

Other Decks in Technology

Transcript

  1. Amazon Builder's Library オンライン輪 Amazon Builder's Library オンライン輪 Amazon Builder's

    Library オンライン輪 Amazon Builder's Library オンライン輪 Amazon Builder's Library オンライン輪 Amazon Builder's Library オンライン輪 読会 vol.11 読会 vol.11 読会 vol.11 読会 vol.11 読会 vol.11 読会 vol.11 - 20200419 - - 20200419 - - 20200419 - - 20200419 - - 20200419 - - 20200419 - 1 / 11
  2. 目次 目次 目次 目次 目次 目次 記事の要約 記事の要約 記事の要約 記事の要約

    記事の要約 記事の要約 DDoS 対策のシャッフルシャーディング DDoS 対策のシャッフルシャーディング DDoS 対策のシャッフルシャーディング DDoS 対策のシャッフルシャーディング DDoS 対策のシャッフルシャーディング DDoS 対策のシャッフルシャーディング シャッフルシャーディングについて シャッフルシャーディングについて シャッフルシャーディングについて シャッフルシャーディングについて シャッフルシャーディングについて シャッフルシャーディングについて Route53 のシャッフルシャーディング Route53 のシャッフルシャーディング Route53 のシャッフルシャーディング Route53 のシャッフルシャーディング Route53 のシャッフルシャーディング Route53 のシャッフルシャーディング まとめ まとめ まとめ まとめ まとめ まとめ                               2 / 11
  3. 記事の要約 記事の要約 記事の要約 記事の要約 記事の要約 記事の要約 Route53 を開発した時にDDoS 対策としてシャッフルシャーディング Route53

    を開発した時にDDoS 対策としてシャッフルシャーディング Route53 を開発した時にDDoS 対策としてシャッフルシャーディング Route53 を開発した時にDDoS 対策としてシャッフルシャーディング Route53 を開発した時にDDoS 対策としてシャッフルシャーディング Route53 を開発した時にDDoS 対策としてシャッフルシャーディング の技術を取り入れた の技術を取り入れた の技術を取り入れた の技術を取り入れた の技術を取り入れた の技術を取り入れた シャッフルシャーディングはDDoS 攻撃を受けても影響を局所化し、 シャッフルシャーディングはDDoS 攻撃を受けても影響を局所化し、 シャッフルシャーディングはDDoS 攻撃を受けても影響を局所化し、 シャッフルシャーディングはDDoS 攻撃を受けても影響を局所化し、 シャッフルシャーディングはDDoS 攻撃を受けても影響を局所化し、 シャッフルシャーディングはDDoS 攻撃を受けても影響を局所化し、 他のサーバーや利用者は影響を受けない 他のサーバーや利用者は影響を受けない 他のサーバーや利用者は影響を受けない 他のサーバーや利用者は影響を受けない 他のサーバーや利用者は影響を受けない 他のサーバーや利用者は影響を受けない             3 / 11
  4. DDoS 対策のシャッフルシャーディング DDoS 対策のシャッフルシャーディング DDoS 対策のシャッフルシャーディング DDoS 対策のシャッフルシャーディング DDoS 対策のシャッフルシャーディング

    DDoS 対策のシャッフルシャーディング Amazon ではDNS ホスティングサービスの開発の中でDDoS(Denial Amazon ではDNS ホスティングサービスの開発の中でDDoS(Denial Amazon ではDNS ホスティングサービスの開発の中でDDoS(Denial Amazon ではDNS ホスティングサービスの開発の中でDDoS(Denial Amazon ではDNS ホスティングサービスの開発の中でDDoS(Denial Amazon ではDNS ホスティングサービスの開発の中でDDoS(Denial Of Service) 攻撃への対策が課題になった Of Service) 攻撃への対策が課題になった Of Service) 攻撃への対策が課題になった Of Service) 攻撃への対策が課題になった Of Service) 攻撃への対策が課題になった Of Service) 攻撃への対策が課題になった DDoS 攻撃はサーバーに対して大量のトラフィックを送ってサービ DDoS 攻撃はサーバーに対して大量のトラフィックを送ってサービ DDoS 攻撃はサーバーに対して大量のトラフィックを送ってサービ DDoS 攻撃はサーバーに対して大量のトラフィックを送ってサービ DDoS 攻撃はサーバーに対して大量のトラフィックを送ってサービ DDoS 攻撃はサーバーに対して大量のトラフィックを送ってサービ スを停止させる攻撃 スを停止させる攻撃 スを停止させる攻撃 スを停止させる攻撃 スを停止させる攻撃 スを停止させる攻撃 DNS の攻撃はDNS フラッド攻撃やUDP フラッド攻撃がある DNS の攻撃はDNS フラッド攻撃やUDP フラッド攻撃がある DNS の攻撃はDNS フラッド攻撃やUDP フラッド攻撃がある DNS の攻撃はDNS フラッド攻撃やUDP フラッド攻撃がある DNS の攻撃はDNS フラッド攻撃やUDP フラッド攻撃がある DNS の攻撃はDNS フラッド攻撃やUDP フラッド攻撃がある 開発チームはDDoS 対策でシャッフルシャーディングを採用 開発チームはDDoS 対策でシャッフルシャーディングを採用 開発チームはDDoS 対策でシャッフルシャーディングを採用 開発チームはDDoS 対策でシャッフルシャーディングを採用 開発チームはDDoS 対策でシャッフルシャーディングを採用 開発チームはDDoS 対策でシャッフルシャーディングを採用                         4 / 11
  5. シャッフルシャーディングについて シャッフルシャーディングについて シャッフルシャーディングについて シャッフルシャーディングについて シャッフルシャーディングについて シャッフルシャーディングについて シャッフルシャーディングは仮装シャードを作り2 つのワーカーを割 シャッフルシャーディングは仮装シャードを作り2 つのワーカーを割

    シャッフルシャーディングは仮装シャードを作り2 つのワーカーを割 シャッフルシャーディングは仮装シャードを作り2 つのワーカーを割 シャッフルシャーディングは仮装シャードを作り2 つのワーカーを割 シャッフルシャーディングは仮装シャードを作り2 つのワーカーを割 り当て, サーバーへの攻撃影響範囲を狭めるための技術 り当て, サーバーへの攻撃影響範囲を狭めるための技術 り当て, サーバーへの攻撃影響範囲を狭めるための技術 り当て, サーバーへの攻撃影響範囲を狭めるための技術 り当て, サーバーへの攻撃影響範囲を狭めるための技術 り当て, サーバーへの攻撃影響範囲を狭めるための技術 仮にそのうちの特定のサーバーのみ攻撃を受けても他のサーバーは 仮にそのうちの特定のサーバーのみ攻撃を受けても他のサーバーは 仮にそのうちの特定のサーバーのみ攻撃を受けても他のサーバーは 仮にそのうちの特定のサーバーのみ攻撃を受けても他のサーバーは 仮にそのうちの特定のサーバーのみ攻撃を受けても他のサーバーは 仮にそのうちの特定のサーバーのみ攻撃を受けても他のサーバーは 影響を受けず, 攻撃を対象を隔離することで他のサーバーを利用ユ 影響を受けず, 攻撃を対象を隔離することで他のサーバーを利用ユ 影響を受けず, 攻撃を対象を隔離することで他のサーバーを利用ユ 影響を受けず, 攻撃を対象を隔離することで他のサーバーを利用ユ 影響を受けず, 攻撃を対象を隔離することで他のサーバーを利用ユ 影響を受けず, 攻撃を対象を隔離することで他のサーバーを利用ユ ーザーにも影響を与えないようになる ーザーにも影響を与えないようになる ーザーにも影響を与えないようになる ーザーにも影響を与えないようになる ーザーにも影響を与えないようになる ーザーにも影響を与えないようになる             5 / 11
  6. シャッフルシャーディングのイメージ シャッフルシャーディングのイメージ シャッフルシャーディングのイメージ シャッフルシャーディングのイメージ シャッフルシャーディングのイメージ シャッフルシャーディングのイメージ 8 台のサーバーがあった際に, シャッフルシャーディングのイメージ 8

    台のサーバーがあった際に, シャッフルシャーディングのイメージ 8 台のサーバーがあった際に, シャッフルシャーディングのイメージ 8 台のサーバーがあった際に, シャッフルシャーディングのイメージ 8 台のサーバーがあった際に, シャッフルシャーディングのイメージ 8 台のサーバーがあった際に, シャッフルシャーディングのイメージ が以下のもの が以下のもの が以下のもの が以下のもの が以下のもの が以下のもの 仮に特定のワーカーに割り当てられたクライアントで問題が発生し 仮に特定のワーカーに割り当てられたクライアントで問題が発生し 仮に特定のワーカーに割り当てられたクライアントで問題が発生し 仮に特定のワーカーに割り当てられたクライアントで問題が発生し 仮に特定のワーカーに割り当てられたクライアントで問題が発生し 仮に特定のワーカーに割り当てられたクライアントで問題が発生し てその仮装シャードのみで障害が起こるため攻撃範囲が限定され, てその仮装シャードのみで障害が起こるため攻撃範囲が限定され, てその仮装シャードのみで障害が起こるため攻撃範囲が限定され, てその仮装シャードのみで障害が起こるため攻撃範囲が限定され, てその仮装シャードのみで障害が起こるため攻撃範囲が限定され, てその仮装シャードのみで障害が起こるため攻撃範囲が限定され, 他の利用者へも影響が及ばない 他の利用者へも影響が及ばない 他の利用者へも影響が及ばない 他の利用者へも影響が及ばない 他の利用者へも影響が及ばない 他の利用者へも影響が及ばない            
  7. Route53 のシャッフルシャーディング 1/2 Route53 のシャッフルシャーディング 1/2 Route53 のシャッフルシャーディング 1/2 Route53

    のシャッフルシャーディング 1/2 Route53 のシャッフルシャーディング 1/2 Route53 のシャッフルシャーディング 1/2 Route53 のシャッフルシャーディングは以下の実装をしている Route53 のシャッフルシャーディングは以下の実装をしている Route53 のシャッフルシャーディングは以下の実装をしている Route53 のシャッフルシャーディングは以下の実装をしている Route53 のシャッフルシャーディングは以下の実装をしている Route53 のシャッフルシャーディングは以下の実装をしている 全2048 の仮想ネームサーバーにサーバーリソースに各ユーザーの 全2048 の仮想ネームサーバーにサーバーリソースに各ユーザーの 全2048 の仮想ネームサーバーにサーバーリソースに各ユーザーの 全2048 の仮想ネームサーバーにサーバーリソースに各ユーザーの 全2048 の仮想ネームサーバーにサーバーリソースに各ユーザーの 全2048 の仮想ネームサーバーにサーバーリソースに各ユーザーの ドメインは4 つのネームサーバーが作られる ドメインは4 つのネームサーバーが作られる ドメインは4 つのネームサーバーが作られる ドメインは4 つのネームサーバーが作られる ドメインは4 つのネームサーバーが作られる ドメインは4 つのネームサーバーが作られる ns-2048.awsdns-64.com ns-2048.awsdns-64.com ns-2048.awsdns-64.com ns-2048.awsdns-64.com ns-2048.awsdns-64.com ns-2048.awsdns-64.com ns-2049.awsdns-65.net ns-2049.awsdns-65.net ns-2049.awsdns-65.net ns-2049.awsdns-65.net ns-2049.awsdns-65.net ns-2049.awsdns-65.net ns-2050.awsdns-66.org ns-2050.awsdns-66.org ns-2050.awsdns-66.org ns-2050.awsdns-66.org ns-2050.awsdns-66.org ns-2050.awsdns-66.org ns-2051.awsdns-67.co.uk ns-2051.awsdns-67.co.uk ns-2051.awsdns-67.co.uk ns-2051.awsdns-67.co.uk ns-2051.awsdns-67.co.uk ns-2051.awsdns-67.co.uk Amazon Route 53 がパブリックホストゾーンに作成する NS レコード Amazon Route 53 がパブリックホストゾーンに作成する NS レコード Amazon Route 53 がパブリックホストゾーンに作成する NS レコード Amazon Route 53 がパブリックホストゾーンに作成する NS レコード Amazon Route 53 がパブリックホストゾーンに作成する NS レコード Amazon Route 53 がパブリックホストゾーンに作成する NS レコード と SOA レコード と SOA レコード と SOA レコード と SOA レコード と SOA レコード と SOA レコードより引用 より引用 より引用 より引用 より引用 より引用             7 / 11
  8. Route53 のシャッフルシャーディング 2/2 Route53 のシャッフルシャーディング 2/2 Route53 のシャッフルシャーディング 2/2 Route53

    のシャッフルシャーディング 2/2 Route53 のシャッフルシャーディング 2/2 Route53 のシャッフルシャーディング 2/2 シャッフルシャーディングでDDoS 攻撃があっても特定ドメインのネ シャッフルシャーディングでDDoS 攻撃があっても特定ドメインのネ シャッフルシャーディングでDDoS 攻撃があっても特定ドメインのネ シャッフルシャーディングでDDoS 攻撃があっても特定ドメインのネ シャッフルシャーディングでDDoS 攻撃があっても特定ドメインのネ シャッフルシャーディングでDDoS 攻撃があっても特定ドメインのネ ームサーバへのトラフィックが増えるものの, 他のドメインは影響受 ームサーバへのトラフィックが増えるものの, 他のドメインは影響受 ームサーバへのトラフィックが増えるものの, 他のドメインは影響受 ームサーバへのトラフィックが増えるものの, 他のドメインは影響受 ームサーバへのトラフィックが増えるものの, 他のドメインは影響受 ームサーバへのトラフィックが増えるものの, 他のドメインは影響受 けない けない けない けない けない けない 攻撃を受けているドメインへのサーバーリソースを足しつつ攻撃さ 攻撃を受けているドメインへのサーバーリソースを足しつつ攻撃さ 攻撃を受けているドメインへのサーバーリソースを足しつつ攻撃さ 攻撃を受けているドメインへのサーバーリソースを足しつつ攻撃さ 攻撃を受けているドメインへのサーバーリソースを足しつつ攻撃さ 攻撃を受けているドメインへのサーバーリソースを足しつつ攻撃さ れている箇所を隔離することが可能 れている箇所を隔離することが可能 れている箇所を隔離することが可能 れている箇所を隔離することが可能 れている箇所を隔離することが可能 れている箇所を隔離することが可能             8 / 11
  9. 補足: Route53 利用技術と他のDDoS 対策 補足: Route53 利用技術と他のDDoS 対策 補足: Route53

    利用技術と他のDDoS 対策 補足: Route53 利用技術と他のDDoS 対策 補足: Route53 利用技術と他のDDoS 対策 補足: Route53 利用技術と他のDDoS 対策 Route53 ではシャッフルシャーディングの他にエニーキャストスト Route53 ではシャッフルシャーディングの他にエニーキャストスト Route53 ではシャッフルシャーディングの他にエニーキャストスト Route53 ではシャッフルシャーディングの他にエニーキャストスト Route53 ではシャッフルシャーディングの他にエニーキャストスト Route53 ではシャッフルシャーディングの他にエニーキャストスト ライピングという技術が使われている ライピングという技術が使われている ライピングという技術が使われている ライピングという技術が使われている ライピングという技術が使われている ライピングという技術が使われている リクエストを最適なDNS サーバーに送るための負荷分散技術 リクエストを最適なDNS サーバーに送るための負荷分散技術 リクエストを最適なDNS サーバーに送るための負荷分散技術 リクエストを最適なDNS サーバーに送るための負荷分散技術 リクエストを最適なDNS サーバーに送るための負荷分散技術 リクエストを最適なDNS サーバーに送るための負荷分散技術 シャッフルシャーディングとエニーキャストストライピングを使 シャッフルシャーディングとエニーキャストストライピングを使 シャッフルシャーディングとエニーキャストストライピングを使 シャッフルシャーディングとエニーキャストストライピングを使 シャッフルシャーディングとエニーキャストストライピングを使 シャッフルシャーディングとエニーキャストストライピングを使 って可用性をあげている って可用性をあげている って可用性をあげている って可用性をあげている って可用性をあげている って可用性をあげている AWS ではDDoS 対策としてAWS Shield Standard レイヤー3 および4 AWS ではDDoS 対策としてAWS Shield Standard レイヤー3 および4 AWS ではDDoS 対策としてAWS Shield Standard レイヤー3 および4 AWS ではDDoS 対策としてAWS Shield Standard レイヤー3 および4 AWS ではDDoS 対策としてAWS Shield Standard レイヤー3 および4 AWS ではDDoS 対策としてAWS Shield Standard レイヤー3 および4 の攻撃を防御してくれる の攻撃を防御してくれる の攻撃を防御してくれる の攻撃を防御してくれる の攻撃を防御してくれる の攻撃を防御してくれる マネージドサービス(CloudFront,WAF,ELB 等) とAutoScaling を組み マネージドサービス(CloudFront,WAF,ELB 等) とAutoScaling を組み マネージドサービス(CloudFront,WAF,ELB 等) とAutoScaling を組み マネージドサービス(CloudFront,WAF,ELB 等) とAutoScaling を組み マネージドサービス(CloudFront,WAF,ELB 等) とAutoScaling を組み マネージドサービス(CloudFront,WAF,ELB 等) とAutoScaling を組み 合わせてインフラとアプリそれぞれの層を防御する 合わせてインフラとアプリそれぞれの層を防御する 合わせてインフラとアプリそれぞれの層を防御する 合わせてインフラとアプリそれぞれの層を防御する 合わせてインフラとアプリそれぞれの層を防御する 合わせてインフラとアプリそれぞれの層を防御する                               9 / 11
  10. まとめ まとめ まとめ まとめ まとめ まとめ シャッフルシャーディングはいいぞ シャッフルシャーディングはいいぞ シャッフルシャーディングはいいぞ シャッフルシャーディングはいいぞ

    シャッフルシャーディングはいいぞ シャッフルシャーディングはいいぞ シャッフルシャーディングはRoute53 に実装されているから利用者 シャッフルシャーディングはRoute53 に実装されているから利用者 シャッフルシャーディングはRoute53 に実装されているから利用者 シャッフルシャーディングはRoute53 に実装されているから利用者 シャッフルシャーディングはRoute53 に実装されているから利用者 シャッフルシャーディングはRoute53 に実装されているから利用者 はDDoS の攻撃を気にせず使えてサービスの安定性もある(SLA はDDoS の攻撃を気にせず使えてサービスの安定性もある(SLA はDDoS の攻撃を気にせず使えてサービスの安定性もある(SLA はDDoS の攻撃を気にせず使えてサービスの安定性もある(SLA はDDoS の攻撃を気にせず使えてサービスの安定性もある(SLA はDDoS の攻撃を気にせず使えてサービスの安定性もある(SLA 100% の所以を知れた気がする) 100% の所以を知れた気がする) 100% の所以を知れた気がする) 100% の所以を知れた気がする) 100% の所以を知れた気がする) 100% の所以を知れた気がする) シャッフルシャーディングに興味があれば「Route53 In ma シャッフルシャーディングに興味があれば「Route53 In ma シャッフルシャーディングに興味があれば「Route53 In ma シャッフルシャーディングに興味があれば「Route53 In ma シャッフルシャーディングに興味があれば「Route53 In ma シャッフルシャーディングに興味があれば「Route53 In ma library 」が参考になる library 」が参考になる library 」が参考になる library 」が参考になる library 」が参考になる library 」が参考になる https://github.com/awslabs/route53-in ma https://github.com/awslabs/route53-in ma https://github.com/awslabs/route53-in ma https://github.com/awslabs/route53-in ma https://github.com/awslabs/route53-in ma https://github.com/awslabs/route53-in ma                   10 / 11
  11. 参考資料 参考資料 参考資料 参考資料 参考資料 参考資料 Amazon Route 53 および

    AWS Shield を使用した DDoS リスクの軽 Amazon Route 53 および AWS Shield を使用した DDoS リスクの軽 Amazon Route 53 および AWS Shield を使用した DDoS リスクの軽 Amazon Route 53 および AWS Shield を使用した DDoS リスクの軽 Amazon Route 53 および AWS Shield を使用した DDoS リスクの軽 Amazon Route 53 および AWS Shield を使用した DDoS リスクの軽 減 減 減 減 減 減 DDoS 対策のホワイトペーパー DDoS 対策のホワイトペーパー DDoS 対策のホワイトペーパー DDoS 対策のホワイトペーパー DDoS 対策のホワイトペーパー DDoS 対策のホワイトペーパー AWS BlackBelt AWS 上でのDDoS 対策 AWS BlackBelt AWS 上でのDDoS 対策 AWS BlackBelt AWS 上でのDDoS 対策 AWS BlackBelt AWS 上でのDDoS 対策 AWS BlackBelt AWS 上でのDDoS 対策 AWS BlackBelt AWS 上でのDDoS 対策                   11 / 11