EC2について
EC2の概要
EC2とは
数分で利用可能となる従量課金で利用可能な仮想サーバー
・起動、ノード追加、削除、マシンスペック変更が数分で可能
・管理者権限で利用可能
・OSまでは提供されているタイプを選択することで自動設定され、OSより上のレイヤーを自由に利用可能
・独自のAmazon Machine ImageにOS設定を作成し、保存して再利用が可能
リザーブドインスタンス
利用期間を長期指定して利用する形式で、オンデマンドに比較して最大75%割安になる
◾️利用期間 ・スタンダード 1年(40%割引) 3年(60%割引)
・コンバーティブル 1年(31%割引) 3年(54%割引)
◾️AZ / インスタンスサイズ / ネットワークタイプ変更可否 ・スタンダード 有
・コンバーティブル 有
◾️インスタンスファミリー / テナンシー / 支払オプションの変更可否 ・スタンダード なし
・コンバーティブル 有
◾️リザーブドインスタンスマーケットプレイスでの販売可否 ・スタンダード 可能
・コンバーティブル 今度可能となる予定
◾️ユースケース ・一定した状態または使用量が予測可能なワークロード ・災害対策などキャパシティ予約が可能なアプリケーション
スポットインスタンス
予備のコンピューティング容量を、オンデマンドインスタンスに比べて割引(最大90%引き)で利用できるEC2インスタンス
・予備用を入札式で利用するためとても安い(最大90%引き)
・起動に通常よりも少し時間がかかる
・予備用のため途中で削除される可能性がある →一時的な拡張などの用途で利用
Saving Plan
1〜3年の期間に一定の使用量を守ることによりAmazon EC2コストを削減する ・リザーブドインスタンスと同様に、1年または3年の期間に特定の量の処理能力(USD / 時間で測定)を使用する契約を結ぶことで適用される割引契約
・AWSコンピューティング使用料金を最大72%節約できる
・Amazon EC2、AWS Fargate、AWS Lamdbaに適用可能
キャパシティの予約
特定のアベイラビリティーゾーンのEC2インスタンスに対して任意の期間キャパシティを予約する
◾️期間 ・キャパシティーの予約 コミットメントは不要で必要に応じて作成及びキャンセル可能
・リザーブドインスタンス 固定の1年または3年のコミットメントが必要
・Saving Plan 固定の1年または3年のコミットメントが必要
◾️キャパシティの利点 ・キャパシティーの予約 特定のAZで予約されるキャパシティー
・リザーブドインスタンス 特定のリージョンで予約されるキャパシティー
・Saving Plan なし
◾️請求割引 ・キャパシティーの予約 なし
・Saving Plan 有
◾️インスタンスの制約 ・キャパシティーの予約 リージョンごとのオンデマンドインスタンス制限に制限
・リザーブドインスタンス AZまたはリージョンあたり20の制限 制限引き上げ申請可
・Saving Plan なし
物理対応可能なインスタンス
物理サーバーにインスタンスを起動して制御が可能なタイプのインスタンス
◾️ハードウェア専有インスタンス ・専有HWのVPCで実行されるEC2インスタンス ・ホストHWのレベルで、他のAWSアカウントに属するインスタンスから物理的に分離する ・同じAWSアカウントのインスタンスとはHWを共有する可能性がある
◾️Dedicated Host ・EC2インスタンス容量を完全にお客様専用として利用できる物理サーバー ・サーバーにバインドされた既存のソフトウェアライセンスを利用可能
◾️Bare Metal ・アプリケーションが基盤となるサーバーのプロセッサーとメモリーに直接アクセス可能なインスタンス ・AWSの各種サービスとの連携が可能でOSが直接下層のハードウェアにアクセス可能
ストレージ
EC2で直接利用するストレージは不可分なインスタンスストアと自分で設定するEBSの2つ
◾️インスタンスストア ・ホストコンピューターに内蔵されたディスクでEC2と不可分のブロックレベルの物理ストレージ ・EC2の一時的なデータが保持され、EC2の停止・終了と共にクリアされる ・無料
◾️Elastic Block Store(EBS) ・ネットワークで接続されたブロックレベルのストレージでEC2とは独立して管理される ・EC2をTerminateしてもEBSは保持可能でSnapshotをS3に保持可能 ・別途EBS料金が必要
EC2のバックアップ
EC2インスタンスは定期的にバックアップすることが重要
・定期的にバックアップをとる ・定期的にリカバリプロセスを確認する ・複数のAZに重要なアプリケーションをデプロイすること ・フェイルオーバー対応を準備すること ・イベントをモニタリングして対応できるようにすること ・インスタンス起動時に動的IPアドレス処理の設定を行うこと
EBS
EC2にアタッチされるブロックレベルのストレージサービス
◾️基本 ・OSやアプリケーション、データの置き場所など様々な用途で利用される ・実態はネットワーク接続型ストレージ ・99.999%の可用性 ・サイズは1GB〜16TB ・サイズと利用期間で課金
◾️特徴 ・ボリュームデータはAZ内で複数のHWにデフォルトでレプリケートされており、冗長化不要 ・セキュリティグループによる通信制御対象外で有り、全ポートを閉じてもEBSは利用可能 ・データは永続的に保存 ・EC2インスタンスは他のAZ内のEBSにはアクセスできない ・EC2インスタンスに複数のEBSを接続することはできるが、EBSを複数のインスタンスで共有することはできない ・他のインスタンスに付け替えできる
Snapshot
EBSはスナップショットを利用してバックアップを取得する
◾️特徴 ・Snapshotでバックアップ ・SnapshotからのEBSを復元する際は別AZにも可能 ・SnapshotはS3に保存される ・Snapshotの2世代目以降は増分データを保存する増分バックアップとなる(1世代目を削除しても復元は可能) ・Snapshot作成時にブロックレベルで圧縮して保管するため、圧縮後の容量に対して課金が行われる
Snapshot作成時はデータ整合性を保つため静止点の設定を推奨 ◾️Snapshot作成時はデータ整合性を保つため静止点の設定を推奨 ・ソフトウェアの機能を利用 ・ファイルシステムの機能を利用 ・バックアップソフトウェアの機能を利用 ・アプリケーションの停止 ・ファイルシステムのアンマウントなど
◾️保存期間や世代数は無制限 ◾️世代管理が必要な場合はAWSCLIやAPI等で自動化する
スナップショットとAMI
Amazon Machine ImageはOS設定のイメージで有り、Snapshotはストレージのバックアップとなる
◾️AMI ・EC2インスタンスのOS設定などをイメージとして保持して、新規インスタンス設定に転用するもの
◾️Snapshot ・ストレージ / EBSのその時点の断面のバックアップとして保持するもの ・ストレージの復元や複製に利用
EBSのボリュームタイプ
ユースケースに応じて性能やコストが異なる5種類のボリュームタイプから選択
◾️SSD ・汎用SSD →仮想ディスクトップ →低レイテンシーを要求するアプリ →小〜中規模のデータベース →開発環境
・プロビジョンドIOPS →高いI/O性能に依存するNoSQLやアプリ →10,000IOPSや160MB/s超のワークロード →大規模DB
◾️HDD ・スループット最適化HDD →ビックデータ処理 →DWH →大規模なETL処理やログ分析
・コールドHDD →ログデータなどアクセス頻度が低いデータ →バックアップやアーカイブ
◾️マグネティック →旧世代のボリュームで基本利用しない →データへのアクセス頻度が低いワークロード