EC2 - toge510/aws GitHub Wiki

  • Amazon Elastic Compute Cloud (Amazon EC2)
  • 仮想サーバーを提供するサービス
  • OSからCPU、メモリ、ストレージなどの構成を選択して、仮想サーバーを起動できる。

ユーザーデータ

Amazon EC2 でインスタンスを起動するとき、起動後にそのインスタンスにユーザーデータを渡し、一般的な自動設定タスクを実行したり、スクリプトを実行できる。

2 つのタイプのユーザーデータ

  • シェルスクリプト
  • cloud-init ディレクティブ

注意メモ

  • 最初の起動サイクル中にのみ実行
  • スクリプトはルートユーザーとして実行。そのため、スクリプトでは sudoコマンドを使用しない。作成したファイルはすべてルートユーザーの所有になる。
  • ユーザーデータスクリプトを処理すると、/var/lib/cloud/instances/instance-id/ にコピーされ、実行される。
  • 出力ログ:/var/log/cloud-init-output.log

References

起動テンプレート Launch Templates

  • 起動テンプレートを使用すると、後で再利用、共有、起動が可能な保存済みインスタンス設定を作成できる。
  • テンプレートには複数のバージョンを含めることができる。

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

  • オンデマンドインスタンス
    • 通常これ
    • 長期契約は必要なく、料金はコンピューティング性能に対して秒単位で発生。    
  • スポットインスタンス
    • 休止中の EC2 キャパシティーを使用するインスタンスで、オンデマンド価格より低料金で利用。
    • 中断のリスクがあるため、可用性を持った構成において使うと良い。オートスケールと組み合わせで使うなど。
  • Savings Plans
    • 節約プラン。
    • 一定のご利用量 ($/時間) を 1 年または 3 年分ご契約いただくことで、AWS のご利用料金を低く抑えることができる柔軟性のある料金モデル。
    • 特定のインスタンス設定にコミットする代わりに、使用量のコンピューティングにコミットすることで (10$/時間など)、簡単に料金の削減。
  • Reserved Instances
    • インスタンス属性、コミットメント期間によって割引されるインスタンス。
  • Dedicated Hosts 専有ホスト
    • EC2 インスタンス容量を利用したお客様専用の物理サーバー。
  • On-Demand Capacity Reservations
    • オンデマンドEC2 インスタンスのコンピューティング能力を予約。
    • 大量のオンデマンドインスタンスを使用する場合に使用する。

休止 hibernation

  • 休止状態に入ると、インスタンスメモリ (RAM) に置かれていた内容が、Amazon Elastic Block Store (Amazon EBS) のルートボリュームに保存される。
  • インスタンスを再起動すると、EBS ルートボリュームは前の状態に復元する。

AMI (Amazon Machine Image)

  • AWS がサポートおよび管理するイメージで、インスタンスの起動に必要な情報を提供。
  • EC2 image Builderにより、イメージ作成のパイプラインを作成できる。ソフトウェアの更新などをしてバージョン管理できる。 

EBS (Elastic Block Store)

  • EBSは、EC2 インスタンスで使用するためのブロックレベルのストレージボリュームを提供する。
  • EBSストレージは永続化可能。
  • SnapshotをS3に保存可能。
  • AZ内で使用。
  • EBS Snapshot Archive: アーカイブしてストレージコストを節約。復元が有料。ほぼ使わないけど、たまに使うかもしれないSnapshotを対象とすべき。
  • Recycle Bin: ゴミ箱ルール(保存期間とか)。
  • DLM(Data Lifecycle Manager)を使用して、EBS スナップショットと EBS-backed AMI の作成、保持、削除を自動化。バックアップ自動化

※ EC2が利用するストレージとして、インスタンスストアがある。これは、一時ストレージ。
※ ルートボリュームとは、インスタンスを起動し実行するためのOSが割り当てられているAmazon EBSのボリューム。

  • ストレージタイプ
    • ブロックストレージ(EBS,インスタンスストア)
    • オブジェクトストレージ(S3)
    • ファイルストレージ(EFS)

ENI (Elastic Network Interface)

  • 仮想ネットワークカードを表す VPC 内の論理ネットワーキングコンポーネント。
  • EC2インスタンスにアタッチされる。
  • IP addressが割り当てられる。
  • Elastic Fabric Adapter (EFA) は、High Performance Computing (HPC) と機械学習アプリケーションを高速化するために Amazon EC2 インスタンスにアタッチできるネットワークデバイス。

プレイスメントグループ

  • 複数のEC2を論理的にまとめる仕組み(冗長性向上、ネットワーク性能向上)