狠狠撸
Submit Search
クラウド入门(础奥厂编)
?
1 like
?
318 views
株
株式会社オプト 仙台ラボラトリ
Follow
2021年6月25日开催のタガヤスその21発表资料です
Read less
Read more
1 of 44
Download now
Download to read offline
More Related Content
クラウド入门(础奥厂编)
1.
クラウド入門(AWS編) 2021/06/25 タガヤスその21発表資料 abema
2.
自己紹介? 名前:abema? 所属:株式会社オプト ビジネステクノロジー開発部? 担当:インフラエンジニア? 趣味:イラスト、FF14? qiita?
3.
目次? ● はじめに? ● オンプレミスとクラウド? ○
情報システムの構造 ? ○ オンプレミス?ホスティング?IaaS ? ○ AWS創世記? ? ● AWSのサービス? ○ 仮想サーバ? ○ ネットワーク?ストレージ ? ○ データベース? ○ その他のサービス?
4.
はじめに? 本資料は、著者の所属会社で実施された社内ツールを企画する非エンジニア部署と、 開発を担当するエンジニア組織の交流会において公開した資料を一部改変したもので す? ? そのためエンジニア初心者や非エンジニアを対象とした初歩的な内容、かつイメージの 掴みやすさを優先してあえて正確でない表現をしている箇所が多々ある資料となってお ります? ? なお本資料は個人的見解であり所属する企業とは関係ありません?
5.
1. オンプレミスと? クラウド?
6.
オンプレミスとクラウド? この章ではクラウドというものを知るために、企業の情報システムがどのような形態で提 供されるようになっていったかのおおまかな歴史を学習します。? ストーリーを把握することで、AWSのような巨大クラウドサービスの基本機能がなぜ必要 とされたのか分かるようになると思います。?
7.
情報システムの構造? 情報システムの構築には以下のようなものが必要になります? ご家庭で例えると右のようになります? システムの構造? アプリケーション? 実行環境? ライブラリ? ミドルウェア? CPU/メモリ? ネットワーク? ストレージ? サーバ? 家庭の構造 人? 家具? 家電? 電気? 水道? ガス? 住宅?
8.
システムの構造? 各レイヤー間には以下のような関係性があります? システムの構造? アプリケーション? 実行環境? ライブラリ? ミドルウェア? CPU/メモリ? ネットワーク? ストレージ? サーバ? 家庭の構造? 人? 家具? 家電? 電気? 水道? ガス? 住宅? 道具 リソース 道具 リソース 箱 箱
9.
どうやって情报システムを构筑するか?
10.
昔の人の営みとシステム(オンプレミス)? 家庭に必要なもの? システムに必要なもの ? 人が住む?
アプリケーション? 家具?家電をそろえる ? OS?ミドルウェア? 電気?ガス?水道? ネットワーク? ストレージ? 家を建てる? サーバ設置? 全部パパがやる DIYで家を建て住むように、DIYでサーバを建てシステムを構築する?
11.
近代の人の営みとシステム(ホスティング)? 家庭に必要なもの システムに必要なもの 人が住む アプリケーション 家具?家電をそろえる
OS?ミドルウェア 電気ガス水道込み ネットワーク ストレージは組み込み 部屋を借りる 仮想サーバを借りる すきなことして 生きていく 一部をアウトソーシングする概念の誕生 ? 物理サーバ(アパートの一棟)から仮想サーバ(一部屋)を借りる?
12.
ホスティング型の課題? 企業の情報システムでは高い可用性?拡張性?保守性などが求められるため、インフラ の構成が複雑化していることがあります? そのためホスティング型の組み込まれたネットワークやストレージでは対応できないこと がありました? 二部屋ぶちぬいて使いたい ? あとB棟の部屋にも渡り廊下 渡したい^^? 無茶言うね?
13.
IaaS(Infrastructure as a
Service)誕生? AmazonのAWS創造の歴史? AWSはホスティング型の課題を解決するため、それをさらに拡張した機能を実装しました ? こういったサービスがのちにIaaSと呼ばれるようになります ? 1日目 Amazonは仮想的なストレージを作成?読み込み?更新?削除する(CRUD)システムをつく り、人々が使えるようにAPIをつけました。? 2日目 Amazonは仮想的なサーバを作成?読み込み?更新?削除するシステムをつくり、人々が 使えるようにAPIをつけました。? 3日目 Amazonは仮想的なネットワークを作成?読み込み?更新?削除するシステムをつくり、 人々が使えるようにAPIをつけました。? 4日目 Amazonはデータベースなど、 システムによく使われるミドルウェアをサービス化 し、 人々が簡単に使えるようにしました。 ? 5日目 Amazonはいまだお休みになりません。 ?
14.
AWSの人の営みとシステム(IaaS)? 家庭に必要なもの システムに必要なもの 人が住む? アプリケーション? 家具は自分でそろえてもありも のでもいい? OS?ミドルウェアは持ち込んで もサービスでも? 電気ガス水道をやってもやんなく てもいい? ネットワーク? ストレージはやってもやんなく てもいい? 部屋を借りる?
仮想サーバを借りる? 私は全部自分でや りたい アウトソーシングとDIYの両立 私は何も したくない 仮想化されたインフラ(サーバ?ネットワークなど)を自由に扱える。またそれらが構築済 みの環境も用意される? サラリーマンもにっ こり
15.
2. AWSのサービス?
16.
AWSのサービス? AWSはAWSという単一のサービス提供があるわけではありません。AWSはクラウドにお けるシステム開発に必要なたくさんのサービスが集合したプラットフォームです。? この章ではAWSの各サービスがどういった機能を提供しているのか説明します?
17.
システムに必要なもの アイコン 説明 アプリケーション
開発する ミドルウェア RDS, Redshift, Elasticache データベースやキャッシュを使わせてもらう ネットワーク ストレージ Amazon S3, AWS VPC, Route53 バーチャルなLANケーブルと外付けHDDを バーチャルなサーバにつける 仮想サーバを借りる Amazon EC2, Fargate 仮想サーバを時間単位で借りる AWSのサービス(一部)?
18.
2-1. 仮想サーバ(Computing)?
19.
Amazon EC2(Elastic Compute
Cloud)? ● インスタンスタイプ? ○ 搭載するCPUやメモリ、CPUの世代? 想定する用途などで分けられたEC2の ラインナップ。? ○ よく聞くインスタンスタイプ ? ■ m5.large(中堅くらい) ? ■ t3.nano(最弱、開発用) ? ● 課金体系? ○ オンデマンドインスタンス ? ■ 秒単位で使った分課金 ? ○ リザーブドインスタンス ? ■ 1年や3年単位で契約して割引 してくれる? ○ スポットインスタンス ? ■ AWSの余ったリソースを使う分 すごく割引されるがAWS都合で 殺される? AWSを代表する仮想サーバ提供サービス。?
20.
ECS Fargate? AWS Fargate
は、サーバーやクラスターの管理の必要なしに コンテナを実行するための、Amazon ECS に対応 したコンピューティングエンジンです。AWS Fargate を使用すると、コンテナを実行するために仮想マシンのクラ スターをプロビジョニング、設定、スケールする必要がありません。これにより、サーバータイプの選択、クラス ターをスケールするタイミングの決定、クラスターのパッキングの最適化を行う必要がなくなります。AWS Fargate により、サーバーやクラスターの操作や検討が不要になります。Fargate を使用すると、アプリケーショ ンを実行するインフラストラクチャの管理ではなく、アプリケーションの設計や構築に注力できます。 ? Amazon ECS には、Fargate 起動タイプと EC2 起動タイプという 2 種類のモードがあります。Fargate 起動タイプ では、お客様に必要なのは、コンテナ内のアプリケーションのパッケージ化、CPU 要件やメモリ要件の指定、 ネットワーキングポリシーや IAM ポリシーの定義、アプリケーションの起動のみです。EC2 起動タイプでは、コン テナアプリケーションを実行するインフラストラクチャに対して、サーバーレベルの詳細なコントロールを実行でき ます。EC2 起動タイプでは、Amazon ECS を使用して、サーバーのクラスターを管理し、サーバーでのコンテナ の配置をスケジュールできます。Amazon ECS では、クラスター内の CPU、メモリ、その他のリソースがすべて 追跡され、指定したリソース要件に基づいて、コンテナを実行するのに最適なサーバーも検出されます。お客様 がサーバーのクラスターのプロビジョニング、パッチ適用、スケーリングを行います。使用するサーバータイプ、 使用を最適化するためにクラスター内で実行するアプリケーションおよびコンテナ数、クラスターからサーバーを 追加または削除するタイミングを決定できます。EC2 起動タイプでは、サーバークラスターで詳細なコントロール を実行でき、カスタマイズの幅広いオプションが利用できます。これにより、特定のアプリケーションのサポート や、可能性のあるコンプライアンスや政府要件への対応が可能になります。 ?
21.
ECS Fargate? AWS Fargate
は、サーバーやクラスターの管理の必要なしに コンテナを実行するための、Amazon ECS に対応 したコンピューティングエンジンです。AWS Fargate を使用すると、 コンテナを実行するために仮想マシンのクラ スターをプロビジョニング、設定、スケールする必要がありません。これにより、サーバータイプの選択、クラス ターをスケールするタイミングの決定、クラスターのパッキングの最適化を行う必要がなくなります。AWS Fargate により、サーバーやクラスターの操作や検討が不要になります。Fargate を使用すると、アプリケーショ ンを実行するインフラストラクチャの管理ではなく、アプリケーションの設計や構築に注力できます。 ? Amazon ECS には、Fargate 起動タイプと EC2 起動タイプという 2 種類のモードがあります。Fargate 起動タイプ では、お客様に必要なのは、コンテナ内のアプリケーションのパッケージ化、CPU 要件やメモリ要件の指定、 ネットワーキングポリシーや IAM ポリシーの定義、アプリケーションの起動のみです。EC2 起動タイプでは、 コン テナアプリケーションを実行するインフラストラクチャに対して、サーバーレベルの詳細なコントロールを実行でき ます。EC2 起動タイプでは、Amazon ECS を使用して、サーバーのクラスターを管理し、サーバーでの コンテナ の配置をスケジュールできます。Amazon ECS では、クラスター内の CPU、メモリ、その他のリソースがすべて 追跡され、指定したリソース要件に基づいて、 コンテナを実行するのに最適なサーバーも検出されます。お客様 がサーバーのクラスターのプロビジョニング、パッチ適用、スケーリングを行います。使用するサーバータイプ、 使用を最適化するためにクラスター内で実行するアプリケーションおよび コンテナ数、クラスターからサーバーを 追加または削除するタイミングを決定できます。EC2 起動タイプでは、サーバークラスターで詳細なコントロール を実行でき、カスタマイズの幅広いオプションが利用できます。これにより、特定のアプリケーションのサポート や、可能性のあるコンプライアンスや政府要件への対応が可能になります。 ?
22.
コンテナ??
23.
営みに必要なもの システムに必要なもの 人が住む アプリケーション 家具?家電をそろえる
ミドルウェア?実行環境 電気?ガス?水道 ネットワーク 家を建てる サーバ コンテナ? ライブラリや実行環境(家具や家電)とアプリケーションコード(住人)を一緒にパッケージ ングすることで、別の環境(マンションの部屋)にそのまま持ち込める技術。? ? living:latest deploy サーバ コンテナを担ぐひと(docker)
24.
何が嬉しいの?? ライブラリや実行環境などのアプリケーションコードが依存する細かいバージョンが保た れて、混乱がおきない? ? コンテナ後 開発者のPC コンテナ前 サーバ デポロイ パソコンでは営 んでるな… 営んでない… ってテレビ古っ! 開発者のPC サーバ デポロイ 営んでる 営んでる 最高
25.
ECS Fargate? コンテナだけをなぞの空間にデプロイするサービス? ??????????????????? ??????????????????? ??????????????????? ??????????????????? ここどこ のちから サーバやネットワークが存在しない(ように見える)が? なぜかコンテナだけは起動していてアプリケーションが稼働する? (面倒なところをユーザに見せないようにしてAWSが頑張ってる)?
26.
ECS Fargate? ● メリット? ○
サーバの運用をAWSにまかせてコンテナの中身(アプリケーションとそれに必要なライブラリなど) に注力できる ● 課金体系 ○ オンデマンド ■ CPUのコア数およびメモリサイズ ×コンテナの起動時間 ○ Savings Plans ■ Fargateのコストを向こう1年?3年で先払いすることで値引きしてくれる ○ Fargate Spot ■ AWSの余剰リソース上で稼働するので安価だが AWS都合でコンテナが停止されることがあ る メリットと課金体系?
27.
ECS EC2(もうひとつのコンテナサービス)? ユーザのデプロイしたEC2(仮想マシン)上にコンテナを起動するためのAPIを提供? EC2 a
EC2 b EC2 c ユーザのEC2インスタンス ECS API リクエスト どこに連れて行 かれるの?
28.
Appendix: ECS EC2とFargate? Fargateが起動しているサーバはAWSから一時的に割り当てられているものに過ぎず、ストレージも一時的なも のです。そのためローカルストレージのログやデータもFargateが終了すると消えてしまいます。 ? こういったステートフルな要件がある場合はECS
EC2のほうが適していることがあります。 ? ? ? ? FargateとECS EC2の使い分け?
29.
AWS Lambda? 各言語に対応した実行環境が組み込まれた領域にアプリケーションをデプロイするサービス ? シンプルなバッチ処理を対象としているため稼働できる時間が短く、最大15分で強制停止される
? ごく僅かな時間だけ起動できるバッチ処理のためのアプリケーション実行環境? 実行環境(家具) が組み込みの場所 デプロイされた アプリケーション え? もうチェックアウト? 15分で強制的に環境が 落とされる (ホテルから追い出され る)
30.
AWS Lambda? ● 使い方? ○
CloudWatch EventとよばれるAWSサービスごとのイベントやスケジュールを管理する機能と組み合 わせ、イベントドリブンに起動したり、毎日定期実行を行う ? ○ Step FunctionというAWSのサービスと組み合わせ、Lambda同士を連結したり、条件で異なる Lambdaに分岐したりして、大きなバッチ処理を作る ? ● メリット? ○ 管理すべきサーバがなく、開発者は早期にバッチをリリースできる ? ○ バッチのタスクが起動している僅かな時間だけ課金されるので、コストが小さくなることが多い ? 使い方とメリット?
31.
Appendix: FargateとLambdaとEC2とas a
Service? それぞれのカバー領域と使い分け? システムの構造 EC2 Fargate Lambda アプリケーション 自分でデプロイ OS 実行環境 ミドルウェア 自分で インストール 組み込みアプリ ケーション実行 環境 サーバ EC2の機能で自 分でたてる Fargateがやっ てくれる Lambdaがやっ てくれる 組み込みコンテ ナ実行環境 ユーザの責任範囲 as a Service ? インフラぜんぶ IaaS ? インフラ一部 PaaS ? インフラごく一部 FaaS ? ※ 諸説あり? インフラ無い SaaS ?
32.
2-2? ネットワーク? ストレージ?
33.
ネットワーク?ストレージ? 情報システムを構築するためには、アプリケーションのデータを格納したり、ユーザのコ ンピュータとアプリケーションをつながるようにしなければなりません? AWSではこれらの実現のために仮想ネットワークサービスと、仮想ストレージサービスを 提供しています? ● 仮想ネットワークサービス? ○ 仮想サーバ同士や仮想サーバとインターネットおよび社内ネットワークを接続するサービス
? ? ● 仮想ストレージサービス? ○ 仮想サーバと接続してデータを格納できるようにするサービス ?
34.
Route53? DNSサービス。SLAが100%? ELB(Elastic Load Balancer)
? トラフィックを複数のサーバに分散させる(ロードバランサ)サービス ? DirectConnect? 専用のネットワークで会社とAWSを直結するサービス ? AWS VPC(Virtual Private Cloud) ? 仮想的なネットワークを構成できる ? ネットワーク関連サービス?
35.
Amazon S3(Simple Storage
Service)? WEBで使われるHTTPでやりとりするシンプルなストレージサービス。 ? データ耐久性99.999999999% ? サーバから見ればGoogle Driveみたいな感じで、ちょっとデータを置くには良いがソフトウェアのイン ストール先などの用途には使わない(WEBを介する以上データの取り出しに速度が出なかったり不 安定だったりするため) ? また応用としてコレ自体をWEBサーバとすることもできる ? - 課金体系? データの量に対するストレージ課金と、リクエスト数やデータ転送量に対する従量課金がある。? ?
36.
ストレージ関連サービス? Amazon EFS(Elastic File
System) ? 複数の仮想サーバで使う共有フォルダみたいなもの ? AWS Snowball? ローカルからAWSへのデータ移行サービス。物理的にHDDを運搬 ? Amazon EBS(Elastic Block Storage) ? 仮想サーバにさすUSBメモリみたいなもの ?
37.
2-3? データベース?
38.
データベース? 代表的なミドルウェアはサーバに自分でインストールしなくても、ネットワークを経由して 使えるようにAWSがサービス化していることがあります? 感覚的にはパソコンにExcelを自分でインストールしなくても、Google SpreadSheetを使え るような感じでしょうか? データベースはミドルウェアの中でも特に代表的なもので、情報システムには必ずと 言っていいほど存在しています?
39.
Amazon Redshift ? 大きなデータを速くクエリできるやつを払い出すサービス
? Amazon DynamoDB ? 表ではなくKey-Valueでデータを格納するやつを払い出すサービス ? Amazon Elasticache ? これもKey?Valueだがオンメモリなので速いけどそのうちデータが消える ? Amazon RDS(Relational Database Service) ? MySQLのようなデータベースインスタンスを払い出すサービス ? データベース関連サービス?
40.
2-4? その他のAWSのサービス?
41.
たとえば…? Amazon Athena? AWS Glue? AWS
SystemManager ? AWS CloudTrail? AWS IAM? etc ...?
42.
3. まとめ?
43.
まとめ? ● オンプレミスとクラウド? ○ エンタープライズの複雑なシステムのためにIaaS(AWS)が誕生した
? ? ● AWSのサービス? ○ 仮想サーバのEC2? ○ なぞ空間にコンテナをつくるFargate ? ○ 宿泊客を15分でおいだすLambda ? ○ 仮想サーバに仮想LANケーブルをつなぐVPC ? ○ GoogleDriveみたいなストレージのS3 ? ○ いろんなデータベースがインストールしなくても使える ? ○ ほかもいっぱいある ?
44.
参考文献? ● AWS Fargate? https://aws.amazon.com/jp/fargate/? ? ●
AWSアイコンセット? https://aws.amazon.com/jp/architecture/icons/? ? ● かわいいフリー素材集いらすとや? https://www.irasutoya.com/?
Download