Power Unit Inc. | 想像力のない者に翼はない | Amazon EC2
17409
page-template,page-template-full_width,page-template-full_width-php,page,page-id-17409,qode-quick-links-1.0,woocommerce-no-js,ajax_fade,page_not_loaded,,side_area_uncovered_from_content,columns-4,qode-theme-ver-16.7,qode-theme-bridge,wpb-js-composer js-comp-ver-5.5.2,vc_responsive
 

Amazon EC2

Amazon Elastic Computing Cloud (Amazon EC2)

クラウド内でサイズ変更が可能なコンピューティング処理能力を提供するウェブサービス

Amazon Elastic Compute Cloud (Amazon EC2) とは、クラウド内でサイズ変更が可能なコンピューティング処理能力を提供するウェブサービスです。ウェブスケールのクラウドコンピューティングを開発者が簡単に利用できるよう設計されています。

Amazon EC2 のシンプルなウェブサービスインターフェイスによって、手間をかけず、必要な機能を取得および設定できます。お客様のコンピュートリソースに対して、高機能なコントロールが提供され、Amazon の実績あるインフラストラクチャ上で実行できます。Amazon EC2 では、わずか数分間で新規サーバーインスタンスを取得して起動できるようになります。これにより、コンピューティング要件の変化に合わせて、すばやく容量をスケールアップおよびスケールダウンできます。実際に使用した分だけ料金を払えばよいので、Amazon EC2 は、コンピューティングの経済性も変革します。

Amazon EC2 をはじめる

Amazon EC2 は、真に仮想的なコンピューティング環境を提供します。これにより、ウェブサービスのインターフェイスを使用して、様々なオペレーティングシステムのインスタンスを起動し、それらをお客様のカスタマイズされたアプリケーション環境に読み込み、ネットワークのアクセス権限を管理し、どんな大きさのシステムでもイメージ通り実行することが可能となります。

Amazon EC2 を使用するには、以下の手順に従うだけです。

  • 即座に稼働を開始するには、事前設定済みの、テンプレート化された Amazon マシンイメージ(AMI)を選択します。または、使用するアプリケーション、ライブラリ、データ、および関連する設定から成る AMI を作成します。
  • Amazon EC2 インスタンス上でセキュリティやネットワークアクセスを設定します。
  • 目的のインスタンスタイプを選択したら、AMI のインスタンスを必要な数だけ開始し、監視し、終了します。この作業には、ウェブサービス API や、提供されているさまざまな管理ツールを使用できます。
  • インスタンスに対して、複数のロケーションで実行したいのか、固定 IP のエンドポイントを利用するのか、または堅牢なブロックストレージを追加するのか等を決定します。
  • 利用料金は、インスタンス稼働時間またはデータ転送のような、お客様が実際に消費するリソースに対してのみ発生します。

Amazon EC2 の特徴

Amazon Elastic Block Store (Amazon EBS)

Amazon Elastic Block Store(EBS)は、Amazon EC2 インスタンスのために永続的ストレージを提供します。永続的とはつまり Amazon EBS ボリュームはネットワーク接続型であり、インスタンスの存続期間とは無関係に永続化されます。Amazon EBS の詳細については「ストレージ」のセクションを参照してください。

Amazon EBS ボリュームは、可用性と信頼性の高いボリュームであり、Amazon EC2 インスタンスのブートパーティションとして利用したり、標準のブロックデバイスとして、実行中の Amazon EC2 インスタンスに添付することができます。ブートパーティションとして使用される場合、Amazon EC2 インスタンスを停止し、続けて再起動することができます。これによって、インスタンスの状態を管理する間、使用されるストレージリソースの分にだけ料金を支払うことができます。

Amazon EBS は、EC2 インスタンスで使用するためのブロックレベルのストレージボリュームを提供します。EBS ボリュームは、同じアベイラビリティーゾーンにある実行中のどのインスタンスにもアタッチできる、可用性と信頼性に優れたストレージボリュームです。EC2 インスタンスにアタッチされた EBS ボリュームは、インスタンスの運用状況から、独立した永続性を保つストレージボリュームとして表示されます。

