Scalable and Cost Effective Systems Architecture on AWS
-
Upload
eiji-shinohara -
Category
Technology
-
view
210 -
download
9
Transcript of Scalable and Cost Effective Systems Architecture on AWS
AWSで実現するスケーラブルでコスト効率の良いシステム構成
Amazon Web Services Japan K.K.ソリューションアーキテクト 篠原 英治2017年12⽉4⽇ @ Bullet Live! #2
■ ⾃⼰紹介
w/ @werner - Amazon CTO
Eiji Shinohara (篠原 英治)§ Twitter: @shinodogg§ Blog: shinodogg.com
AWS Solutions Architect§ Market: AdTech & Startup
Graduate Part-Time Student§ University of Tsukuba MBA-IB
新宿界隈に棲息しています J§ 2002 – 2010: ⻄新宿§ 2010 – 2016: 初台§ 2016 – 現在: 東中野
AWSのインフラストラクチャについてTuesday Night Live with Peter DeSantis
https://www.youtube.com/watch?v=dfEcd3zqPOA
リージョンやAZについて詳細に解説
https://www.youtube.com/watch?v=dfEcd3zqPOA
AWSのインフラストラクチャについて
AWSのネットワークや仮想化についても⾔及してるのでレイヤー低めの⽅は是⾮ご覧ください!
https://www.youtube.com/watch?v=dfEcd3zqPOA
AWSのインフラストラクチャについて
ご案内することの多いベーシックなテッパン構成
EC2
S3
RDS Standby
EC2Auto Scaling
CloudFront
AZ-1 AZ-2
§ EC2にWebサーバ§ ALBで複数のAZに負荷分散§ Auto Scalingでアクセスが
多い⽇も安⼼§ RDS MultiAZで可⽤性向上§ 画像や動画はS3から配信
§ CDNでキャッシュ
ALB
AWS Elastic Beanstalkでサクっと構築
EC2
S3
RDS Standby
EC2Auto Scaling
CloudFront
AZ-1 AZ-2
§ ウィザードに従って構築§ Ruby on RailsやPHPなど
の馴染みのプログラミング⾔語やDockerが選べる
§ CLI(ebコマンド)でデプロイ(blue-green, rolling)
§ .ebextensionsで⾼度なカスタマイズ
§ いざという時はSSH§ eb ssh便利
ALB
AWS Elastic Beanstalkでサクっと構築
EC2
S3
RDS Standby
EC2Auto Scaling
CloudFront
AZ-1 AZ-2
§ ウィザードに従って構築§ Ruby on RailsやPHPなど
の馴染みのプログラミング⾔語やDockerが選べる
§ CLI(ebコマンド)でデプロイ(blue-green, rolling)
§ .ebextensionsで⾼度なカスタマイズ
§ いざという時はSSH§ eb ssh便利
ALB
この辺のお話は、この後の• タイレルシステムズ さん と• バレットグループ さん から
詳細にご紹介いただけると思います!
テッパン構成が良さそうなのは分かるんだけど…
そもそもRubyで開発するにはどうしたらイイの…?LinuxとかWindowsサーバーに馴染みがないんだけど最近AWS LambdaとかDockerってよく聞くけど…TwitterやFacebookでAWS関連の凄い構成の記事がシェアされてるけど、まだそこまでの規模じゃない…
AWS Cloud9
https://www.youtube.com/watch?v=nFKVzEAm-ts&t=4786s
AWS Cloud9でコードを書こう!
ブラウザ上でコードが書ける統合開発環境• 2010年に創業、2016年にAmazonに買収され、
2017年にAWSのサービスとしてお披露⽬
AWS Cloud9でコードを書こう!
ブラウザ上でコードが書ける統合開発環境• 2010年に創業、2016年にAmazonに買収され、
2017年にAWSのサービスとしてお披露⽬
まずは、⻄海岸のリージョンでmm
AWS Cloud9でコードを書こう!
デフォルトのままミニマムな設定で• 後から簡単に捨てたり変えたりできるのがクラウドの良さ
AWS Cloud9でコードを書こう!
ちょっとだけお待ちいただければすぐ始められます!
AWS Cloud9でコードを書こう!
RubyでHello World!• hello.rbを作ってRunしただけ。⾯倒なインストール⼀切なし!
Cloud9で書いたコードをAWS Lambdaにデプロイ
PythonでAWS LambdaでHello World!
デプロイされたLambdaファンクションをテスト実⾏
引数にHello, World, ! を設定して実⾏
サーバレスアーキテクチャ
InternetMobile apps AWS Lambda
functions
AWS
API Gateway
AmazonDynamoDB
慣れればこういう構成がサクっと作れるように• Linuxの⿊い画⾯触らなくても⼤丈夫• 夜中に叩き起こされてApache再起動とかしなくてもいい
サーバレスを扱った書籍もあります
※ マネジメントコンソールのUIが変更になっています&今後改定をしていく予定ですhttps://www.amazon.co.jp/dp/B071FZL2RZ/
とは⾔え発注元の要件等でサーバーが必要な場合もあるAmazon Lightsail§ Simple Virtual Private Servers on AWS
Amazon Lightsailウィザードに従って起動するだけ
Amazon LightsailSSH接続も簡単
Amazon Lightsailネットワークの設定も簡単§ Lightsail load balancersによってSSL/TLS 証明書も!
• ランディングページやコーポレートサイトをサクっと
Docker containerDockerのFounderのソロモンさんのインタビュー
http://shinodogg.com/?p=6368
http://www.binpress.com/blog/2015/02/17/podcast-28-solomon-hykes-docker/
Docker containerLightning Talks at PyCon 2013§ Dockerをオープンソース化する前に何百⼈の前でリーク!
https://www.youtube.com/watch?v=wW9CAH9nSLs
オフィスの外で初めて⼈に⾒せるよ的なこと話しながら今となっては皆さまお馴染みの『 docker run 』
Docker containerThe future of Linux Containers at PyCon 2013§ dotCloudのUnder the Hoodを⾒せてやるぜ!§ ⽴ち⾒が出るほど満員(男だらけ)の会場を完全にロック
https://www.youtube.com/watch?v=wW9CAH9nSLs
Docker containerThe future of Linux Containers at PyCon 2013§ ⾃信満々なプレゼンの中でのタイポとか臨場感あってグッとくる
https://www.youtube.com/watch?v=wW9CAH9nSLs
Docker containerDATADOGさんによると凄い勢いで採⽤が進んでいる
https://www.datadoghq.com/docker-adoption/
Docker on AWSAWS Fargateローンチ!
EC2と同じような感覚(AutoScaling的にも)でDockerコンテナをAWS上に起動できるようになりました!
https://www.youtube.com/watch?v=8i82i9QYUGs
AWS FargateでDockerをはじめよう!Nginxのコンテナを簡単に動かす
https://qiita.com/riywo/items/b223bdad2b3ae3bebf55
AWS FargateでDockerをはじめよう!Nginxのコンテナを簡単に動かす
①
②
③
AWS FargateでDockerをはじめよう!Nginxのログを確認する
Spot Instancesを活⽤してコストを削減しよう既にEC2をインスタンスを使っていてコスト削減したい場合、⼀番効くのがSpot Instances
https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-2016-amazon-ec2-spot-instances
コスト削減に⼀番効くのがSpot Instances例) July 26, 2017 / ap-northeast-1 / Linux
On DemandReserved Instances for 1 year
Spot Instances
Spot Block
All Upfront Partial Upfront No Upfront 1h 6h
c4.large $0.126 $0.084(33%)
$0.086(32%)
$0.090(29%)
$0.029(77%)
$0.077(39%)
$0.098(22%)
m4.large $0.129 $0.081(37%)
$0.083(36%)
$0.087(32%)
$0.027(79%)
$0.101(21%)
$0.128(0.7%)
r3.large $0.20 $0.127(36%)
$0.130(35%)
$0.149(26%)
$0.031(84%)
$0.116(42%)
$0.147(26%)
コスト削減に⼀番効くのがSpot Instances例) July 26, 2017 / ap-northeast-1 / Linux
On DemandReserved Instances for 1 year
Spot Instances
Spot Block
All Upfront Partial Upfront No Upfront 1h 6h
c4.large $0.126 $0.084(33%)
$0.086(32%)
$0.090(29%)
$0.029(77%)
$0.077(39%)
$0.098(22%)
m4.large $0.129 $0.081(37%)
$0.083(36%)
$0.087(32%)
$0.027(79%)
$0.101(21%)
$0.128(0.7%)
r3.large $0.20 $0.127(36%)
$0.130(35%)
$0.149(26%)
$0.031(84%)
$0.116(42%)
$0.147(26%)
https://www.youtube.com/watch?v=UR8BI2Exkbc
C4 R3 M4R3 R3
R3 R3 R3
M4 M4
M4 M4 M4
C4 C4
C4 C4 C4
Map Service Search Service Directions Service
https://www.youtube.com/watch?v=UR8BI2Exkbc
C4
ECS Cluster
R3 M4R3 R3
R3 R3 R3
M4 M4
M4 M4 M4
C4 C4
C4 C4 C4
Map Service Search ServiceDirections Service
https://www.youtube.com/watch?v=UR8BI2Exkbc
https://www.youtube.com/watch?v=UR8BI2Exkbc
C4
ECS Cluster
R3 R3 R3
R3 R3 R3
M4
M4
M4 M4
M4 M4
C4 C4
C4 C4 C4
Map Service Search ServiceDirections Service
Spot Fleet
C4
C4
R3
R3
https://www.youtube.com/watch?v=UR8BI2Exkbc
25%より少ないインスタンス数
80-90%EC2の毎⽉のコスト削減
https://www.youtube.com/watch?v=UR8BI2Exkbc
25%より少ないインスタンス数
80-90%EC2の毎⽉のコスト削減
https://www.youtube.com/watch?v=UR8BI2Exkbc
常時決まった台数を稼働させ続けるにはReserved Instancesまとまった⾦額のRIをポチる前にまずはコレを読もう
https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-2017-aws-79666227
AWSコスト最適化⼊⾨
https://www.youtube.com/watch?v=h9WIAhkKVIU
@hiroshix ⽒の講演をYoutubeで⾒ておくのもオススメ
https://d1.awsstatic.com/events/jp/2017/summit/slide/D2T2-7.e0d3cc39d897197a992e11744bf29a3c128e8e8c.pdf
AWS re:Invent 2017 ダイジェスト
https://pages.awscloud.com/reInventRecapSeminarTokyo20171219-jp.html
お時間あれば是⾮ご参加ください J