EC2 とは

#EC2
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/concepts.html

> Amazon Elastic Compute Cloud (Amazon EC2) は、アマゾン ウェブ サービス (AWS) クラウドでサイズが変更できるコンピューティングキャパシティーを提供します。Amazon EC2 の使用により、ハードウェアに事前投資する必要がなくなり、アプリケーションをより速く開発およびデプロイできます。Amazon EC2 を使用して必要な数 (またはそれ以下) の仮想サーバーを起動して、セキュリティおよびネットワーキングの設定と、ストレージの管理を行います。Amazon EC2 では、要件変更や需要増に対応して迅速に拡張または縮小できるため、サーバートラフィック予測が不要になります。

##Amazon EC2 の機能

* インスタンスと呼ばれる仮想コンピューティング環境
* サーバーに必要なビットをパッケージ化した (オペレーティングシステムおよび追加のソフトウェアを含む)、Amazon Machine Image (AMI) と呼ばれる、インスタンス用に事前に設定されたテンプレート。
* インスタンスタイプと呼ばれる、インスタンス用の CPU、メモリ、ストレージ、ネットワーキングキャパシティーのさまざまな構成
* キーペアを使用したインスタンス用の安全なログイン情報 (AWS はパブリックキーを保存し、ユーザーはプライベートキーを安全な場所に保存します)。
* インスタンスストアボリュームと呼ばれる、インスタンスを停止または終了するときに削除される一時データ用のストレージボリューム
* Amazon EBS ボリュームと呼ばれる、Amazon Elastic Block Store (Amazon EBS) を使用したデータ用の永続的ストレージボリューム
* リージョンおよびアベイラビリティーゾーンと呼ばれる、インスタンスや Amazon EBS ボリュームなどのリソース用の複数の物理的な場所
* セキュリティグループを使用してインスタンスに到達可能で、プロトコル、ポート、ソース IP 範囲を指定できるファイアウォール
* Elastic IP アドレスと呼ばれる、動的クラウドコンピューティング用の静的な IPv4 アドレス
* タグと呼ばれ、作成して Amazon EC2 リソースに割り当てることができるメタデータ
* 残りの AWS クラウドから論理的に分離され、ユーザー独自のネットワークにオプションで接続できる、仮想プライベートクラウド (VPC) と呼ばれる仮想ネットワーク

##Amazon EC2 の料金表
* オンデマンドインスタンス
    * 秒単位で使用するインスタンスに対して支払いを行い、長期的な確約や前払い金は不要です。

* Savings Plans
    * 1〜3 年の期間、1 時間 につき USD で、定期的な使用量を守ることにより Amazon EC2 コストを削減できます。

* リザーブドインスタンス
    * 1〜3 年の期間、インスタンスタイプとリージョンを含む特定のインスタンス設定を守ることにより Amazon EC2 コストを削減できます。

* スポットインスタンス
    * 未使用の EC2 インスタンスをリクエストして、Amazon EC2 コストを大幅に削減できます。

##リージョン、アベイラビリティーゾーン、および ローカルゾーン
###概念
> 各リージョンは完全に独立しています。各アベイラビリティーゾーンは独立していますが、リージョン内のアベイラビリティーゾーンは低レイテンシーのリンクで接続されています。ローカルゾーン は、厳選したサービスをエンドユーザーのより近くに配置する AWS インフラストラクチャのデプロイです。ローカルゾーン は、リージョンの拡張であり、ご利用のリージョンとは別の場所に設定されます。AWS インフラストラクチャに広帯域幅のバックボーンを提供し、機械学習などのレイテンシーの影響を受けやすいアプリケーションに最適です。次の図に、リージョン、アベイラビリティーゾーン、および ローカルゾーン の関係を示します。



###リージョン
> インスタンスを起動するときは、同じリージョン内にある AMI を選択する必要があります。AMI が別のリージョンにある場合は、使用しているリージョンに AMI をコピーできます。詳細については、「AMI のコピー」を参照してください。

###アベイラビリティーゾーン
> インスタンスを起動するときに、アベイラビリティーゾーンを自分で選択するか、自動的に選択されるようにできます。インスタンスを複数のアベイラビリティーゾーンに配布する場合は、1 つのインスタンスで障害が発生したら別のアベイラビリティーゾーンのインスタンスが要求を処理するように、アプリケーションを設計できます。

また、Elastic IP アドレスを使用すると、あるアベイラビリティーゾーンのインスタンスの障害を、別のアベイラビリティーゾーンのインスタンスにアドレスをすばやく再マッピングすることによってマスクできます。

###ローカルゾーン
> ローカルゾーン は、ユーザーに近い場所に位置する、AWS リージョンの拡張です。インスタンスを起動するときに、ローカルゾーン のサブネットを選択できます。ローカルゾーン は、インターネットへの独自の接続を持ち、AWS Direct Connect をサポートしています。したがって、ローカルゾーン で作成したリソースは、非常に低いレイテンシーの通信を使用してローカルユーザーにサービスを提供できます。