Amazon EBS は、データにすばやくアクセスする必要があり、長期永続性が必要な場合に推奨されます。EBS ボリュームは、ファイルシステムの主要ストレージやデータベースとしての使用に特に適しています。また、細かい更新が必要なアプリケーションや、ブロックレベルの未初期化のストレージを使用する必要があるアプリケーションにも適しています。Amazon EBS は、ランダムな読み取り/書き込みに依存するデータベーススタイルのアプリケーションと、長時間の連続読み取り/書き込みを実行するスループットが高いアプリケーションの両方に適しています。

Amazon EBS ボリュームは、ローカルの Amazon EC2 インスタンスストア上で、大きく改善された堅牢性を提供します。これは、Amazon EBS ボリュームが、自動的にバックエンド(単一の利用可能ゾーン)でレプリケーションされるためです。さらなる堅牢性を望む方のためには、Amazon EBS は、ボリュームについて常に一定時点のスナップショットを作成することができます。これはその後 Amazon S3 に格納され、複数の利用可能ゾーンで自動的にレプリケーションされます。

これらのスナップショットは、新しい Amazon EBS ボリュームのための開始点として使用することができ、長期的堅牢性のためにデータを保護することができます。これらのスナップショットを、同僚やその他の AWS 開発者と簡単に共有することもできます。

簡素化されたデータの暗号化を使用するには、EBS ボリュームを暗号化の対象となるボリュームとして起動します。Amazon EBS 暗号化 は、EBS ボリュームのために、独自のキー管理インフラストラクチャの構築、管理、および保護を必要としない、簡単な暗号化ソリューションを提供します。

暗号化の対象となる EBS ボリュームを作成し、サポートされているインスタンスタイプに関連付けると、そのボリュームに保管されるデータ、そのボリュームとのディスク I/O、そのボリュームから作成されたスナップショットは、すべて暗号化されます。暗号化は EC2 インスタンスをホストするサーバーで行われ、EC2 インスタンスから EBS ストレージに転送されるデータが暗号化されます。

プロビジョンド IOPS (SSD)、汎用 (SSD)、スループット最適化 (HDD)、コールド (HDD) という 4 つのボリュームタイプが用意されており、ワークロードに最も適したものを選択できます。

  • プロビジョンド IOPS (SSD) は SSD を利用したボリュームで、安定した低レイテンシーのパフォーマンスを備えたストレージです。大規模なリレーショナルデータベースや NoSQL データベースなど、I/O の発生量の多い用途向けに設計されています。
  • 汎用 (SSD) ボリュームは、小中規模のデータベース、開発環境やテスト環境など、広範なワークロードに適した汎用ボリュームです。また、ブートボリューム用に最適です。
  • スループット最適化 (HDD) は HDD を利用したボリュームで、頻繁にアクセスされる、高スループットのワークロードへの使用に最適です。
  • コールド (HDD) ボリュームは、EBS ボリュームタイプのうちギガバイトあたりのコストが最も低く、データのアクセスがそれほど頻繁でないワークロードに最適です。

EBS 最適化インスタンス

時間単位のわずかな追加料金で、お客様指定の Amazon EC2 インスタンスタイプを EBS 最適化インスタンスとして起動できます。EBS 最適化インスタンスがあれば、EBS ボリュームでプロビジョニングされた IOPS を EC2 インスタンスが最大限に使用できるようになります。EBS 最適化インスタンスでは、Amazon EC2 と Amazon EBS 間専用のスループットが実現しており、使用されるインスタンスタイプに応じて高速な I/O スループットの選択が可能です。この専有スループットにより、Amazon EBS I/O と EC2 インスタンスからの他のトラフィックとの競合を最低限に抑え、EBS ボリュームのパフォーマンスを最大限に引き出します。

複数のロケーション

Amazon EC2 では、複数のロケーションにインスタンスを配置することができます。Amazon EC2 のロケーションは、リージョンとアベイラビリティゾーンから構成されています。アベイラビリティゾーンは、他のゾ-ンからの影響を受けないようにそれぞれ独立したロケーションであり、利用は安価で、同一リージョンの他の利用可能ゾーンに対して待ち時間の短いネットワーク接続を提供します。独立したアベイラビリティゾーンでインスタンスを起動することにより、単独のロケーションにおける障害から、アプリケーションを保護することができます。

