カテゴリー
2020年 AWS AWS Solutions Architect - Associate クラウド コンピューター 認定資格

AWSを学ぶ(5)EC2の性能とコストの考え方

EC2の性能をどう考えるか

EC2ではインスタンスタイプというものがあり、インスタンスのスペックを選択することができます。

オンデマンドタイプですと、例えば、m5.largeとかp2.8xlargeなどがあります。AWSのサイトに、スペックと価格の記載があります。

この「m」とか「p」は、インスタンスファミリーと呼ばれ、「何に対して最適化しているのか」を示しています。

インスタンスファミリー何に対して最適化なのか
 t, m汎用
 cコンピューティング
 p, gGPU
 x, r, zメモリー
 i, dストレージ
https://aws.amazon.com/jp/ec2/pricing/on-demand

インスタンスファミリーの後ろの数字は世代を表します。つまり、数字の大きいものがより最新ということになります。

一般的には、世代の新しいもののほうがスペックが良く、価格も安いです。

「xlarge」や「4xlarge」の部分が、インスタンスサイズを表し、数字の大きいものの方がスペックが高いということになります。

以下のものが、2020年8月11日時点でのm5インスタンスファミリーの性能と価格です。性能と価格は変更されることがありますので、必ずAWSのサイトを参照してください。

汎用-現行世代

EC2のコスト

EC2では、インスタンスを使ったら使った分だけ課金される「従量課金型」です。

この「使った分だけ」ですが、以下の様な考え方になります。

  • インスタンスが「Running」状態であった時間
  • 「Running」状態であったインスタンスのインスタンスタイプやリージョン

インスタンスを稼動させるリージョンによっても価格が変わるので注意です。

インスタンスの状態は3つあります。

  1. Running: 起動中
  2. Stopped : 停止中
  3. Terminated:  削除済み

EC2では、起動しているインスタンスのみが課金対象になり、停止中や削除されたインスタンスに対しては課金されません

インスタンスの削除に関して、注意点としては以下の点があります。

  • 停止中のインスタンスでも、、EBS(EC2インスタンスにアタッチして使うブロックストレージ)の費用はかかる
  • インスタンスを削除してもEBSは残るものもあるので注意(インスタンスを削除した時は必ずEBSも確認する)

私も過去に、インスタンスを削除したにも関わらず、EBSのストレージが消えていなかったために、コストがかかってしまっていたという経験があります。

スポットインスタンスとリザーブドインスタンス

オンデマンド

  • インスタンスの利用時間によって、料金が発生するタイプです。
  • 短期間や限られたタイミングでのみ利用したいという時に合います。

スポットインスタンス

  • AWSが余らせているEC2リソースを、入札形式で安く利用できるタイプです。
  • ただし、他のユーザーから利用リクエストが増え、リソースの余がなくなると、インスタンスが自動的に中断されます。
  • 一時的にテストや開発で高いスペックのインスタンスを利用したいというケースには良いです。

リザーブドインスタンス

  • 長期利用を約束することで、割引が得られるタイプです(料金先払い)。
  • 例えば、1年間で購入すると40%程度も費用を削減できるケースもあります。
  • 最初はまずオンデマンドで利用し、これでもう大丈夫となったら、リザーブドインスタンスで本番稼動という形が良いのではと思います

この教材を使って勉強してます。

AWS認定資格試験テキスト AWS認定ソリューションアーキテクト-アソシエイト

AWS認定資格試験テキスト AWS認定 ソリューションアーキテクト-アソシエイト【電子書籍】[ 佐々木 拓郎 ]

価格:2,618円
(2020/8/12 12:20時点)
感想(0件)

AWS関連の記事:

関連する記事:

最近の記事:

カテゴリー
2020年 AWS AWS Solutions Architect - Associate クラウド コンピューター 認定資格

AWSを学ぶ(4)EC2を理解しよう

EC2とは

Amazon Elastic Compute Cloud の略で、AWSで提供されるコンピューティングサービスの1つです。

簡単に言えば、仮想マシンを起動させられるサービスです。

EC2では仮想サーバはインスタンスという単位で管理され、数回クリックすれば起動してくるため、サーバの調達までのリードタイムは大幅に短縮が可能となります。

