1. Amazon Web Servicesの概要 2016/7/28 Ryuzee.com
2. 吉羽龍太郎 / Ryuzee.com ✤ アジャイル開発/DevOps/クラウドに関する 従量課金型コンサルティングサービスを提供 ✤ http://www.ryuzee.com @ryuzee
3. 提供サービスの概要 アジャイルコーチング Agile開発については多くの誤解があり、 また経験の無いチームが自力で行うのは 難易度が高いものです。当方ではオンサイ トでAgile開発での企画∼開発まで全工程 を支援します。例えばプロジェクト立ち上 げに際しての集合研修、ふりかえりや計画 ミーティングのファシリテーションな ど。 DevOps実践支援 Cloud Architecting支援 ビジネスの成長やシステムの利用状 況に柔軟に対応できるのがクラウド の特性ですが、一方でシステムアー キテクチャがレガシーであればその メリットを享受できません。本支援 ではマイクロサービス化を始めとし て、柔軟で結合度の低いクラウドネ イティブアーキテクチャの構築を支 援します。 DevOpsには組織とツールの2つの要 技術顧問・執筆・講演 素があります。サイロ型の組織構造 技術顧問として定期的に訪問した のDevOps型組織への転換(組織デザ り、Agile・DevOps・クラウドに関 イン、採用プロセス、評価プロセ する講演をいたします。またWeb・ ス)、ツールによるデプロイ・プロビ 書籍・雑誌など各媒体向けの執筆・ 翻訳を行ないます。 ジョニング・運用・監視の自動化な ど幅広い側面で支援します。 主な提供トレーニング:「強いチームの作り方」「スクラム(半日∼2日)」「Chef入門」「カンバン入門」など
5. “クラウドコンピューティングとは、ネットワーク、 サーバー、ス トレージ、アプリケーション、サービス などの構成可能なコン ピューティングリソースの共用プールに対して、便利かつオンデ マンドにアクセスでき、最小の管理労力またはサービスプロバイ ダ間の相互動作によって迅速に提供され利用できるという、モデ ルのひとつである。” –アメリカ国立標準技術研究所(NIST)の定義 5
6. いつでも・必要なだけ・安価に! = 電力と同じ
7. Amazon Web Servicesとは? 7
8. Amazon Web Services (AWS)とは ✤ Amazonが提供するクラウドコンピューティングサービス ✤ Amazon.comの余ったリソースを貸し出しているわけではなく、Amazon のビジネスから生まれた事業の1つで一番の成長領域 ✤ Amazon.com自体もAWSの顧客の1つ ✤ 競合にMicrosoftのAzureやGoogle Compute Cloud(GCP)、IBMの SoftLayerなど 8
10. AWSの考えるクラウドの特徴 ✤ 初期費用不要 ✤ セルフサービスですぐに調達でき、使った分だけ従量課金での支払い ✤ 伸縮自在性・柔軟性 ✤ 大きなリスクを取らずにアジリティが向上 ✤ 本業への集中 ✤ グローバル展開 10
11. インフラ調達モデルの変化 ✤ ✤ いままでのインフラ調達モデルは… ✤ インフラ調達の必要性 ✤ サイジング・費用見積り ✤ ハードベンダーへの発注 ✤ データセンターへの搬入・ラッキング・キッティング ✤ ネットワーク設定変更 ✤ 利用開始 (そして設計ミスでキャパシティ不足なども)… クラウドでは画面上での操作やAPIの操作だけで上記が数分で完結 11
12. 世界展開(12のリージョン) 北バージニア、オレゴン、北カリフォルニア、サンパウロ、アイルランド、フランクフルト、 シンガポール、東京、シドニー、ソウル、ムンバイ、北京、GovCloud (2016/7現在)
13. リージョンとは? ✤ それぞれの独立した地域。リージョン間はインターネット経由での接続 ✤ 自分でどこのリージョンでどんなサービスを使うか選べる ✤ 東京リージョンで仮想マシンを起動すればデータは東京リージョンにある ✤ 自分が置いたリージョンから他のリージョンに利用者の意図に反してデー タがコピーされることはない ✤ リージョンの中に複数のアベイラビリティゾーン(データセンタークラスタ) がある 13
14. リージョンとアベイラビリティゾーン アベイラビリティゾーン間 は専用線で接続されており レイテンシは数msec. アベイラビリティゾーンa アベイラビリティゾーンc 東京リージョン 具体的な場所は非公開で、利用者のデータセンターへの立ち入りもできない (がそれが監査上問題になることもない)
15. 日本での利用状況 ✤ 日本だけで20,000以上の顧客 ✤ 有名企業も大手∼スタートアップや教育期間まで利用(イベントや事例か ら社名抜粋) ✤ 三菱東京UFJ銀行、パナソニック、日本経済新聞社、NTTドコモ、電 通、日本通運、ローソン ✤ 任天堂、ガンホー、バンダイナムコ ✤ SORACOM、クックパッド、Gunosy、freee、SmartNews 15
16. プライベートクラウドの幻想 ✤ セキュリティを気にしたり自前主義を貫いてプライベートクラウドを利用 している企業もある ✤ プライベートクラウドは自分たちでハードを運用調達し、運用しないとい けないので、「ボリュームが大きくならないとコストだけが増える」 ✤ 所有したそのときから陳腐化が始まり、新機能に追随できない ✤ 本業に集中できない 16
19. AWSのサービス ✤ コンピューティング・データベース・ストレージ・ネットワーク・モバイ ル・ビッグデータ・IoT・開発ツール・企業用コラボレーションなど多数 ✤ 現実的には全部の詳細を覚えるのは困難 ✤ ただし、よく使うサービスははっきりしている ✤ 一番よく使うのはAmazon EC2という仮想マシン ✤ その他、データベース(Amazon RDS)、ネットワーク(VPC)、オブジェク トストレージ(Amazon S3)、ロードバランサ(Amazon Elastic LoadBalancing)、がよく使われる 19
20. Amazon EC2 ✤ 時間課金の仮想マシンのサービス ✤ Xenをもとにカスタマイズした仮想化環境上で動作している ✤ さまざまなOSを動かせる(以下一例) ✤ ✤ RedHat Enterprise Linux、Ubuntu、SUSE、Amazon Linux ✤ Windows Server 2008/2012 CPUやメモリが異なる複数のインスタンスタイプがある ✤ ✤ あとから変更もできる 停止していれば料金はかからない(ストレージの料金はかかる) 20
22. インスタンスタイプ t2.nano t2.micro t2.small t2.medium t2.large m4.large m4.xlarge m4.2xlarge m4.4xlarge m4.10xlarge m3.medium m3.large m3.xlarge m3.2xlarge c4.large c4.xlarge c4.2xlarge c4.4xlarge c4.8xlarge c3.large c3.xlarge c3.2xlarge c3.4xlarge c3.8xlarge g2.2xlarge g2.8xlarge x1.32xlarge r3.large r3.xlarge r3.2xlarge r3.4xlarge r3.8xlarge i2.xlarge i2.2xlarge i2.4xlarge i2.8xlarge d2.xlarge d2.2xlarge d2.4xlarge vCPU メモリ 1 1 1 2 2 2 4 8 16 40 1 2 4 8 2 4 8 16 36 2 4 8 16 32 8 32 128 2 4 8 16 32 4 8 16 32 4 8 16 ストレージ(GB) 0.5 1 2 4 8 8 16 32 64 160 3.75 7.5 15 30 3.75 7.5 15 30 60 3.75 7.5 15 30 60 15 60 1,952 15.25 30.5 61 122 244 30.5 61 122 244 30.5 61 122 EBS のみ EBS のみ EBS のみ EBS のみ EBS のみ EBS のみ EBS のみ EBS のみ EBS のみ EBS のみ 1 x 4 SSD 1 x 32 SSD 2 x 40 SSD 2 x 80 SSD EBS のみ EBS のみ EBS のみ EBS のみ EBS のみ 2 x 16 SSD 2 x 40 SSD 2 x 80 SSD 2 x 160 SSD 2 x 320 SSD 1 x 60 SSD 2 x 120 SSD 2 x 1,920 SSD 1 x 32 SSD 1 x 80 SSD 1 x 160 SSD 1 x 320 SSD 2 x 320 SSD 1 x 800 SSD 2 x 800 SSD 4 x 800 SSD 8 x 800 SSD 3 x 2000 6 x 2000 12 x 2000 ネットワーキングパフォーマンス 物理プロセッサ クロック速度 低 低から中 低から中 低から中 低から中 中 高 高 高 10 ギガビット 中 中 高 高 中 高 高 高 10 ギガビット 中 中 高 高 10 ギガビット 高 10 ギガビット 20 ギガビット 中 中 高 高 10 ギガビット 中 高 高 10 ギガビット 中 高 高 Intel Intel Intel Intel Intel Intel Intel Intel Intel Intel Intel Intel Intel Intel Intel Intel Intel Intel Intel Intel Intel Intel Intel Intel Intel Intel Intel Intel Intel Intel Intel Intel Intel Intel Intel Intel Intel Intel Intel 最大 最大 最大 最大 最大 2.4 2.4 2.4 2.4 2.4 2.5 2.5 2.5 2.5 2.9 2.9 2.9 2.9 2.9 2.8 2.8 2.8 2.8 2.8 2.6 2.6 2.3 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.4 2.4 2.4 Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon Xeon ファミリー ファミリー ファミリー ファミリー ファミリー E5-2676 v3 E5-2676 v3 E5-2676 v3 E5-2676 v3 E5-2676 v3 E5-2670 v2* E5-2670 v2* E5-2670 v2* E5-2670 v2* E5-2666 v3 E5-2666 v3 E5-2666 v3 E5-2666 v3 E5-2666 v3 E5-2680 v2 E5-2680 v2 E5-2680 v2 E5-2680 v2 E5-2680 v2 E5-2670 E5-2670 E7-8880 v3 E5-2670 v2 E5-2670 v2 E5-2670 v2 E5-2670 v2 E5-2670 v2 E5-2670 v2 E5-2670 v2 E5-2670 v2 E5-2670 v2 E5-2676 v3 E5-2676 v3 E5-2676 v3 インスタンスタイプの例。種類ごとに値段が違う 3.3 3.3 3.3 3.3 3.0
23. 画面上で簡単にバックアップをとったりOSのテンプレートが作れる
25. Amazon RDS ✤ フルマネージドのデータベースサービス ✤ 利用可能なエンジンはMySQL、MariaDB、PostgreSQL、Oracle、SQL Serverおよび独自のAurora ✤ クリック数回またはAPI呼び出しで簡単にデータベースサーバを作れる ✤ パッチ適用やバックアップなどを自動化 ✤ ポイントインタイムリカバリで最長5分前までDBを復元可能 ✤ 今まで専門のDBAの作業が必要だったものが必要なくなる 25
26. Amazon RDS (Aurora) ✤ AWSが独自開発したMySQLインタフェースを持つデータベース ✤ SQL/トランザクション層、キャッシング層、ストレージ層に分離 ✤ 従来のRDSに比べて障害復旧時間が極めて早い(10秒以内) ✤ データ容量も64TBまで対応 ✤ 従来のRDSに比べて大幅に性能向上 26
27. Amazon VPC ✤ Amazon Virtual Private Cloud。AWSの一部をネットワーク的に閉域に するサービス ✤ IPアドレス帯を自由に決めたりサブネットを作成できる ✤ 自分たちでルーティングの設定やサブネット間の通信制御もできる ✤ オンプレミス側と専用線やVPNで接続し、既存のデータセンターの延長の ようにAWSを扱える 27
28. 企業ブログを例にして 代表的なサービスを見てみよう 28
29. シナリオ1:1台の仮想マシンによる構成 Web+DBサーバ AZ-c AZ-a サービス用VPC 29 ✤ 一番シンプルな構成 ✤ Amazon EC2(仮想マシン)だ けを利用 ✤ Webサーバ内にDBを持つ ✤ このサーバが停止するとサー ビスも止まってしまう ✤ DBの負荷がサービスに影響 を与えてしまう
30. シナリオ2:DBサーバを分離する ✤ データベースをAmazon RDS を使って分離する ✤ データベースの負荷はRDS側 にオフロードできる ✤ DBのバックアップやパッチ 適用を自動で行える Webサーバ データベース AZ-c AZ-a サービス用VPC 30
31. シナリオ2:Webサーバを冗長化する Webサーバ ✤ Webサーバの障害に備えて、 複数のアベイラビリティゾー ンにWebサーバを配置する ✤ その手前にトラフィックを振 り分けるためにロードバラン サー(Amazon Elastic Load Balancing)を入れる ✤ これでWebサーバ1台が障害 になっても自動でサービスが 継続できる Webサーバ データベース AZ-c AZ-a サービス用VPC 31
32. シナリオ3:DBサーバも冗長化する Webサーバ ✤ DBサーバの障害に備えて、 Amazon RDSのマルチAZオプ ションを有効にしてマスター/ス レーブ構成にする ✤ DB(マスター)の障害時には自動 で数分以内にフェイルオーバー する ✤ この時点で、このシステムには 単一障害点(1箇所が壊れるとサー ビスが停止する箇所)を無くすこ とができた Webサーバ データベース データベース(Slave) AZ-c AZ-a サービス用VPC 32
33. この例のまとめ ✤ 最初は仮想マシン1台からでも使える ✤ サービスの成長や要件にあわせて、いろいろなAWSサービスを組み合わ せていけばよい (最初から全部使おうとしなくて良い) ✤ Amazon EC2 + Amazon RDS + Amazon Elastic Load Balancingの組 み合わせで定番の2層または3層アプリケーションを動かせる ✤ 単一障害点をなくすことで、可用性を高めることができる ✤ マシン単体を壊れにくくするのではなく、サービスを壊れにくくする 33
34. 静的Webサイトを例にして 代表的なサービスを見てみよう 34
35. シナリオ1:Amazon S3を使って静的サイト構築 東京リージョン ✤ Amazon S3はオブジェクトストレージ サービス。耐久性は99.999999999% ✤ Amazon S3にhtmlや画像などを配置 して静的なWebサイトを公開できる ✤ 自前でWebサーバをメンテナンスする 必要は一切なしで、1GB約10円のスト レージ料金とトラフィック課金のみ ✤ 仮想マシンを使わずコスト削減 35
36. シナリオ2:CloudFrontを組み合わせる ✤ Amazon CloudFrontは、CDNのサー ビス (AkamaiやFastlyのようなもの) ✤ コンテンツをエッジにキャッシュする ことで高速配信する ✤ S3の手前にCloudFrontを入れること でキャンペーン等での同時大量アクセ スに対応できるようになる ✤ サーバ負荷の心配も不要 CloudFront 東京リージョン 36
37. その他のユースケース ✤ 開発環境 ✤ 社内コミュニケーション基盤 ✤ BCP/DR環境 ✤ 大規模計算 ✤ ピーク性のあるアプリケーション ✤ 基幹系を含めた全システムマイグレーション ✤ ビッグデータやIoT 37
39. AWSのセキュリティ ✤ セキュリティは多くのお客様の関心事 ✤ クラウドがセキュリティ面で不安というのは都市伝説 ✤ AWSではセキュリティ対策に多くの費用をかけていて、機器による対策お よび人的対策の双方を行っている(例えばDDOS対策なども) ✤ 多くの会社は自前ではそこまでできない ✤ 多くの認定や第三者認証を取得。レポートも発行 ✤ PCI-DSS、ISO27001、SOC1∼3などなど 39
40. 責任分担モデル ✤ AWSでセキュリティを確保する際には、どこの範囲をAWSが面倒をみ て、どの範囲を利用者が面倒を見るのか責任分界点がある 利用者側の責任 自分たちのデータ パスワード管理などの認証やアクセス制御 OSの設定 セキュリティグループ(FW)の設定等のトラ フィック制御 暗号化の設定 など AWS側の責任 クラウドの物理基盤 (データセンター、仮想化基盤、ストレージ、 内部ネットワーク、各種サービス) など 40
41. セキュリティや監査系のサービスなど ✤ AWSのサービス ✤ AWS WAF:Webアプリケーションファイヤウォール ✤ Identity and Access Management (IAM):AWSサービスへのアクセ ス制御 ✤ ✤ CloudTrail:AWSの操作ログの記録 ✤ Inspector:セキュリティの分析 もちろん外部のサービスを使ったり、ミドルウェアをインストール可能 ✤ ウィルス対策など 41
43. 料金体系の基本 ✤ 基本的に初期費用なしで、使った分だけ従量課金で支払う ✤ 仮想マシン、ストレージ、ネットワーク、I/Oなどかなり細かいレベルでそれぞれ課金 され集約される ✤ 当月分の利用額の請求が翌月数営業目ころに来る ✤ 支払いはドル建て・円建てなど。ドル以外は為替レート変動の影響は受ける ✤ 利用額は固定にはならない(その要件がある場合、パートナー等を利用) ✤ 請求額のアラーム通知や監視を行うのがベストプラクティス ✤ EC2やRDSなどはリザーブドインスタンスという利用期間コミットを行うと料金が安 くなる 43
44. 料金発生箇所の例 Webサーバ Webサーバ データベース データベース(Slave) ✤ インターネットへのOUT ✤ アベイラビリティゾーン間 ✤ ELB通過トラフィック ✤ Webサーバインスタンス ✤ Webサーバのストレージ ✤ Webサーバのスナップショット ✤ データベースのRDS ✤ RDSのMultiAZオプション ✤ RDSのスナップショット ✤ などなど AZ-c AZ-a サービス用VPC 44
46. サポート要求の高まり ✤ ミッションクリティカルなシステムにおいてはサービスのサポートが重要 ✤ 一般的には外資系サービスのサポートには日本の顧客は警戒心を持つ ✤ AWSの場合は、サービスの利用費用にはサポート費用は含まない ✤ つまり業務での必要性に応じてサポートに加入する ✤ プランは3パターン。Developer / Business / Enterprise ✤ いずれも日本語。プランによって初回応答時間のSLAがある 46
48. お客様側の変化 ✤ ビジネスのサイクルが速くなって、短い時間で結果を出さないといけない 案件が増えていく(新規ビジネスやR&D) ✤ 1発1中ではなく、複数やってみてあたったものに集中することも ✤ 初期の多額な投資を避ける傾向に ✤ 所有から利用へのシフト ✤ 最初にクラウドを検討する「クラウドファースト」の増加 48
49. エンジニアに求められる変化 ✤ 同じ要求をいかにはやく満たすかを考え続けないといけなくなる ✤ 古いやり方にこだわりつづけると仕事がなくなっていく ✤ そもそもクラウド化によってなくなる仕事も多数(DC作業など)あるの で、オンプレミスかクラウドかに関係のなく使える技術を持つ必要 ✤ 価値観を変える。パーツの稼働率よりサービスの稼働率。サービス全体を みていく必要性 ✤ クラウドにあったアーキテクチャを設計できるようにする ✤ 自動化やDevOpsの流れに乗る 49
50. クラウドネイティブな設計 ✤ 故障のための設計(あらゆるものは故障するので冗長化) ✤ 疎結合(交換可能につくる) ✤ 弾力性(いつでもリブートしたりサーバを追加できるように) ✤ セキュリティの担保(全レイヤーでセキュリティを実装) ✤ 並列処理の活用(時間単位課金を有効活用し、素早く終わらせる) ✤ 複数種類のストレージの活用(DB、ディスク、オブジェクトストレージ) 50
52. 新規にアカウントを作成すると無料枠がある https://aws.amazon.com/jp/free/
53. ✤ さきほど見たシナリオ を無償枠の中で試せる ✤ アカウント発行後1年 で無料枠が切れるので 注意 ✤ インスタンスタイプの 指定等があるので説明 は良く読む ✤ 課金が気になるのであ れば、アラートメール の送信も可能 ✤ 実験が終わったらリソー スは消す
54. オンラインでのハンズオントレーニング (有償・一部無償あり) https://run.qwiklab.com/?locale=ja
55. AWS関連イベント(無償セミナー、オンラインセミナーなど) https://aws.amazon.com/jp/about-aws/events/