リージョンは、複数のアベイラビリティゾーンから構成され、それぞれ別々のエリアまたは国に分散して、存在しています。

Elastic IP アドレス

Elastic IP アドレスは、動的クラウドコンピューティングのために考案された、静的 IP アドレスです。Elastic IP アドレスは、特定のインスタンスではないお客様のアカウントと対応しており、明示的に解放するまで、このアドレスをコントロールすることができます。Elastic IP の詳細については「ネットワーク」のセクションを参照してください。

従来の静的な IP アドレスとは異なり、Elastic IP アドレスでは、パブリックな IP アドレスをお客様のアカウントの任意のインスタンスにプログラム的に再マッピングすることにより、インスタンスまたは可用性の障害にマスクをかけることができます。データ技術者がホスティングの再設定や置換を行うのを待つのではなく、また DNS がお客様の全カスタマーへ通知するのを待つのではなく、Amazon EC2 は、お客様の Elastic IP アドレスを代わりのインスタンスに素早く再マッピングすることによって、インスタンスまたはソフトウェアの問題を修正することができます。

単純な Web アプリケーションの障害や災害の復旧のユースケースを Elastic IP を用いると以下の図のようになります。Elastic IP はAZ B のアクティブな EC2 インスタンスに割り当てられています。

この図には、3 つのネットワークが含まれています。1  つめは、障害が発生しない場合のアクティブ系、2 つめは同じアベイラビリティーゾーンのアクティブ系に障害が発生した時のリプレース系(スタンバイ系)、3 つめが異なるアベイラビリティゾーンに待機しているリカバリー系です。

ここで、アクティブな EC2 インスタンスに障害が発生した時は、リプレースする EC2 インスタンスが同じ AZ B 内部に準備され、バックエンドの EBS ブロックストレージがリプレースする EC2 にアタッチします。ちなみに EBS は、このダイアグラムのように、(EBS の)バックアップや災害復旧の目的で、定期的に S3 にスナップショットが保存されます。

EC2 インスタンスに障害が発生した時の EC2 に接続しているデータベースとアタッチしている EBS の復旧ステップは以下の図のようになります。

通常、AWS は、新しい EC2 や、一旦終了した EC2 を再起動した時は以前とは異なるパブリック IP アドレスを割り当てるので、リプレースする EC2 インスタンスは障害のあった EC2 インスタンスとは異なる IP アドレスが割り当てられますが、Elastic IP を割り当てることによって前と同じパブリック IP アドレスを新しい EC2 インスタンスに即座に割り当てることができます。

仮に AZ B 全体に障害が発生した時の災害対策も考慮すれば、AZ A にリカバリー EC2 インスタンスと EBS をアタッチして待機。災害復旧の際は、S3 に保存されている EBS を戻して、リカバリー EC2 インスタンスにアタッチ、Elastic IP をリカバリー EC2 インスタンスに割り当てます。

2 Web 層 Web アプリケーションや 3 層 Web アプリケーションのように Elastic Load Balancer (ELB) を利用する場合は、パブリック IP アドレスとプライベート IP アドレスのワークロードの割り当てはロードバランサーの仕事になるので、Amazon VPC および Internet Gateway (IGW) を構築して ELB に Elastic IP を割り当てるのが適当です。

Amazon Virtual Private Cloud (Amazon VPC)

Amazon Virtual Private Cloud (Amazon VPC) では、AWS の論理的に分離したセクションがプロビジョニングされ、ここからお客様が定義する仮想ネットワークで AWS リソースを起動できます。独自の IP アドレス範囲の選択、サブネットの作成、ルートテーブルやネットワークゲートウェイの設定など、仮想ネットワーク環境を完全にコントロールできます。Amazon VPC の詳細については「ネットワーク」のセクションを参照してください。

