AWS EC2についての概要を説明 | EC2 (Elastic Compute Cloud)
AWS EC2について
AWS EC2 (Elastic Compute Cloud)の概要について記載します。
EC2とは
AWSが提供している仮想サーバを構築するWEBサービスです。
EC2の主な機能
・インスタンスと呼ばれる仮想サーバ環境の作成。
・Amazon machine image (AMI)というインスタンスに設定するOS環境とソフトウェア環境の組み合わせの設定。
・インスタンスタイプと呼ばれる、インスタンスの仮想CPU数、メモリ、ストレージ、ネットワークパフォーマンス、IPV6有無等の組み合わせの設定。
・キーペアの作成とそれを利用したインスタンスへのログイン認証。(秘密鍵、公開鍵を使ったログイン認証)
・インスタンスストアボリューム、一時的な記憶領域。
・Amazon EBS(Elastic Block Store) ボリューム、永続的な記憶領域。
・リージョンおよびアベイラビリティーゾーンと呼ばれるデータセンターの利用。
・セキュリティグループ、仮想ファイアウォールとして機能。
・Elastic IP アドレス、静的な IPv4 アドレスをサーバに付与する機能。
・ユーザ独自の仮想ネットワーク環境(VPC)
AMI
EC2ではインスタンス(仮想サーバ)を構築する際に、サーバのOS環境とソフトウェア環境の組み合わせ(AMI)を設定する事ができます。
AMIはLINUX、WindowsなどのOSとプログラミング言語やデータベース管理ソフトなどのソフトウェアの組み合わせがテンプレート化された物で、サーバ構築時に既存のAMIを使用するだけでなく、独自のカスタマイズしたAMIを保存し、新規のサーバに流用したり、共有、販売する事が可能です。
インスタンスタイプ
インスタンスタイプは仮想CPU数、メモリ、ストレージ、ネットワークパフォーマンス、IPV6有無等の組みわせで構成されており大きく5つの用途に分類されます。用途毎に更に4〜9種類程のインスタンスタイプが用意されており(合計33種類)、その中でメモリやCPU数等のリソースサイズが選択できます。用途毎の特徴を下記に簡単に記載します。
・汎用:バランスの取れたリソースの構成になっており、WEBサーバやコードリポジトリ等での使用に最適です。
・コンピューティング最適化:処理性能に特化した構成になっており、機械学習推論やゲームサーバ等での使用に最適です。
・メモリ最適化:8GB〜24TBの大容量メモリが搭載されており、メモリ内の大きいデータセットを処理するワークロードに対して高速なパフォーマンスを実現するように設計されています。
・高速コンピューティング:GPUが搭載されたタイプなどがあり、浮動小数点計算、グラフィックス処理、データパターン照合に適した設計がされています。
・ストレージ最適化:48TBのHDDや60 TB の NVMe SSD など、大容量のストレージが用意されており、大規模データセットに対する頻繁なアクセスをするのに最適です。
インスタンスストア、EBS
EC2のストレージにはインスタンスストアとEBSの2種類のストレージがあり、それぞれ下記のような特徴があります。
・インスタンスストアは一部のインスタンスタイプに付属しており、付属してきた分だけ利用できます。EC2と同じ領域に保存されるため、インスタンスの停止・終了した場合にデータを保持できません。
・EBSはEC2に追加可能なストレージサービスで、ストレージ 30 GB、I/O 200 万回、スナップショットストレージ 1 GB が無料で使用できます。それ以上の利用は重量課金制となっており、利用した分だけの支払いが必要です。EC2とは別の領域に保存されるため、インスタンスの停止・終了してもデータが保持されます。
リージョン、アベイラビリティーゾーン(AZ)
リージョン、アベイラビリティゾーンと言うのはインスタンスが作成されるデータセンターの場所の事です。リージョンは東京、大阪等の地域の単位で、アベイラビリティゾーンはそのリージョン内でいくつかに区分けされているデータセンターの集合体の単位です。
AZ同士は物理的に隔離された場所にあるため、複数のAZにインスタンスを作成して冗長化構成にすると可用性の高い構成です。
セキュリティグループ
インスタンスに対する通信をインバウンド(インスタンスへの通信)とアウトバウンド(インスタンスからの通信)で許可できる仮想ファイアフォールの仕組みです。
特徴としてステートフルな機能で通信の状態を保持しているため、許可された通信に対しての戻りトラフィック、許可された通信に対する応答は許可されます。つまり、インバウンドに対する応答のアウト通信はアウトバウンドルールにかかわらず通過し、アウトバウンドに対する応答のイン通信はインバウンドルールにかかわらず通過します。
(ステートレスな通信の場合、状態が保持されないので、インバウンド、アウトバウンドどちらも許可していないと、一方的な通信しかできず応答を受け取る事ができません。)
Elastic IP アドレス
Elastic IP アドレスはインスタンスに対して静的なIPアドレス(固定されたIPアドレス)を設定できる機能です。
デフォルトではEC2には動的なIPアドレスが設定されるため、サーバ停止して立ち上げると、IPアドレスが変更されます。
WEBサーバを公開する時などIPアドレスを固定したい時に利用します。
VPC
EC2はVPCと言うAWSの仮想ネットワーク環境上に作成されます。
最後に
簡単にサーバ構築をして利用する事が可能なため、業務での利用だけでなく、個人で使用してみるのもありかもしれないなと感じました。サーバレンタルする程ではないがお試しで少しだけ利用してみたい時などはお得に利用する事が出来るのではと思います。(EC2のt2.microというインスタンスタイプであればAWSサインアップから12カ月間無料で使用可能。)