EC2の便利さを考えるために、オンプレとの比較をしてみましょう。

オンプレ環境では、物理サーバを手配し、そこにOSをインストールし、ラックを増設し、ネットワークや電源の管理をするといった様々な作業が必要となり、新しいサービスをリリースするまでに、1ヶ月くらいはかかるでしょう。

そして、こんなに時間をかけて準備したにも関わらず、予想を超えるトラフィックやリクエストを処理できず、ビジネスチャンスの逃してしまったり、逆にリソースを余らせてしまい、結果として赤字になるなんてこともあり得えます。

EC2を使えばサービスの提供までのリードタイムを大幅に短縮させられます。

ビジネスにとって重要なところはどこなのでしょうか。サービスを用意するところではないですよね。サービスを如何に効率よく提供し続けビジネスを行うことです。つまり、ビジネス価値を生む行為に集中できる様になります。

AWSが提供するコンピューティングサービスには、以下のものがあります。

  • Amazon Elastic Compute Cloud (EC2)
  • AWS Lambda
  • Amazon Elastic Container Service (ECS)
  • Amazon Elastic Container Service for Kubernetes (EKS)
  • Amazon Fargate
  • Amazon Lightsail

EC2の仕組み

EC2では、使用したいイメージを選択しインスタンスを実行します。このイメージのことを、Amazon Machine Image(AMI)と呼びます。AMIは、 エイエムアイ、又はアミと呼ばれます。

EC2で使えるAMIには2種類あります。

  1. Amazon Linux、 Red Hat Enterprise Linux、Microsoft WindowsといったAWS が標準で提供しているのも
  2. 各ベンダーがサービスをプリインストールしたもの

ユーザーはインスタンスの断面をAMIにすることもでき、それをバックアップとすることも可能となります。

EC2のメリット

EC2には以下のメリットがあります。

  • 簡単にスペック変更
  • 従量課金でのコスト
  • サービス提供までの時間短縮
  • 簡単に冗長化

EC2の最大の魅力は、仮想インスタンスのスペックを簡単に変更が可能であることにあります。つまり、サービスのキャパシティーを柔軟に拡大や縮小が可能となります。

例えば、あなたのビジネスが夏によく売れる商品だとして考えてみましょう。

夏によく売れるのですから、夏時期にリクエスト数が増えるはずです。

この傾向が分かっている場合、どこを目安にサーバーのスペックを考えるべきでしょうか。

以下の様に、最低でも緑色のラインのリスエストをさばくことができるスペックが必要です。大抵の場合、それに1.2とか1.5とか掛けて、少し大きめのスペックでサーバーを用意すると思います。

それにより、ピーク時のリスエストには対応できる様にな離ますが、夏以外がそれほどリスエスト数がありません。無駄がありますよね。以下の黄色の部分は全て無駄になります。

EC2を利用すれば、必要な時に必要となるスペックと台数のサーバーを簡単に用意することができます。クラウドなので、使用したら使用した分だけの料金しかかかりません。コストも抑えられます。

EC2での冗長化

ビジネスを止めないためには、冗長化は非常に重要なポイントとなります。

ECCでの冗長化では、Auto Scalingを使用することができます。

Auto Scalingを使用すると、リクエストやトラフィックの増加に合わせて、EC2のインスタンス数を増加させたり減少させたりすることができます。

例えば、

  • CPU負荷が80%を超えたら、インスタンスを2台追加する
  • CPU負荷が60%を下回ったら、インスタンスを2台減らす

Auto Scalingの機能ですが、ELBと呼ばれるロードバランサーと一緒に使用されます。

ELB: Elastic Load Balancerはレイヤー4(L4)やレイヤー7(L7)で動作するロードバランサーです。EC2上で動作し、EC2のインスタンスに対してトラフィックを負荷分散するだけでなく、インスタンス自体の負荷を監視し、負荷がしきい値を超えたらインスタンスう数を増やしたり、しきい値を下回ったらシンスタンス数を減らしたりする機能を持ちます。

ELBには、以下の3つの種類があります。

