• 検索結果がありません。

エンタープライズ向けAWSクラウドデザインパターンのご紹介(ネットワーク編)

N/A
N/A
Protected

Academic year: 2021

シェア "エンタープライズ向けAWSクラウドデザインパターンのご紹介(ネットワーク編)"

Copied!
59
0
0

読み込み中.... (全文を見る)

全文

(1)

© 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.

エンタープライズ向けAWSクラウドデザインパ

ターンのご紹介(ネットワーク編)

荒木靖宏, アマゾンデータサービスジャパン

July 18, 2014

(2)

自己紹介

• 名前

– 荒木 靖宏

• 所属

– アマゾンデータサービスジャパン株式会社

プリンシパルソリューションアーキテクト

• ID

– Twitter: ar1

• 好きなAWSサービス

– Amazon Virtual Private Cloud

– AWS Direct Connect

(3)

よく聞く話

• サービスが多くてよく分からない

• 組み合わせ方が分からない

(4)

AWSクラウドデザインパターンとは...

• AWSクラウドを使ったシステムアーキテクチャ設計を

行う際に発生する、典型的な問題とそれに対する解決

策・設計方法を、分かりやすく分類して、ノウハウとし

て利用できるように整理したもの。

(5)

うまく組み合わせると・・

• ピーク対応が楽

• セキュアなシステム構築

• 安価に世界展開

(6)

CDPカテゴリ

-基本パターン

Snapshot

Stamp

Scale Up

Ondemand Disk

-可用性を高める

Multi-Server

Multi-Datacenter

Floating IP

Deep Health Check

-動的コンテンツを処理

Scale Out

Clone Server

NFS Sharding

NFS Replica

State Sharing

URL Rewriting

Rewrite Proxy

Cache Proxy

-静的コンテンツを処理

Web Storage

Direct Hosting

Private Distribution

Cache Distribution

Rename Distribution

-クラウドへのアップロード

Write Proxy

Storage Index

Direct Object Upload

-リレーショナル・データベース

DB Replication

Read Replica

Inmemory DB Cache

Sharding Write

-バッチ処理

Queuing Chain

Priority Queue

Job Observer

Scheduled Autoscaling

-運用保守

Bootstrap

Cloud DI

Stack Deployment

Server Swapping

Monitoring Integration

Web Storage Archive

-ネットワーキング

OnDemand NAT

Backnet

Functional Firewall

Operational Firewall

Multi Load Balancer

WAF Proxy

(7)

エンタープライズシステム構成例

運用LAN

社内LAN

本番

本番

ステージング

開発

AZ:B

AZ:A

AD

DNS

VMware

Storage Gateway Manage ment Console Operation Terminal アクセス チェック Hybrid 監視

Internet

データセンター

Public Segment Private Segment

Private Segment Public Segment

Private Segment Public Segment

VM VM ボリュームコピー VM移行

監視

Router

運用機能の一元化

拠点間広域接続網

データ

Internet

(8)

エンタープライズシステム設計

• 対象アプリ決定

• リージョン設計

• VPC設計

• インターネット

VPN

• 専用線

• ブロックデバイス

• ファイル

• VM

• DB

• ユーザ管理

• 機器変更管理

• 監視

• ログ

• ステージング環境

テスト

• ユーザ誘導

インフラ

データ:移行とバックアップ

運用

本セッションの対象

(9)

Agenda

• エンタープライズシステムへの準備

– タグ、CloudFormation

• VPCの基本構成要素とパターン

• 内部向けアプリケーションパターン

• バックホームパターン

(10)

Route Table Elastic Network Interface Amazon VPC Router Gateway Internet Customer Gateway Virtual

Private Gateway VPN Connection Subnet

エンタープライズシステムへの

準備

(11)

Tag:最初から、頻繁に

• タグの利用は設計の初期から行う

• 使いそうな情報はなんでもタグ化

– プロジェクトコード、コスト負担部署、実施チーム、環境、利

用目的などなど

• リソースを作ってからでもにタグ付けできる

• タグはリソースの利用権限制御に使える

• AWS Billingもタグをサポートしている

(12)
(13)

CloudFormation

JSON (Text)

(14)

AWS CloudFormationで得るもの

• バージョン管理されたデータセンタ設計

• コマンド一発でインフラ展開

• いつでも世界中のリージョンで再現可能

• インフラとアプリケーションの明確な分離

(15)

Route Table Elastic Network Interface Amazon VPC Router Gateway Internet Customer Gateway Virtual

Private Gateway VPN Connection Subnet

VPCの基本構成要素とパターン