典型的な Web サービス(AMIMOTO が提供する WordPress)の Amazon VPC の構成図は以下のようになります。一番外部の囲みが AWS クラウド(パブリッククラウド)で、その内側がリージョン(東京、シンガポール、オレゴンなど)のデータセンターになります。その内側が、Amazon VPC で、AWS のサービスの多くは Amazon VPC 内部に配置されます。Amazon S3 は、完全にパブリックネットからアクセス可能なメディアファイルなので Amazon VPC の外側にあります。Amazon VPC は外部のインターネットと Internet Gateway (IGW) を通して接続しています。 IGW は、Amazon VPC が提供するゲートウェイ機能で単障害点またはロードアベレージの問題はありません。Amazon VPC の内部には、アベイラビリティーゾーン(データセンターの完全に隔離された異なるブロック)があります。話を単純にするため単一のアベイラブルゾーンですが、冗長性を持たせる場合は複数のアベイラビリティーゾーンで構成します。Amazon VPC の内側には、 2 つのプライベートなサブネットがあり、1 つめは Elastic Load Balancer (ELB) が EC2 インスタンスの Amazon マシーンイメージ(AMIMOTO AMI = WordPress)の冗長性を保っています。2 つめは EC2 インスタンスからクエリーをリクエストするデーターベース RDBS があります。冗長性を保証するためには、異なるアベイラビリティーゾーンにデーターベースのレプリケーションを配置する必要があります。

上図は、AMIMOTO が提供している WordPress による Web サービスの典型的なダイアグラムですが、より現実的には以下のようにアーキテクチャーを発展的に展開できます。

  • 静的なメディアを保存した Amazon S3 の内容を効果的にクライアントに配信するためのコンテンツデリバリーネットワーク(CDN)の Amazon CloudFront を配置します。
  • データベースを冗長化するために、異なるアベイラビリティーゾーンにある Amazon VPC のプライベートなサブネットにマスターとレプリケーションのデーターベースを配置します。
  • WordPress がパッケージングされた AMIMOTO AMI から構成される EC2 インスタンスを ELB が監視するロードアベレージに応じて AutoScaling するようにします。
  • サイトの開発者が、サイトのコード(HTML, CSS, PHP, JavaScript など)を AWS CodeCommit に git でプッシュするとプライベート領域に保存されます。プッシュされた最新のコードは AWS Code Deploy によって自動的に EC2 のコードを更新します。

また、会社のデータセンターと自分の Amazon VPC 間にハードウェア仮想プライベートネットワーク (VPN) 接続を作成することができるので、AWS クラウドを会社の既存のデータセンターの拡張であるかのように活用できます。

単一および複数の VPN 接続を以下の図で示します。Amazon VPC には仮想プライベートゲートウェイが関連付けられていて、ネットワークにはカスタマーゲートウェイが使用されています。カスタマーゲートウェイは、VPN 接続を有効にするように設定する必要があります。ルーティングを設定して、Amazon VPC からユーザーネットワークに向けてのトラフィックが仮想プライベートゲートウェイにルーティングされるようにします。

Amazon CloudWatch

Amazon CloudWatch は、Amazon EC2 で動作し、AWS クラウドのリソースとアプリケーションをモニタリングするウェブサービスです。これはリソースの使用状況に対する視認性、運用上のパフォーマンス、そして、CPU 使用状況、ディスク読み込みや書き込み、ネットワークトラフィックなど、需要パターン全体に関するメトリクスを提供します。統計を得る、グラフを見る、メトリクスデータに対するアラームを設定することができます。Amazon CloudWatch を使用するには、単に監視したい Amazon EC2 インスタンスを選択します。

また、独自のビジネスまたはアプリケーションメトリクスデータを提供することもできます。Amazon CloudWatch がモニタリングのデータの集約/格納を開始します。これらには、ウェブサービス API またはコマンドラインツールを使用してアクセスすることができます。

図では解説上のわかりやすさから Amazon CloudWatch は単体で動作しているようですが、実際には、EC2 のインスタンス上でメトリクスを監視するデーモンのような形式で動作しています。① Elastic Load Balancer (ELB) は Amazon EC2 と連携してマトリクス(EC2 の集合)の監視データを Amazon CloudWatch に送信します。② EC2 のロードアベレージが一定以上に達しているケースではアラームが起動します。③ EC2 の AutoScaling 機能が働いて、AMI をベースにスケールアップを要求します。④ AMI をベースにした追加の EC2 インスタンスが起動します。⑤ ELB が追加された EC2 が問題ないかヘルスチェックをします。⑥ 追加された EC2 を ELB が分散処理しているクラスターに配置します。