Classic Load Balancer (CLB)Network Load Balancer (NLB)Application Load Balancer (ALB)
HTTP, HTTPS, TCP TCPHTTP, HTTPS
古いタイプのLB
リクエストレベル(L7)と接続レベル(L4)の両方に対応
接続レベル(L4)で動作
TCPトラフィックのロードバランシング
リクエストレベル(L7)で動作
HTTPとHTTPSトラフィックの高度なロードバランシング

EC2が分かってきたのではないでしょうか。EC2では、仮想インスタンスというサーバーを起動させられるのですね。これでプライベートサブネットとパブリックサブネットの2つの役割が分かったと思います。

アプリケーションは一般的に3ティアー構成を取っています。

フロントエンドのノードはエンドユーザーからのリクエストを受けますが、バックエンドのノードはエンドユーザーからのアクセスは不要であり、ノード間の通信のみとなります。

思い出してみてください。パブリックサブネットはIGWを経由してインターネットと通信ができましたよね。それに対して、プライベートサブネットは、IGWとは通信をさせませんので、インターネットとの通信はできません。

この教材を使って勉強してます。

AWS認定資格試験テキスト AWS認定ソリューションアーキテクト-アソシエイト

AWS認定資格試験テキスト AWS認定 ソリューションアーキテクト-アソシエイト【電子書籍】[ 佐々木 拓郎 ]

価格:2,618円
(2020/8/12 12:20時点)
感想(0件)

AWS関連の記事:

関連する記事:

最近の記事:

カテゴリー
2020年 AWS AWS Solutions Architect - Associate クラウド コンピューター 認定資格

AWSを学ぶ(3)ゲートウェイとセキュリティーについて

AWS上に作成される各サブネットには、それぞれ仮想ルータが用意されます。

この仮想ルータでは、ルートテーブルを管理する他に、ネットワークACLを使った通信制御も行います。

また、この仮想ルータは、サブネット内に稼働させられる仮想マシンのデフォルトゲートウェイにもなります。

AWSのルートテーブル

AWSのルートテーブルは、以下の特徴があります。

  • 個々のサブネットに1つずつ設定する
  • 1つのルートテーブルを複数のサブネットで共有はできるが、1つのサブネットに複数のルートテーブルを適用することはできない
  • VPCにはメインルートテーブルがあり、サブネット作成時に指定しない場合は、このVPCのメインルートテーブルが、デフォルトのルートテーブルになる

セキュリティーグループとネットワークACL

セキュリテーグループ

AWS上に稼働させる仮想マシン(インスタンス)自体に適用させる通信制御のルールです。

インスタンスには、必ず1つ以上のセキュリティーグループを適用する必要があります。通信の制御としては、2種類あります。

TCP/UDPなどのプロトコルやアドレス範囲、ポート番号などをルールに使えます。特徴的なのは、セキュリティーグループ自体をルールの中で指定できる(このセキュリティーグループからこのセキュリティーグループへの通信みたいな)ことです。

ステートフルであり、行きの通信を許可すれば、その通信の戻りも許可されます。

インバウンド:外部からVPC内への方向
アウトバウンド:VPN内から外部への方向

ネットワークACL(NACL)

サブネット毎の通信制御を行うルールです。

NACLでは、セキュリティーグループの様に、セキュリティーグループをルールで指定はできません。

またデフォルトでは、全ての通信を許可しています。

ステートレスであり、行きと戻りの通信を明示的に許可しなければ通信ができません。

ゲートウェイ

ゲートウェイは、VPNの内部と外部を通信させる出入り口です。

ゲートウェイは大きく3種類あります。

  1. IGW:インターネットを接続するインターネットゲートウェイ
  2. VGW:VPNやDirect Connectを使ったオンプレとの接続を行う仮想プライベートゲートウェイ
  3. NAT GW:グローバルIPアドレスを持たないインスタンスをインターネットと通信可能にさせるゲートウェイ
  4. 実はその他にもあったりする

GWは各VPCに1つだけ設定されます。

サブネットのルートテーブルで通信をIGWに向ける(一般的には0.0.0.0/0を向ける)と、その通信はインターネットと通信ができる様になります。

第2回で少し出てきたパブリックサブネットとは、これを行っているサブネットのことで、インターネットとの通信が可能となります。プライベートサブネットは、これを行いませんので、インターネットとの通信はできません。