(16)

VPCを作る前にIP空間を考える

• リージョンの将来拡張に備える

• 社内ネットワークの将来拡張に備える

• VPCの制約を理解する

– VPCサイズは /16 (約6万5千)から /28(16)

– IPアドレス空間は初期作成時から変更できない

(17)

Public Subnet Private Subnet Public Subnet Availability Zone B Private Subnet

VPC CIDR: 10.1.0.0 /16

Availability Zone A

(18)

Public Subnet Private Subnet Public Subnet Availability Zone B Private Subnet

Instance A

10.1.1.11 /24

Instance C

10.1.3.33 /24

Instance B

10.1.2.22 /24

Instance D

10.1.4.44 /24

VPC CIDR: 10.1.0.0 /16

Availability Zone A

(19)

Public Subnet Availability Zone A Private Subnet Public Subnet Availability Zone B Private Subnet

Instance A

10.1.1.11 /24

Instance C

10.1.3.33 /24

Instance B

10.1.2.22 /24

Instance D

10.1.4.44 /24

VPC CIDR: 10.1.0.0 /16

.1

.1

.1

.1

(20)

Public Subnet Private Subnet Public Subnet Availability Zone B Private Subnet

Instance A

10.1.1.11 /24

Instance C

10.1.3.33 /24

Instance B

10.1.2.22 /24

Instance D

10.1.4.44 /24

VPC CIDR: 10.1.0.0 /16

Route Table

Destination

Target

10.1.0.0/16

local

Availability Zone A

(21)
(22)

Availability Zone B Public Subnet Availability Zone A Private Subnet Public Subnet Private Subnet

Instance A

10.1.1.11 /24

Instance C

10.1.3.33 /24

Instance B

10.1.2.22 /24

Instance D

10.1.4.44 /24

VPC CIDR: 10.1.0.0 /16

Route Table

Destination

Target

10.1.0.0/1

6

local

10.1.1.0/2

4

Instance B

VPC内の通信経路は

編集も削除もできない

(23)

Network ACLs と

セキュリティグループ

NACLs

• サブネットに1つだけ適用

• ステートレス

• Allow & Deny (blacklist)

• ルール順に評価される

Security Groups

• ENIに5つまで適用

• ステートフル

• Allowのみ (whitelist)

• ルール全体が評価される

• 同一VPC内の全てのセキュリ

ティグループを参照可能

VPC Subnet Elastic Network Instance Security Group Network ACL

(24)

Network ACLsの利用パターン

• 最低限のSecurityポリシー適用

– 例:“全サブネットから外部へのSMTP禁止”

• インスタンス毎に適用されているセ

キュリティグループの漏れの補完

• ネットワーク運用と、開発者の分離

VPC Subnet Instance

(25)

VPC Network ACLsのベストプラクティス

• 慎重かつシンプルに

• VPCから出て行く方向のポリシーに使う

• Rule番号は成長を見越して間をあける

• 修正・削除できるユーザはIAMを使って制限

何も考えずに押さないで!

Default Network ACL:

(26)

VPC管理用のIAM

致命的な影響を与えかねないVPCのAPIコール

AttachInternetGateway

AssociateRouteTable

CreateRoute

DeleteCustomerGateway

DeleteInternetGateway

DeleteNetworkAcl

DeleteNetworkAclEntry

DeleteRoute

DeleteRouteTable

DeleteDhcpOptions

ReplaceNetworkAclAssociation

DisassociateRouteTable

(27)