Auto Scaling

Auto Scaling では、お客様が定義する条件に応じて、Amazon EC2 の能力を自動的にスケールアップおよびスケールダウンできます。Auto Scaling では、お客様が使用中の Amazon EC2 インスタンスの数を、需要が急上昇した時はシームレスに増やしてパフォーマンスを維持し、需要が弱まる時に自動的に減らすことにより、コストを最小化することができます。Auto Scaling は特に、使用量が週、日、時間ごとに変化するアプリケーションに最適です。

Auto Scaling は、Amazon CloudWatch で有効にすることができ、Amazon CloudWatch の料金を超える追加料金は発生しません。

Elastic Load Balancing (ELB)

Elastic Load Balancing (ELB) は、複数の Amazon EC2 インスタンス間で、アプリケーションの着信トラフィックの負荷を自動的に分散します。これは耐障害性に優れたアプリケーション運用を可能にし、流入するアプリケーショントラフィックに対応した負荷分散能力を、シームレスに提供するものです。

ELB はプール内で不具合のあるインスタンスを検出し、不具合が修復されるまで、これらのインスタンスに対するトラフィックのルート変更を自動的に行うものです。単一の利用可能ゾーン内で ELB を有効にできますが、さらに安定したアプリケーションパフォーマンスのために、複数のゾーンで有効にすることもできます。

Amazon CloudWatch を使用して、リクエストカウントやリクエスト待ち時間など、特定の Elastic Load Balancing (ELB) の運用上のメトリクスを捕捉することができます。以下の図では、#1 および #2 のアベイラビリティーゾーンに属する EC2 インスタンスに CloudWatch のデーモンが起動して、EC2 のメトリクスを ELB と情報を共有しながら AutoScaling に通知して最適な EC2 インスタンスの数に自動でスケールアップ&スケールダウンします。

ELB のオーナー、もしくは IAM で管理者の権限を与えられたユーザーは、ELB に対して直接 API/CLI を叩いて制御することもできますし、AWS Management Console を利用して制御することもできます。

ハイパフォーマンスコンピューティング(HPC)クラスター

密結合並列処理などの複雑な演算ワークロードや、ネットワークパフォーマンスの影響を受けやすいアプリケーションなどを、専用に構築されたインフラストラクチャと同等のコンピューティング性能およびネットワークパフォーマンスでこなし、なおかつ Amazon EC2 の伸縮自在性、柔軟性、コスト優位性といった恩恵も受けることができます。クラスターコンピューティング、クラスター GPU、およびハイメモリクラスターインスタンスは、特に高性能ネットワークを提供するように設計されおり、プログラムでクラスターに起動することができます。これにより、密結合ノード間通信に必要な少ない待ち時間のネットワーク性能をアプリケーションに備えることができます。クラスターインスタンスはまた、著しく強化されたネットワークスループットを提供するため、ネットワーク負荷の高いオペレーションを実行する必要のあるお客様のアプリケーションに最適となります。