> us-west-2のみ可能

> ローカルゾーン を無効にする場合は、AWS サポートに連絡する必要があります。

AWS Local Zonesとは
https://hacknote.jp/archives/54928/


###ネットワーク境界グループ
> ネットワーク境界グループは、AWS が IP アドレスをアドバタイズするアベイラビリティーゾーンまたは ローカルゾーン の一意のセットです。ネットワーク境界グループから次のリソースを割り当てることができます。


###別のアベイラビリティーゾーンへのインスタンスの移行
> インスタンスから AMI を作成します。手順は、オペレーティングシステムとインスタンスのルートデバイスボリュームの種類によって異なります。詳細については、使用しているオペレーティングシステムとルートデバイスボリュームに対応するドキュメントを参照してください。

* Amazon EBS-Backed Linux AMI の作成

* instance store-backed Linux AMI の作成

* Amazon EBS-backed Windows AMI の作成

> インスタンスのプライベート IPv4 アドレスを維持する必要がある場合は、現在のアベイラビリティーゾーンのサブネットを削除してから、新しいアベイラビリティーゾーンに元のサブネットと同じ IPv4 アドレス範囲のサブネットを作成する必要があります。サブネットを削除する前に、その中のすべてのインスタンスを終了する必要があります。したがって、サブネットのすべてのインスタンスから AMI を作成し、現在のサブネットのすべてのインスタンスを新しいサブネットに移動できるようにする必要があります。

##ネットワーキング機能とストレージ機能
* IPv6 は、現行世代のすべてのインスタンスタイプと、旧世代の C3、R3、I2 のインスタンスタイプでサポートされています。
* インスタンスタイプのネットワーキングと帯域幅のパフォーマンスを最大化するには、次のことを実行できます。
    * サポートされるインスタンスタイプをクラスタープレイスメントグループで起動し、ハイパフォーマンスコンピューティング (HPC) アプリケーション用にインスタンスを最適化します。共通のクラスタープレイスメントグループのインスタンスは、高帯域幅、低レイテンシーのネットワーキングから利点を得られます。
    * サポートされる現行世代のインスタンスタイプ用の拡張ネットワーキングを有効にして、パケット毎秒 (PPS) のパフォーマンスを大幅に高め、ネットワークのストレスとレイテンシーを低減することができます。


##インスタンス購入オプション

* [オンデマンドインスタンス] – 
    * 起動するインスタンスに対して秒単位でお支払いいただきます。
* Savings Plans – 
    * 1〜3 年の期間、1 時間 につき USD で、一定の使用量を守ることにより Amazon EC2 コストを削減します。
* リザーブドインスタンス –
    *  1～3 年の期間、インスタンスタイプとリージョンを含む一定のインスタンス設定を守ることにより Amazon EC2 コストを削減します。
*  スケジュールされたインスタンス –
    *   1 年の期間、指定された定期的なスケジュールで常に使用できるインスタンスを購入します。
*   スポットインスタンス –
    *    未使用の EC2 インスタンスをリクエストして、Amazon EC2 コストを大幅に削減します。
*    Dedicated Hosts –
    *     完全にインスタンスの実行専用の物理ホストに対してお支払いいただき、既存のソケット単位、コア単位、または VM 単位のソフトウェアライセンスを持ち込んでコストを削減できます。
*     ハードウェア専有インスタンス –
    *      シングルテナントハードウェアで実行されるインスタンスに対して、時間単位でお支払いいただきます。
*      キャパシティーの予約 –
    *       特定のアベイラビリティーゾーンの EC2 インスタンスに対して任意の期間キャパシティーを予約します。

###スケジュールされたリザーブドインスタンス
> スケジュールされたインスタンスは、継続的には実行されないが定期的なスケジュールで実行されるワークロードに適しています。たとえば、営業時間中に実行するアプリケーションや週末に実行するバッチ処理に、スケジュールされたインスタンスを使用できます。

> キャパシティーの予約が連続して必要な場合、リザーブドインスタンス がニーズを満たし、コストを削減できる可能性があります。詳細については、「リザーブドインスタンス」を参照してください。インスタンスをいつ実行するか特に決めていない場合、スポットインスタンス が要件を満たし、コストを削減できる可能性があります。詳細については、「スポットインスタンス」を参照してください。

###自動モニタリングと手動モニタリング

####自動モニタリング
* System Status Checks
* インスタンスステータスのチェック
* Amazon CloudWatch Alarms
* Amazon CloudWatch Events
* Amazon CloudWatch Logs
* Amazon EC2 Monitoring Scripts
* AWS Management Pack for System Center Operations Manager

###ステータスチェック
ステータスチェックには、システムステータスチェックとインスタンスステータスチェックの 2 種類があります。

* システムステータスチェック
    * AWSシステムを監視します。
* インスタンスステータスチェック
    * 個々のインスタンスのソフトウェアとネットワークの設定をモニタリングします。