その場合にも何らかの理由でインターネットとの通信が必要となった場合は、NAT GWを使うことになります。

VGWも各VPCに1つだけ設定できます。VPNやDirect Connectでの接続が複数あっても、1台のVGWで複数接続可能です。

さあ、これでサブネットやゲートウェイなどの仕組みが分かってきました。次はいよいよEC2を学んで行きましょう。

この教材を使って勉強してます。

AWS認定資格試験テキスト AWS認定ソリューションアーキテクト-アソシエイト

AWS認定資格試験テキスト AWS認定 ソリューションアーキテクト-アソシエイト【電子書籍】[ 佐々木 拓郎 ]

価格:2,618円
(2020/8/12 12:20時点)
感想(0件)

AWS関連の記事:

関連する記事:

最近の記事:

カテゴリー
2020年 AWS AWS Solutions Architect - Associate クラウド コンピューター 認定資格

AWSを学ぶ(2)VPCを作ってみよう

VPCの作り方

AWSはパブリッククラウドなので、比較的気軽に使えます。実際に手を動かして試してみるのが一番です。

ちなみに、私はAWSコンソールを英語表示で使用しています。日本語表示で使っている場合と少しだけ表示が異なりますが、そこは読み替えてください。

AWSの管理コンソールにログインすると、AWSで利用できるサービスの一覧が表示されます。非常にたくさんのサービスがあります。検索テキストボックスに「VPC」と入力してみると、VPCの名前が見えますので、それをクリックします。

VPCは何も設定をしなくても、AWSが用意してくれています。VPC画面では、自分のアカウント向けに提供されているVPCの一覧が表示されます。

例えば、シドニーリージョンをクリックします。VPC画面が表示され、シドニーリージョンにどのようなVPCが用意されているのかが見られます。

これをそのまま使っても良いのですが、アドレス範囲が自分の設計に合わないなどもあると思います。その場合は、手動でVPCを作成できます。「Create VPC」を押します。

VPC作成画面が表示されるので、「Name tag」にVPCの名前、「IPv4 CIDR block」にVPCで使用可能なアドレスの範囲を入力します。ここでポイントは、VPCで使用可能なサブネットの大きさはなるべく大きくすべきという点です。

なぜ大きくしておくべきなのかですが、サブネット内の最初の4つと最後の1つのIPアドレスはAWSで予約されていて、ユーザーは使うことができません。このたた、例えば28ビットでサブネット作った場合、ビット的には16個のIPアドレスがあるのですが、実際には11個しか使えません。

またAWSのサービスの中にはこの範囲内からのIPアドレスを必要とする物もあります。例えば、ELBと呼ばれるロードバランサーを使用する場合、IPアドレスを8個も使用します。

最大で16ビット、最小で28ビットを指定できますが、実際にサブネットを作成した際にそのサブネットないのアドレスをすべて使用できる訳ではありません。後から拡張する方法もあるのですが、めんどくさいみたいです。基本的には16ビットがお勧めです。

Createボタンを押すと作成できます。正常に作成できたら、Closeボタンを押して、VPC作成画面を閉じます。

VPCができましたね。一番上のものが、今作成したVPCです。

次に、VPCの中にサブネットを作って行きましょう。左側にあるメニューの中に「Subnets」が用意されていますのでクリックします。

AWSが用意しているサブネットがあるのですが、自分の設計で必要なサブネットを作りましょう。「Create subnet」を押します。

サブネット作成画面が表示されます。

「Name tag」にサブネットの名前を入力します。次に、そのサブネットを先ほど作ったVPC内に作成するのですが、VPCのところをクリックすると、今利用可能なVPCの一覧が表示されます。先ほど作成した「test-vpc-01」も見えますね。それを選択します。

次に設定するのがAvailable Zoneです。これって何でしたっけ?

第1回目でもお話しましたが、AZ: Availability Zoneとは、各リージョン内にあるデータセンターです。データセンター全体、が何らかの理由で使えなくなってもサービスを継続できる様に、リージョン内には2つ以上のAZが用意されているんでしたよね。