AWS は、超巨大コンピューティングのシナリオ、例えば、科学技術計算、シミュレーション、研究プロジェクトなどでとても人気があります。こうしたシナリオは、科学分析機、計測機器、もしくはその他の計算処理から収集された膨大なデータが必要とされます。収集後に、これらのデータは、超巨大コンピューティング処理で分析され、結果のデータセットを導きだします。理想的には、結果はできるだけ早く収集されるのが良いでしょう。多くの場合、これらの結果はより大勢の人々の元に利用可能になるでしょう。

  1. AWS に巨大なデータセットをアップロードするには、利用可能なバンド幅を最大まで拡大することが非常に重要です。これには、複数のクライアントから並列で Amazon Simple Storage Service (Amazon S3) にデータをアップロードする必要があり、各クライアントは、並列性を高めるために、同時アップロードやマルチパート(分割)アップロードが可能になるようにマルチスレッドを利用します。さらにスループットを向上するためにウィンドウ制御(ウィンドウスケール)や選択的確認応答(セレクティブ ACK)などで TCP/IP を調整します。適切に最適化すれば、1 日あたりテラバイト級のアップロードが可能になります。超巨大なデータセットのための別の代替案は Amazon Import/Export Snaoball があり、これは、 AWS にストレージアプライアンスを送ると、その内容を Amazon S3 や Amazon EBS のボリュームに直接読み込むことができます。
  2. 超巨大処理の並列実行は非常に重要で、並列アプリケーションは通常は複数の Amazon Elastic Compute Cloud (Amazon EC2) インスタンスで実行されます。並列アプリケーションは、通常、すべてのノードが効率的な読み込みと書き込みができる非常に巨大なスクラッチを想定します。Amazon S3 なら、そうしたスクラッチな領域を、HTTP を直接使用することでも、また、アプリケーションが POSIX スタイルのファイルシステムを要求しているのであれば FUSE レイヤー(例えば s3fs や SubCloud)を使用することでも可能になります。
  3. 処理が終了して結果のデータが Amazon S3 に保存されれば、Amazon EC2 インスタンスはシャットダウン可能で、結果のデータはダウンロードできるようになります。抽出されたデータは他のユーザーと共有したり、対象ユーザーを選択して読み込み許可を与えたり、期限付きの URL 経由で誰でもアクセス可能にすることもできます。
  4. Amazon S3 を使う方法ではなくて、Amazon EBS を入力データセットの場所、一時的ストレージ領域、もしくは、出力データセットの場所として使用できます。アップロードの間は、並列アップロードストリームの概念と TCP Tweaking が適用されます。さらに、UDP  を利用すれば、アップロードはさらに高速になるでしょう。結果のデータセットは Amazon EBS のボリュームに書き込まれ、結果を共有するにはボリュームのスナップショットを取ります。

クラウド上の金融サービスのグリッドコンピューティングは、コンピュータ処理が必要になった際に動的にスケーラブルで柔軟なオペレーションを提供し、グリッドソフトウェアの開発に単純に集約する(リソースを集中する)ための便利なサービスです。オンデマンドなハードウェアのプロビジョニング(配置の準備)や、テンプレート駆動型の開発、オンプレミスに存在するデータソースへの低レイテンシーなアクセスをまとめることで、AWS を高性能なグリッドコンピューティングのシステムにします。

  1. 市場、取引、その他類似のデータソースがスタートアップの際に、オンプレミスのデータソースへ、もしくは Amazon Simple Storage Service (Amazon S3) からインストールされます。
  2. AWS DirectConnect なら低レイテンシーで信頼性の高い接続を企業のデータベースと AWS の間に構築できます。通信速度は 1Gbit から 10Gbit まで追加可能です。より低速の帯域幅が必要なケースでは、VPN コネクションを VPC Gateway に設置することが可能です。
  3. プライベートなサブネットワークがあり、これは、顧客のデータソース、グリッドコンピューティング、そしてグリッドコントローラーとエンジンのためにコンピュートグリッドクライアント設置されます。
  4. アプリケーションと企業データは、Amazon Relational Database Service (Amazon RDS) を利用してクラウドに安全に保村可能です。
  5. グリッドコントローラーとグリッドエンジンは Amazon Elastic Compute Cloud (Amazon EC2) インスタンスで実行されます。インスタンスは、オペレーティングシステムとグリッドソフトウェアが含まれた Amazon Machine Image (AMI) から必要に応じて起動されます。
  6. 休日のカレンダー、QA ライブラリー、その他の glidlib ブートストラップ(起動の際に必要になるプログラムライブラリ)などの静的なデータは、Amazon S3 からグリッドエンジンに(インスタンスの)起動時にダウンロード可能です。
  7. グリッドエンジンの結果は、Amazon DynamoDB に保存可能です。Amazon DynamoDB は、フルマネージド型のデータベースで、オンデマンドにスケール可能なように、読み込みと書き込みのスループットの設定が可能になっています。
  8. Amazon DynamoDB の結果は、 Amazon Elastic MapReduce (Amazon EMR) を用いて map/reduce ジョブを実行して集約することができ、最終的なアウトプットは Amazon S3 に保存されます。
  9. (プライベートなサブネットワークに設置された)コンピュートグリッドクライアントが、Amazon S3 から集約された結果を収集します。
  10. 集約された結果は、抵抗sとで、安全で、冗長性のあるストレージサービス、Amazon Glacier を利用してアーカイブすることができます。