NACL管理者の設定例:MFAの適用

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DeleteNetworkAcl", "ec2:DeleteNetworkAclEntry" ], "Resource": "arn:aws:ec2:us-west-2:123456789012:network-acl/*", "Condition": { "StringEquals": { "ec2:ResourceTag/Environment": "prod" }, "Null": { "aws:MultiFactorAuthAge": "false" } } } ] }

(28)

Public Subnet Availability Zone A Private Subnet Public Subnet Availability Zone B Private Subnet

Instance A

10.1.1.11 /24

Instance C

10.1.3.33 /24

Instance B

10.1.2.22 /24

Instance D

10.1.4.44 /24

VPC CIDR: 10.1.0.0 /16

VPCからの出口の作成

(29)

Public Subnet Availability Zone A Private Subnet Public Subnet Availability Zone B Private Subnet

Instance A

10.1.1.11 /24

Instance C

10.1.3.33 /24

Instance B

10.1.2.22 /24

Instance D

10.1.4.44 /24

VPC CIDR: 10.1.0.0 /16

Route

Table

Route Table

Destination

Target

10.1.0.0/16

local

0.0.0.0/0

IGW

(30)

Public Subnet Availability Zone A Private Subnet Public Subnet Availability Zone B Private Subnet

Instance A

10.1.1.11 /24

Instance C

10.1.3.33 /24

Instance B

10.1.2.22 /24

Instance D

10.1.4.44 /24

VPC CIDR: 10.1.0.0 /16

Virtual Private Gateway Internet Gateway

インターネットゲート

ウェイとバーチャルゲー

トウェイの利用

VPN Connection Customer Data Center Customer Data Center Direct Connect

Route Table

Destination

Target

10.1.0.0/16

local

Corp CIDR

VGW

(31)

Elastic IPを使った

パブリックIPアドレスの付与

• AWSアカウントに対して付与される

• インスタンスとの紐付けはいつでも可能

• インスタンス間やENI間の移動も可能

• パブリックIPアドレスとプライベートIPアドレスは

1対1にマッピングされる

• 1 Public IP to 1 Private IP static NAT mapping

• インスタンスOSはEIPとマッピングされているかは

(32)

動的パブリックIPアドレス付与

• サブネット毎に有効化する

• インスタンスが起動するときに自動付与

• 1つめのENIでのみ有効

(33)

Public Subnet Availability Zone A Private Subnet Public Subnet Availability Zone B Private Subnet

Instance A

Public: 54.200.129.18

Private: 10.1.1.11 /24

Instance C

10.1.3.33 /24

Instance B

10.1.2.22 /24

Instance D

10.1.4.44 /24

Route Table Internet Amazon S3 DynamoDB

AWS

region

VPCの外にあるAWS

Public IPがあれば

アクセス可能

(34)

VPCの外にあるAWSの例

• 常に使うAPIエンドポイント

– 例:Amazon S3、Amazon Dynamo DB

• 制御時のみ使うAPIエンドポイント

– 例:AutoScaling

• ソフトウェアレポジトリへのアクセス

(35)

Public Subnet Availability Zone A Private Subnet Public Subnet Availability Zone B Private Subnet

Instance A

Public: 54.200.129.18

Private: 10.1.1.11 /24

Instance C

10.1.3.33 /24

Instance B

10.1.2.22 /24

Instance D

10.1.4.44 /24

Route Table Internet Amazon S3 DynamoDB

AWS

region

プライベートサブネッ

トにあるインスタンス

CがVPC外にアクセス

するには?

(36)

Public Subnet Availability Zone A Private Subnet Public Subnet Availability Zone B Private Subnet

NAT A

Public: 54.200.129.18

Private: 10.1.1.11 /24

Instance C

10.1.3.33 /24

Instance B

10.1.2.22 /24

Instance D

10.1.4.44 /24

Internet Amazon S3 DynamoDB

AWS

region

パブリックサブネット

内インスタンスにNAT

機能をもたせる

Route Table

Destination

Target

10.1.0.0/16

local

0.0.0.0/0

NAT

instanc

e

(37)

NATインスタンスは何をしているか

$echo 1 > /proc/sys/net/ipv4/ip_forward

$echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects

$/sbin/iptables -t nat -A POSTROUTING -o eth0 –s 10.1.0.0/16 -j MASQUERADE

$/sbin/iptables-save

$aws ec2 modify-instance-attributes –instance-id i-xxxxxxxx –source-dest-check

“{\”Value\”:false}”

IP forwardの有効化

IPマスカレードの有効化

EC2での出先・宛先チェックの無効化

$aws autoscaling create-auto-scaling-group --auto-scaling-group-name

ha-nat-asg --launch-configuration-name ha-nat-launch --min-size 1 --max-size 1

--vpc-zone-identifier subnet-xxxxxxxx

サブネット内に1台維持するオートスケール

+HAの機能

(38)

Availability Zone A Private Subnet Availability Zone B Private Subnet Internet Amazon S3 DynamoDB

AWS

Region

Public Subnet

NAT

Public Subnet

• NATインスタンスに

オートスケールを設

(min=1,max=1)

し、AZ毎に1NAT

• プライベートサブ

ネットのルートテー

ブルは同じAZのNAT

にむける

Autoscale HA NAT

NAT

(39)

NAT下で広帯域が必要なとき

• AZ毎にHA NATを配置する

• スケールアップ!

• ネットワーク関連メトリクスを見る

• プロトコル別アプリケーションプロキシも有効

m1.small

Low

m1.large

Moderate

m1.xlarge, c1.xlarge

High

t1.micro

Very Low

(40)

Route Table Elastic Network Interface Amazon VPC Router Gateway Internet Customer Gateway Virtual

Private Gateway VPN Connection Subnet

内部向けアプリケーションパ

ターン

(41)

Availability Zone A

Private Subnet Private Subnet

AWS

region

Virtual Private Gateway VPN Connection Corporate Data Center

Intranet

App

Intranet

App

Availability Zone B Corporate Internal Customers

Route Table

Destination

Target

10.1.0.0/16

local

Corp CIDR

VGW

VPN接続とルートテーブル設定がポイント

(42)

VPC内でデータが完結しない例

(43)

Availability Zone A

Private Subnet Private Subnet

AWS

region

Virtual Private Gateway VPN Connection Corporate Data Center

Intranet

App

Intranet

App

Availability Zone B

基本となるデータフロー

Amazon S3

Internet

Corporate Border Router Corporate VPN Internet

嫌われる構成でもある

(44)

インターネットゲートウェイを通すためにプロキシ

を設置する

• アプリ(プライベートサブネットやオンプレミス)とIGWの

間にプロキシを配置

• 全てのHTTP(S)トラフィックはS3のように特定のURL宛のみ

許可

• プライベートサブネットからはIGWに経路を設定しない

• プロキシへはセキュリティグループで制御する

(45)

Availability Zone A

Private Subnet (s) Private Subnet (s)

AWS region

VPN Connection Corporate Data Center

Intranet

App

Intranet

App

Availability Zone B Corporate Internal Customers Internal ELB

ELB Private Subnet ELB Private Subnet Proxy Public Subnet Proxy Public Subnet

Amazon S3

HTTP/S

Multi AZ Auto scaling Group

Proxyとアプリの間に

Internal ELBを配置

した例

(46)

Route Table Elastic Network Interface Amazon VPC Router Gateway Internet Customer Gateway Virtual

Private Gateway VPN Connection Subnet

バックホームパターン

(47)

AWS region

Public Facing

Web App

Internal

Corporate

App

新規アプリ

VPN Connection

Corporate Data center

example.com

AD Controller example.com DNS

(48)

AWS region

Public Facing

Web App

Internal

Corporate

App #1

HA Pair VPN Endpoints

Internal

Corporate

App #2

Internal

Corporate

App #3

Internal

Corporate

App #4

Corporate Data center

Customer Gateways (CGW):

VPNトンネルあたり1つ

CGWあたりPublic IP1つ

AWSは2つのトンネル接続

(49)

AWS

region

Public Facing

Web App

Internal

Corporate

App #1

VPN Endpoints

Corporate Data center

VPNハブ&スポーク

Internal

Corporate

App #2

Internal

Corporate

App #3

Internal

Corporate

App #4

Services

VPC

• Service VPCには他VPCで共

通で使う機能を持たせる

• VPN

• アプリ用VPC内インスタ

ンスをCGWとする

• HAのためには2つ目のイ

ンスタンスを追加する

• VPC Peering

• ピアリング先を経由した

先とは通信できない

(50)

• 各リージョンへの専用線接続口

• 複数のVPCまたは、複数のパブリック接続

インターフェースをのせられる

• インターネットに比べて

– 安価なアウトバウンドトラフィック料金(インは同じく

無料です)

– 安定したパフォーマンス

• 複数のアカウントで共有可能

• 冗長接続を選択可能

(51)

AWS region

Public Facing

Web App

Internal

Corporate

App #1

Customer Data Center

Internal

Corporate

App #2

Internal

Corporate

App #3

Internal

Corporate

App #4

AWS Direct Connect Location

Private Virtual Interface (PVI)は

VGWに紐付けられたVPCとDXを繋ぐ

VPC毎に1PVI

802.1q VLANによるセパレーショ

50−500M, 1G, 10Gの専用線接続

(52)

VPC 1

Private Virtual Interface 1

VLAN Tag 101 BGP ASN 10124 BGP Announce 10.1.0.0/16 Interface IP 169.254.251.5/3 0

10.1.0.0/16

VGW 1

Multiple VPCs Over AWS Direct Connect

Customer Switch + Router

Customer Interface 0/1.101

VLAN Tag 101 BGP ASN 65001 BGP Announce Customer Internal Interface IP 169.254.251.6/3 0

VLAN 101

VLAN 102

VLAN 103

VLAN 104

VPC 2

10.2.0.0/16

VGW 2

VPC 3

10.3.0.0/16

VGW 3

VPC 4

10.4.0.0/16

VGW 4

Private Virtual Interface 2

VLAN Tag 102 BGP ASN 10124 BGP Announce 10.2.0.0/16 Interface IP 169.254.251.9/3 0

Customer Interface 0/1.102

VLAN Tag 102 BGP ASN 65002 BGP Announce Customer Internal Interface IP 169.254.251.10/ 30

Customer Interface 0/1.103

VLAN Tag 103 BGP ASN 65003 BGP Announce Customer Internal Interface IP 169.254.251.14/ 30

Private Virtual Interface 3

VLAN Tag 103 BGP ASN 10124 BGP Announce 10.3.0.0/16 Interface IP 169.254.251.13/ 30

Private Virtual Interface 4

VLAN Tag 104 BGP ASN 10124 BGP Announce 10.4.0.0/16 Interface IP 169.254.251.17/ 30

Customer Interface 0/1.104

VLAN Tag 104 BGP ASN 65004 BGP Announce Customer Internal Interface IP 169.254.251.18/ 30 Route Table Destinatio n Target 10.1.0.0/1 6 PVI 1 10.2.0.0/1 6 PVI 2 10.3.0.0/1 6 PVI 3 10.4.0.0/1 6 PVI 4 Customer Internal Network

(53)

Customer Internal Network

VPC 1

Public Virtual Interface 1

VLAN Tag 501 BGP ASN 10124 BGP

Announce AWS Regional Public CIDRs Interface IP Public /30

Provided

10.1.0.0/16

VGW 1

Public AWS + VPCs Over AWS Direct Connect

Customer Switch + Router

Customer Interface 0/1.501

VLAN Tag 501

BGP ASN 65501 (or Public) BGP Announce Customer Public Interface IP Public /30 Provided

VLAN 101

VLAN 102

VLAN 103

VLAN 501

VPC 2

10.2.0.0/16

VGW 2

VPC 3

10.3.0.0/16

VGW 3

Public AWS

Region

Route Table Destinatio n Target 10.1.0.0/1 6 PVI 1 10.2.0.0/1 6 PVI 2 10.3.0.0/1 6 PVI 3 10.4.0.0/1 6 PVI 4 Public AWS PVI 5

NAT / PAT

Security Layer

(54)

Customer Routers Customer Internal Network AWS DX Routers

AWS

region

AWS Direct

Connect Location

複数のDXおよびVPN接続にはBGPで対応

• Active / Active

• Active / Passive

(55)

Customer Routers

Customer

Backbone

Network

AWS Direct Connect Routers

東京リージョン

キャリアWANでの拡張

(56)

Route Table Elastic Network Interface Amazon VPC Router Gateway Internet Customer Gateway Virtual

Private Gateway VPN Connection Subnet

パターン:Directory and

Name Services

(57)

• Active Directory on AWS (TA-04):吉松龍輝

– 本セッションでは Active Directory を Amazon Web Services

(AWS) 上で運用する際の考慮事項についてお話します。自社

データ センターと AWS との相互運用、ドメインとサイトに関

する設計の考え方、名前解決の設定、バックアップにおける注

意事項など、Active Directory の運用時に必要となるノウハウ

についてご紹介いたします。

(58)

まとめ

• リソースを可視化し再現可能なシステ

ム開発にはタグ、CloudFormation

• ネットワークと開発担当の権限分離を

IAMで行う

• VPCはサブネット単位で制御する

• VPN、専用線で拡張可能

(59)

エンタープライズシステムはすでに現実

• AWSを使えばエンタープライズシステムの構築をあら

ゆるユーザが

– もっと簡単に

– もっと安全に

• AWSをつかったエンタープライズシステムならば

– 今あるシステムに加えて

– 現実的な時間

– 現実的なコスト

Table  Route Table

参照

関連したドキュメント

サーバー API 複雑化 iOS&Android 間で複雑な API

The key material issues identified during the last materiality assessment exercise were: workers health and safety, business ethics, human rights, water management, energy

Q-Flash Plus では、システムの電源が切れているとき(S5シャットダウン状態)に BIOS を更新する ことができます。最新の BIOS を USB

   がんを体験した人が、京都で共に息し、意 気を持ち、粋(庶民の生活から生まれた美

技術部 斉藤 晃 営業部 細入

住所 〒163-8001 東京都新宿区西新宿2-8-1 都庁第二本庁舎20階 電話 03-5388-3481(直通).

(1) The T stock is acquired in a transaction that does not result in P taking a carryover basis (in whole or in part) from T's former shareholders.. regard to

この場合の請求日は,託送約款等に定める検針日(以下「検針日」とい