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