インスタンスタイプ

Amazon EC2 では、異なるユースケースに合わせて最適化されたさまざまなインスタンスタイプが用意されています。インスタンスタイプはさまざまな CPU、メモリ、ストレージ、ネットワークキャパシティーの組み合わせによって構成されているため、アプリケーションのリソースとして適切な組み合わせを柔軟に選択できます。

インスタンスタイプには名前規則(ネーミングコンベンション)があり、以下のように、インスタンスファミリー(特徴)のアルファベット+インスタンスの世代を表す数字+ドット(.)+インスタンスのサイズになります。

  • 汎用的なインスタンス(バースト可能パフォーマンスインスタンス)… T2 インスタンスは、ベースラインを超えてバーストする能力がある CPU パフォーマンスのベースラインを提供する、バーストパフォーマンスインスタンスです。T2 インスタンスは、CPU を頻繁または常にフルパワーで使用することはなくても、時折バーストが必要なことがあるワークロード向けです。ウェブサーバー、開発者環境、小規模なデータベースなど、多くのアプリケーションでは CPU が常にハイパワーである必要はありませんが、必要なときに非常に高速な CPU にフルにアクセスできると大きなメリットが得られます。 T2 インスタンスは、特にこれらのユースケースのために設計されています。

インスタンスタイプには、CPU やメモリーなどの性能がバランスのとれた汎用的なタイプもありますが、以下では特徴のあるタイプについて紹介します。

  • Accelerated Computing インスタンス … ハードウェアアクセラレーター (コアプロセッサ) を使用して、浮動小数点計算やグラフィック処理などの機能を、CPU で実行中のソフトウェアよりもより効率的に実行するインスタンスファミリーです。Amazon EC2 では、汎用コンピューティング向けの「GPU Compute インスタンス」とグラフィックを多用するアプリケーション向けの「GPU Graphics インスタンス」の 2 つのタイプの Accelerated Computing インスタンスを利用できます。
  • GPU Compute インスタンス … 膨大な浮動小数点処理能力が必要なお客様には、GPU Compute インスタンスが最適です。現行の GPU Compute インスタンスである P2 インスタンスでは最大 16 の NVIDIA K80 GPU を利用でき、192 GB の GPU メモリ、4 万の並列処理コア、70 テラフロップスの単精度浮動小数点、23 テラフロップスを超える倍精度浮動小数点が実現します。この GPU では CUDA および OpenCL フレームワークがサポートされています。GPU Compute インスタンスは、機械学習、高性能データベース、計算流体力学、金融工学、耐震解析、分子モデル、ゲノミクス、レンダリングワークロードに最適です。
  • GPU Graphics インスタンス … 高性能のグラフィック機能が必要なお客様には、GPU Graphics インスタンスが最適です。現行の GPU Graphics インスタンスである G2 インスタンスでは、それぞれ最大 1,536 の CUDA コアと 4 GB の録画メモリを備えた、複数の NVIDIA GPU を利用できます。ドライバーの最新リリースでは、この GPU で OpenGL、DirectX、CUDA、OpenCL、および GRID SDK がサポートされています。GPU Graphics インスタンスは 3D グラフィックやゲームストリーミングに最適です。
  • ハイ I/O インスタンス … データに対してきわめて高頻度で低レイテンシーのランダム I/O アクセスが必要な場合は、ハイ I/O インスタンスが適しています。ハイ I/O インスタンスは、Amazon EC2 のインスタンスタイプの 1 つであり、100,000 IOPS を超える速さでのランダム I/O が可能です。ハイ I/O インスタンスのストレージには SSD(Solid State Disk)テクノロジーが使用されているので、きわめて高いパフォーマンスの NoSQL/リレーショナルデータベースを実行するのに適しています。
  • 高密度ストレージインスタンス … 超並列処理(MPP)データウェアハウス、MapReduce および Hadoop 分散コンピューティング、分散ファイルシステム、ログまたはデータ処理など、大量のデータを処理するアプリケーションのために、インスタンス当たりの非常に高いストレージ密度および高性能シーケンシャル I/O を必要とするお客様には、高密度ストレージインスタンスが適しています。高密度ストレージインスタンスは、最速 3.9 GB/秒のシーケンシャル I/O スループットと、24 のハードディスクドライブで構成された最大 48 TB のインスタンスストレージを提供する Amazon EC2 インスタンスタイプです。