AWSを使う際のコツですが、VPCを複数のAZにまたがる様に設計することを推奨しています。サブネットを複数作成し、それぞれを別のAZ上に設置する様に指定します。AWSではこれをマルチAZと呼びます。

ここでは、test-subnet-01というサブネットを、ap-southeast-02というAZに作成します。

そして作成するサブネットの範囲を24ビットとします。Createボタンを押して、サブネットを作成します。

正常にサブネットが作成されたことを確認したら、Closeボタンを押して、サブネット作成画面を閉じます。

自分の設計通りのサブネットが作成されましたね。

この作業を繰り返して、自分の設計で必要となる数のサブネットを作って行きましょう。

ちなみに、サブネットには2種類あります。これは機能的に分けたものです。

パブリックサブネット

インターネットとの通信が許可されているサブネットで、もちろんVPC内も通信可能

プライベートサブネット

インターネットとの通信は許可されておらず、VPC内しか通信が許可されていないサブネット

なぜこんな2つのサブネットを使い分ける必要があるのか。EC2を学んで行けば、謎が解けるかも知れません。

この教材を使って勉強してます。

AWS認定資格試験テキスト AWS認定ソリューションアーキテクト-アソシエイト

AWS認定資格試験テキスト AWS認定 ソリューションアーキテクト-アソシエイト【電子書籍】[ 佐々木 拓郎 ]

価格:2,618円
(2020/8/12 12:20時点)
感想(0件)

ASW関連の記事:

関連する記事:

最近の記事:

カテゴリー
2020年 AWS AWS Solutions Architect - Associate クラウド コンピューター 認定資格

AWSを学ぶ(1)VPCを理解しよう

私の仕事柄、パブリッククラウドは使うことが多いので、AWSのことも一応のことは理解しているつもりなのですが、実際に業務で使用するサービスは限られています。ですが、パブリッククラウドには、私が使ったこともない様々なサービスが用意されています。

そこで、AWS認定ソリューションアーキテクトアソシエイトという資格の勉強をしてみようと思いました。今までの独学ではなく基礎からちゃんと学び、今まで使っていなかったAWSの機能についても理解してみようと思ってます。このブログは、その勉強の際の私のメモ書きです。

VPCを理解しよう

AWSを理解する上で、リージョン、VPC、サブネット、Availability Zone (以下AZ) が基礎となります。

リージョンが一番大きな枠です。東京なのか、シンガポールなのか、シドニーなのか(もちろんその他にも多数のリージョンがあります)。リージョンは、データを置いたり仮想サーバーを稼働させる「地理的な場所」になります。

イメージとしては、こんな感じです。

そして、そのリージョンの中にVPCを作成します。

VPC: Virtual Private Cloudとは

ユーザー専用のプライベートなクラウド環境を指します。またはそれを提供するサービス自体を言います。これはサブネットではありません。サブネットは、VPCの中に作成します。VPCはあくまでも、AWS上の特定のリージョン内に持つ、ユーザー専用の空間です。

イメージとしては、こんな感じです。

VPCを作成したら、次にその中にサブネットを作成して行きます。このサブネットが、実際に稼働する仮想マシンにアサインされるIPアドレスの範囲です。1つのVPCの中には、最大で200個までのサブネットが作成可能です。

イメージとしては、こんな感じです。

サブネットですが、AZ: Availability Zoneを指定して作成します。このAZって何でしょうか?

AZというのは、ある地域のある場所にあるデータセンターのことです。AWSは被災などでデータセンター全体が使用不可になることを想定して、1つのリージョンの中に複数のAZを設けています。このAZの集まりをリージョンと呼びます。ちなみに、AWSでは2つ以上のAZがないとリージョンとは呼ばないそうです。

また、AZ同士は高速なネットワークで接続されており、基本的には10ミリ秒以下の遅延で通信ができるそうです。

イメージとしては、こんな感じです。

どうでしょうか。AWSのリージョン、VPC、サブネット、AZのイメージが何となくでも理解できたのではないでしょうか。次は実際に、VPCを作成してみたいと思います。

この教材を使って勉強してます。

AWS認定資格試験テキスト AWS認定ソリューションアーキテクト-アソシエイト

AWS関連の記事:

関連する記事:

最近の記事: