Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

20170311 jawsdays 新訳 とあるアーキテクトのクラウドデザインパターン目録

901 views

Published on

2017/3/11 JAWS DAYS 2017 「新訳 とあるアーキテクトのクラウドデザインパターン目録」で発表した資料となります

Published in: Technology
  • Be the first to comment

20170311 jawsdays 新訳 とあるアーキテクトのクラウドデザインパターン目録

  1. 1. #jawsdays #jd2017_a
  2. 2. #jawsdays #jd2017_a はじめに ご紹介 JAWS-UG ARCH アーキテクチャ専門支部
  3. 3. #jawsdays #jd2017_a はじめに アーキテクチャって 重要ですよね?
  4. 4. #jawsdays #jd2017_a はじめに だがしかし アーキテクチャ談義を する場が無かった
  5. 5. #jawsdays #jd2017_a • JAWS-UG 初(?)の 抽象論 専門支部 • 興味対象は、AWSによるクラウドデザインパターン • 議論中心の相互勉強会 • 「事例とアーキテクチャ」を重視 • ネイティブクラウド分科会 • ハイブリッドクラウド分科会 • CDPのアウトプットやハンズオン開催が目標 支部のご紹介 JAWS-UG ARCH アーキテクチャ専門支部
  6. 6. #jawsdays #jd2017_a 支部運営方針 JAWS-UG ARCH アーキテクチャ専門支部 • クラウドアーキテクチャ中心の相互勉強会 • 参加者が積極的に発言&交流するコミュニティにしたい • 定期的(1〜2ヶ月に1回程度)開催 • 運営チーム制 • 支部長でもなくコアチームでもなく「運営チーム」 • 会場はAWSJさんのご支援をいただいています • ありがとうございます!!
  7. 7. #jawsdays #jd2017_a 今日は諸事情により欠席。。 「運用でカバー」の波田野さん
  8. 8. #jawsdays #jd2017_a JAWS-UG初心者支部(卒業) JAWS-UGアーキテクチャ専門支部 JAWS-UG情シス支部 JAWS-UG東京 山﨑 奈緒美 AWS Samurai 2015
  9. 9. #jawsdays #jd2017_a 支部へのご参加にあたって JAWS-UG ARCH アーキテクチャ専門支部 • 勉強会の申込みはconnpassで受付けています • https://goo.gl/ZY9tpC • 新CDP案や利用方法の議論IssueをGithubで立てています • https://goo.gl/huoVg7
  10. 10. #jawsdays #jd2017_a はじめに
  11. 11. #jawsdays #jd2017_a 運用、超大事。
  12. 12. #jawsdays #jd2017_a システムを構築する際に・・・ • システム構築・運用にかかるコスト – 開発時は3割 – 運用時は7割 • 開発フェーズよりも運用フェーズの方が長い • 構築時に運用設計をしっかりする事が大切 「運用でカバー」を極力減らす
  13. 13. #jawsdays #jd2017_a そもそもシステムって? システムを構築する際に・・・
  14. 14. #jawsdays #jd2017_a システムを構築する際に・・・ システムとは、 本来は目的を遂行するための体系/組織を意味する ≠ コンピューターシステム
  15. 15. #jawsdays #jd2017_a システムを構築する際に・・・ 世界で最も古い情報システム =複式簿記(約500年前)
  16. 16. #jawsdays #jd2017_a システムを構築する際に・・・ 業務システム= 企業活動における業務を効率よく 円滑に回し、利益を得るための仕組み コンピューターシステム= 企業活動における業務をIT技術を利用して 効率よく円滑に回し、利益を得るための仕組み
  17. 17. #jawsdays #jd2017_a システムを構築する際に・・・ 業務に使うモノ(ソフトウェア)の品質特性は 「業務そのものに求められる品質」 と同じでは?
  18. 18. #jawsdays #jd2017_a システムを構築する際に・・・ 業務そのもの = 運用フェーズ 運用って大事ですよね♪
  19. 19. #jawsdays #jd2017_a システムを構築する際に・・・ ソフトウェア品質 = 運用品質 設計・実装時にしっかりと設計しましょう
  20. 20. #jawsdays #jd2017_a システムを構築する際に・・・ ISO/IEC 9126 ソフトウェア品質の評価に関する国際規格 に当てはめて考えてみよう
  21. 21. #jawsdays #jd2017_a ソフトウェア品質6特性 機能性 信頼性 使用性 効率性 保守性 移植性 外部品質 内部品質
  22. 22. #jawsdays #jd2017_a 運用品質6特性 機能性 信頼性 使用性 効率性 保守性 移植性 サービス品質 デリバリ品質
  23. 23. #jawsdays #jd2017_a リリースフェーズをイシキ 機能性 信頼性 使用性 サービス品質:実装フェーズで意識する。 要求事項を担保すること ユーザビリティの担保、エラーメッセージ やヘルプを充実させること 障害を極力防ぎ、目的の機能が 十分に実現できること
  24. 24. #jawsdays #jd2017_a リリースフェーズをイシキ 目的達成の際にリソースを 無駄に消費しないこと 別の環境へのソフトウェア移行が 容易であること 新たな要求を満たすための改良が 容易であること 効率性 保守性 移植性 デリバリ品質:プレリリースフェーズで意識する
  25. 25. #jawsdays #jd2017_a AWS Cloud Design Pattern • システム構成の課題 • 解決策・実装方法 • 利点と注意点 AWSクラウドデザインパターン ノウハウとしてパターン化
  26. 26. #jawsdays #jd2017_a AWS Cloud Design Pattern クラウドアーキテクチャーにも 運用品質の担保が必要 運用品質を意識した Cloud Design Pattern
  27. 27. #jawsdays #jd2017_a 今日のお話の全体構成図 Office Direct Connect VPN connection Cloud Front Route 53 RDS DB instance RDS DB instancestandby(multi- AZ) AWS Directory Service Amazon API Gateway Amazon Cognito AWS Lambda Amazon DynamoDB Amazon S3 AMI Auto Scaling EC2 Amazon Provided DNS EC2 Staging server Prod server Prod server Bastion server corporate data center EC2 Elastic Load Balancing EC2 DNS Server
  28. 28. #jawsdays #jd2017_a 今日のお話の全体構成図 Office Direct Connect VPN connection Cloud Front Route 53 RDS DB instance RDS DB instancestandby(multi- AZ) AWS Directory Service Amazon API Gateway Amazon Cognito AWS Lambda Amazon DynamoDB Amazon S3 AMI Auto Scaling EC2 Amazon Provided DNS EC2 Staging server Prod server Prod server Bastion server corporate data center EC2 Elastic Load Balancing EC2 DNS Server
  29. 29. #jawsdays #jd2017_a 今日のお話の全体構成図 Office Direct Connect VPN connection Cloud Front Route 53 RDS DB instance RDS DB instancestandby(multi- AZ) AWS Directory Service Amazon API Gateway Amazon Cognito AWS Lambda Amazon DynamoDB Amazon S3 AMI Auto Scaling EC2 Amazon Provided DNS EC2 Staging server Prod server Prod server Bastion server corporate data center EC2 Elastic Load Balancing EC2 DNS Server
  30. 30. #jawsdays #jd2017_a Route53 as the Hybrid cloud 2017/3/11 JAWS-UG ARCH 山﨑奈緒美
  31. 31. #jawsdays #jd2017_a 今日のお話の全体構成図 Office Direct Connect VPN connection Cloud Front Route 53 RDS DB instance RDS DB instancestandby(multi- AZ) AWS Directory Service Amazon API Gateway Amazon Cognito AWS Lambda Amazon DynamoDB Amazon S3 AMI Auto Scaling EC2 Amazon Provided DNS EC2 Staging server Prod server Prod server Bastion server corporate data center EC2 Elastic Load Balancing EC2 DNS Server
  32. 32. #jawsdays #jd2017_a Route53を使った ハイブリッドな やーつ
  33. 33. #jawsdays #jd2017_a ハイブリッドクラウド ってなんだっけ?
  34. 34. #jawsdays #jd2017_a 雑に言うとこんなの WEB Server DB ServerLoad balancer
  35. 35. #jawsdays #jd2017_a • オンプレ環境のDNSサーバの運用負荷を減らしたい • 社内からAWS環境にあるリソースを名前解決したい • オンプレ・AWS環境のレコード管理を統合したい 解決したい課題
  36. 36. #jawsdays #jd2017_a Private IPアドレス オンプレから名前解決 パターンその1
  37. 37. #jawsdays #jd2017_a AWS公式ブログでも
  38. 38. #jawsdays #jd2017_a ガチ本番環境導入済
  39. 39. #jawsdays #jd2017_a 1. オンプレ環境とDirect ConnectまたはVPNで接続する 2. Directory Service(Simple AD)をつくる 3. VPCのDNS Resolution, DNS hostnamesをYESにする 4. Route53でPrivate Zoneを作ってレコード登録 5. オンプレ環境のDNSサーバのフォワーダーの宛先を Directory ServiceのIPアドレスで設定 レシピ
  40. 40. #jawsdays #jd2017_a stgweb : 172.31.0.20 ③ アーキテクチャ図 Office Direct Connect VPN connection Route 53 RDS DB instance RDS DB instancestandby(multi- AZ) AWS Directory Service Amazon S3 AMI Auto Scaling EC2 Amazon Provided DNS EC2 Staging server Prod server Prod server Bastion server corporate data center EC2 Elastic Load Balancing EC2 DNS Server www : internal- xxx.ap-northeast- 1.elb.amazonaws.com Zone : xxxinc.local bastion : 172.31.0.21 172.31.0.21 172.31.0.20 Internal-xxx.ap-northeast-1.elb.amazonaws.com ① ② ④
  41. 41. #jawsdays #jd2017_a もちょっと詳しく
  42. 42. #jawsdays #jd2017_a Simple AD = Samba 4 ベース
  43. 43. #jawsdays #jd2017_a Samba 4 の機能 • Active Directoryドメインコントローラー • ディレクトリーサービス(LDAP) • Kerberos認証によるシングルサインオン(SSO)機能 • ドメインコントローラーのレプリケーション • 内蔵DNSおよび外部DNS(BIND)との連携 • Active Directoryグループポリシーのサポート • Windows GUIベースのリモートサーバ管理ツール(RSAT)対応 • ファイルサーバ機能
  44. 44. #jawsdays #jd2017_a Simple AD の機能 • Microsoft ADの一部機能 • ユーザーとグループ機能 • グループポリシー • EC2インスタンスへのセキュアな接続 • Kerberos認証によるシングルサインオン(SSO)機能
  45. 45. #jawsdays #jd2017_a Simple AD での非対応機能 • 他ドメインとの信頼関係 • ActiveDirectory管理センター • PowerShellサポート • Active Directory recycle bin(ゴミ箱) • グループの管理されたサービスアカウント • ActiveDirectoryスキーマ拡張
  46. 46. #jawsdays #jd2017_a VPCのDHCPオプション DHCPオプション内のdomain-name-servers が Amazon-Provided DNS に設定されている場合 Amazon-Provided DNSはVPC内のインスタンスに対して プライベートDNSホスト名又はパブリックDNSホスト名を付与 Public DNS (IPv4) ec2-52-XX-XXX-XXX.ap-northeast-1.compute.amazonaws.com Private DNS ip-172-31-XXX-XXX.ap-northeast-1.compute.internal
  47. 47. #jawsdays #jd2017_a Amazon-Provided DNS • VPCのアドレス範囲に2をプラスしたIPアドレスを利用 • Route53 private hosted zoneにあるDNSドメイン名を解決 • Simple ADはDNSリクエストをAmazon-Provided DNSへフォ ワード VPC作成時にデフォルトで作成されるオプションセットの値 domain-name = ap-northeast-1.compute.internal domain-name-servers = AmazonProvidedDNS
  48. 48. #jawsdays #jd2017_a VPCとAmazon-Provided DNS 以下の手順でVPC内の名前解決に Amazon-Provided DNSが使用されるようになる。 • VPCを作成してDHCP options setの紐付け ※デフォルトでだいたいイケる • DNS Resolution, DNS hostnamesをYESにする
  49. 49. #jawsdays #jd2017_a オンプレDNSのフォワーダー設定 • オンプレ環境のDNSのフォワーダーにSimple ADを指定する • ローカルで解決できないDNSクエリを指定した外部DNSサーバ へ転送する 条件付きフォワーダーとして特定のドメイン名に関する DNSクエリを転送することも可能
  50. 50. #jawsdays #jd2017_a オンプレから名前解決パターン 利点 • Private hosted zoneの名前解決が可能 • PrivateとPublicで応答内容を変えてSplit horizonが可能 • DNSをフルマネージドで運用可能 注意点 • VPCとの接続の信頼性を高く保つことが前提 • オンプレDNSは権威サーバではなくスタブリゾルバが前提 • オンプレDNSにレコード登録するとメリット享受できない
  51. 51. #jawsdays #jd2017_a Private IPアドレス オンプレから名前解決 パターンその2
  52. 52. #jawsdays #jd2017_a アンチパターン!? アーキテクチャ専門支部内で 大論争を生んだパターン
  53. 53. #jawsdays #jd2017_a • オンプレ環境のDNSサーバの運用負荷を減らしたい • 社内からAWS環境にあるリソースを名前解決したい • オンプレ・AWS環境のレコード管理を統合したい • というかむしろオンプレにDNSサーバ持ちたくない 解決したい課題
  54. 54. #jawsdays #jd2017_a 1. オンプレDNSサーバがインターネットで名前解決が できるようにする。 DNSサーバでなくてもルーターでも良い 2. Route53 Public Zoneをつくる 3. プライベートIPをPublic Hosted Zoneにレコード登録 レシピ
  55. 55. #jawsdays #jd2017_a stgweb : 172.31.0.20 アーキテクチャ図 Office Direct Connect VPN connection Route 53 RDS DB instance RDS DB instancestandby(multi- AZ) AWS Directory Service Amazon S3 AMI Auto Scaling EC2 Amazon Provided DNS EC2 Staging server Prod server Prod server Bastion server corporate data center EC2 Elastic Load Balancing EC2 DNS Server www : internal- xxx.ap-northeast- 1.elb.amazonaws.com Zone : xxxinc.local bastion : 172.31.0.21 172.31.0.21 172.31.0.20 Internal-xxx.ap-northeast-1.elb.amazonaws.com ① ②
  56. 56. #jawsdays #jd2017_a こんな疑問 ありませんか?
  57. 57. #jawsdays #jd2017_a Public Hosted Zoneに Private IPアドレスを 登録していいの?
  58. 58. #jawsdays #jd2017_a RFC1918 プライベートIPアドレスはグローバルな意味を持たないの でプライベートネットワーク内のみで使用されるべき。 プライベートアドレス空間を使用しないルーター、特にISP のものはプライベートネットワークの経路情報を拒絶する よう設定されるべきである。
  59. 59. #jawsdays #jd2017_a セキュリティ観点では digればプライベートIPアドレスがダダ漏れなので 攻撃者へ情報を与えてしまうことに
  60. 60. #jawsdays #jd2017_a 結論: あまりオススメできません
  61. 61. #jawsdays #jd2017_a でもね・・・
  62. 62. #jawsdays #jd2017_a ELB internal access only
  63. 63. #jawsdays #jd2017_a ELB internal access only
  64. 64. #jawsdays #jd2017_a RDS internal access only
  65. 65. #jawsdays #jd2017_a RDS internal access only
  66. 66. #jawsdays #jd2017_a AWSさん、どうなん?
  67. 67. #jawsdays #jd2017_a ご利用は計画的に。

×