VM Import/Export

VM Import/Export を使用すると、オンプレミスの環境にデプロイされた VMware や Microsoft Hyper-V などの仮想マシンイメージを Amazon EC2 インスタンスにインポートすることや、元のオンプレミス環境にエクスポートすることが簡単にできます。

この機能によって、仮想マシンが Amazon EC2 のインスタンスとして移行されてすぐに使用できる状態になるので、IT セキュリティ、構成管理、およびコンプライアンスに関するお客様の要件に合わせて作成した仮想マシンへの、これまでの投資が無駄になることはありません。また、インポートしたインスタンスを元のオンプレミス仮想化インフラストラクチャにエクスポートすることもできる(エクスポート可能なのはインポートしたイメージだけです)ので、作業負荷を自社の IT インフラストラクチャにデプロイできるようになります。

イメージのインポート インスタンスのインポート
ソース S3 上のイメージファイル+EBS スナップショット S3 マニュフェスト+ S3 オブジェクト
インポートの宛先 AMI (Amazon マシーンイメージ) 停止した状態のインスタンス
同時インポート数 20 5
VM の複雑さ 複数ボリューム、複数ディスク 単一ボリューム、単一ディスク
  • イメージのインポート

最初に、エクスポートのために仮想マシンを準備して、サポートされているイメージ形式の 1 つをエクスポートします。次に、Amazon S3 に VM イメージをアップロードするインポートタスクを開始して、AMI を作成します。インポートタスクが完了した後、AMI からインスタンスを起動できます。他のリージョンに AMI をコピーでき、それらのリージョンでインスタンスを起動できます。

次の図は、仮想化環境から Amazon EC2 に VM を AMI としてエクスポートするプロセスを示しています。

  • インスタンスのインポート

最初に、エクスポートのために仮想マシンを準備して、サポートされているイメージ形式の 1 つをエクスポートします。次に、インポートタスクを開始して、Amazon S3 に VM イメージをアップロードし、停止したインスタンスとして起動させます。インポートタスクが完了した後、インスタンスから AMI を作成できます。他のリージョンに AMI をコピーでき、それらのリージョンでインスタンスを起動できます。以前インポートしたインスタンスを仮想化環境にエクスポートすることもできます。

次の図は、仮想化環境から Amazon EC2 に VM を インスタンスとしてエクスポートするプロセスを示しています。

インポートした EC2 インスタンスをエクスポートするには、Amazon EC2 の API ツールを使用します。ターゲットのインスタンス、仮想マシンファイルフォーマット、および出力先の S3 バケットを指定するだけで、インスタンスが自動的にその S3 バケットにエクスポートされます。このエクスポートされた VM は、ダウンロードしてオンプレミスの仮想化インフラストラクチャ内で起動できます。

Amazon EC2 でインスタンスを実行

Amazon EC2 では、オペレーティングシステムからアプリケーションに至るまで、インスタンスに関するあらゆることをセットアップして設定することができます。Amazon マシンイメージ(AMI)は、シンプルなパッケージ環境であり、インスタンスをセットアップして起動するのに必要なものはすべて含まれています。AMI は、インスタンスのデプロイのユニットです。1つの AMI のみを保有することもでき、また複数の AMI(例: ウェブサーバー、アプリケーションサーバー、データベース)をシステムの構成要素として構築してもかまいません。Amazon EC2 は、数多くのツールを提供しており、AWS マネジメントコンソールなどの AMI を簡単に作成することができます。

また、便利なインスタンスを提供する、世界中で利用可能な AMI のライブラリから選択することもできます。例えば、シンプルな Linux サーバーのみが欲しい場合、標準の Linux ディストリビューション AMI の1つを選択することができます。アカウントをセットアップして AMI をアップロードしたら、インスタンスの起動準備が整っています。RunInstances API を呼び出すことによって、AMI から任意の数と種類のインスタンスを起動することができます。