【AWS資格】 EC2(Elastic Compute Cloud)

当ページのリンクには広告が含まれています。

EC2とは、Elastic Compute Cloudの頭文字の略です。
(Compute Cloudの頭文字Cが2つあるため、EC2になった模様)

AWSの主要サービスベスト10には入るサービスと思います。

EC2は端的に言うと、「仮想サーバ」です。

数分で利用可能となるオンデマンドの従量課金性(数秒単位)で利用可能です。

要は、使用した分だけ払ってくださいねっと言うことです。

EC2を立ち上げるところから、各種専門用語について解説していきます。

目次

EC2インスタンスを起動する

AMI(エー・エム・アイ)を選択

AMIとは、EC2インスタンスを作成する際に必要となる仮想サーバイメージのことを言います。
(Amazon Machine Imageの略です)

AMIは以下の種類が提供されていて、それを使って、EC2インスタンスを作成します。

  1. AWS提供(WindowsOSや各種Linuxディストリビューション)のイメージ
  2. AWS Marketplaceで購入できる各種ソフトウェアのインストール済みのイメージ
  3. 利用者が作成したカスタムAMIのイメージ

インスタンスタイプの選択

インスタンスタイプは、EC2インスタンスのマシンスペックを規定する仮想CPUコア数や

メモリ容量などの組み合わせで、そのバランスによって、インスタンスファミリと呼ばれる

グループに分けられます。

インスタンスタイプとは、インスタンスファミリ&インスタンス世代とインスタンスサイズで構成されています。

詳しくはこちらをご確認ください。

インスタンスファミリの選び方

インスタンスファミリにより、用途が以下のように分けられています。

用途インスタンスファミリ
汎用(バランス重視)t
m
a
mac
コンピューティングの最適化(CPU重視)c
高速コンピューティング(GPU)p
inf
g
f
メモリ最適化r
x
ハイメモリ
z
ストレージの最適化i
d
h

色々あって迷うと思います。

そう言う場合は、汎用(バランス重視)の「m」を基準に考えることがポイントです。

私が構築したあるシステムでは、1日のうち使用頻度が少ないものは、「t2.micro」

にしてます。2年ほど運用していますが、問題なく稼働してます。

もし、レスポンスが悪くなったりしたら、インスタンスタイプを上げようというスタンスです。

ここは、業務要件によってまちまちなので、ケースパイケースで決めてください。

インスタンスの購入方法

インスタンス購入種類内容
オンデマンドインスタンス通常のインスタンス購入方式
リザーブドインスタンス一年または三年の期間利用を予約することで、通常のオンデマンド料金に比べて大幅な割引価格が適用される。
スタンダードとコンバーティブルの2種類あり、コンバーティブルが後からの
変更要素が多いため、値引率はスタンダートと比べると若干少ない。
物理対応可能なインスタンス物理サーバにインスタンスを起動して制御が可能なタイプのインスタンス
・ハードウェア専有インスタンス
 ✅ 専用HWのVPCで実行されるEC2
 ✅ ホストHWのレベルで、他のAWSアカウントに属するインスタンスから物理的に分離する
 ✅ 同じAWSアカウントのインスタンスとはHWを共有する可能性がある
・Dedicated Host
 ✅ EC2容量を完全にお客様専用として利用できる物理サーバ
 ✅ サーバにバインドされた既存のソフトウェアライセンスを利用可能
・Bare Metal
 ✅ アプリケーションが基盤となるサーバーのプロセッサーとメモリーに直接アクセス可能なインスタンス
 ✅ AWSの各種サービスとの連携が可能でOSが直接下層のハードウェアにアクセス可能
スケジュールドリザーブドインスタンス1年間にわたり毎日、毎週、または毎月ベースの指定された開始時間で繰り返しキャパシティ予約を購入する。
継続的には実行されないが定期的なスケジュールで実行されるワークロードに利用する。
※2021年5月時点では、オレゴンリージョンのみの機能です
スポットインスタンス未使用のEC2(予備用)を入札式で利用するため、オンデマンドインスタンスに
比べて最大90%引きで利用できる。
ただし、起動に時間がかかったり、予備用のため途中で削除される可能性がある
➡️一時的な拡張などの用途で利用が良い
Saing Plan1〜3年の期間に一定の使用料を守ることによりAmazonEC2コストを削減する
✅ リザーブドインスタンスと同様に、1年または3年の期間に特定量の処理能力(USD/時間で測定)を使用する契約を結ぶことで適用される割引契約
✅ AWSコンピューティング使用料金を最大72%節約できる
✅ EC2、Fargate、Lambdaに適用可能

ストレージの選択

ストレージ種類

EC2に接続できるストレージは次の2種類があります。

ストレージ種類内容
EBS(Elastic Block Store)EBSはAZ内に作成されるネットワーク接続型のストレージで、不揮発性(永続的なデータボリューム)と言う特徴がります。
費用は有料です。
インスタンスストアEC2の物理ホストの内蔵ストレージで、揮発性(一時的なデータボリューム)という特徴があり、EC2を停止すると保存されていたデータは削除されます。
費用は無料です。(EC2の費用に含まれる)

EBSボリュームタイプ

EBSには、3つのタイプがあります。内訳はこんな感じです。

General Purpose SSDProvisioned IOPS SSDMagnetic
ボリュームサイズ1GiB~16TiB4GiB~16TiB1GiB~1TiB
IOPS3 IOPS/GBのベースパフォーマンス
最大10,000 IOPS
ベースパフォーマンスが3,000 IOPS未満の
場合、3,000 IOPSまでのバースト機能
容量(GB)の30倍までのIOPSを指定
最大 20,000 IOPS
平均100 IOPS
価格容量のみ容量
指定した性能(IOPS)
容量
発生したIO数
ユースケース一般(汎用)10,000 IOPSを超える性能が求められるアプリ・DBIOがあまり発生せず、コストが重視されるマシン

※IOPS (Input /Output Per Second)・・・1秒あたりにディスクが処理できるI/Oアクセスの数

Provisiond IOPS SSDはEBSディスク性能を高めることができますが、

EBSはネットワーク型のストレージのため、ネットワークがボトルネックになります。

通常のEC2では、業務ネットワークの帯域とEBSのディスクI/Oの帯域が競合した状態です。

そこで、EC2を「EBS最適化インスタンス」と言うタイプで起動するとEBSのディスクI/O

専用の帯域が確保され、EBSのディスクI/Oが安定化します。

セキュリティグループ

EC2のファイアーフォールであるセキュリティグループの設定をします。

EC2は少なくとも1つのセキュリティグループを適用する必要があり、

新しいセキュリティグループを作成するか、既存のセキュリティグループを設定します。

通信制御

インバウンドとアウトバウンドの設定を行います。

これにより、EC2へのアクセスやEC2からのアクセスが可能になります。

インバウンドとは外部から内部への通信

アウトバウンドとは内部から外部への通信

のことを言います。

公開鍵認証方式

EC2にログインするためにキーペアを使います。

キーペアとは公開鍵と秘密鍵を使った技術です。こんなイメージです。

ユーザデータの活用

ユーザデータはOSの起動スクリプトで、EC2の初回起動(作成時)に初期設定を自動設定される

ようにすることです。

例えば、「Apache Webサーバをインストールして、サービスを自動起動にしたい」と言う

のをEC2作成後に手動で毎回設定することを自動化できると言うことです。

設定するコマンドは以下のようなイメージです。一例です。

コマンド説明
sed -i ‘s/^HOSTNAME=[a-zA-Z0-9¥.¥-
]*$/HOSTNAME=KiYO-SV/g’
ホスト名をKiYO-SVに変更する
/etc/sysconfig/network
hostname ‘KiYO-SV’
ネットワークホスト名をKiYO-SVに
変更する
cp /usr/share/zoneinfo/Japan
/etc/localtime
日本の時間帯をコピー
sed -i ‘s|^ZONE=[a-zA-Z0-9¥.¥-
¥”]*$|ZONE=”Asia/Tokyo”|g’
/etc/sysconfig/clock
サーバーの時間帯を日本の時間帯に設定
echo “LANG=ja_JP.UTF-8” >
/etc/sysconfig/i18n
言語設定をja_JP.UTF-8に設定
sudo yum update -yソフトウェアの更新状況を確認にする
sudo install httpd -yサーバーにApacheをインストールする

EC2作成後に決まるID等はメタデータを使って設定します。

メタデータは以下のものがあります。一例です。

メタデータ説明
ami-idインスタンスの作成に使用されたAMI ID
hostnameホスト名
iam/security-credentials/role-nameIAMロール名
instance-idインスタンスのID
local-ipv4プライベートIPアドレス
public-ipv4Public/ElasticIPアドレス

AMIの活用

先に説明したようにAMIイメージからOS選択し、EC2を作成することが出来ます。

逆に、EC2の内容をAMIにすることが出来ます。

EC2のバックアップや、複製として使用できます。

AMIはリージョンにおいて一意のものであるため、他のリージョンではそのまま使用できません。

AMIを利用してEC2の構築・バックアップ・共有が可能になります。

用途説明
OSの選択利用したいサーバのOSの選択としてAMIを利用
利用していたサーバを復元する際にAMIを利用
EC2のバックアップ既存のEC2インスタンスからAMIを作成できる
EC2インスタンスをバックアップとして構成内容を保存する。 EBSボリュームのスナップショットも含まれる
ゴールデンイメージ最適なEC2インスタンスの構成をAMIとした上で、構成を複数利用することができる。
最適なEC2インスタンス構成を反映したAMIをゴールデンイメージと呼ぶ
AMIの共有AMIを共有するユーザのAWSアカウント番号を指定することで他のアカウントに共有可能
リージョンの移動AMIはリージョン内でのみ利用可能
別リージョンにコピーは可能。このAMIはそのリージョンのAMIとして別AMIとなる。

EBSの概要

先に説明したように、EBSはEC2と共に利用されるストレージです。

EBSの特徴

EBSの特徴として、以下のことが挙げられます。

  1. ネットワークで接続されたブロックレベルのストレージでEC2とは独立管理
  2. EC2を終了してもEBSデータは保持可能
  3. SnapshotをS3に保持可能
  4. 別途EBS料金が必要
  5. ボリュームデータはAZ内で複数のHWにデフォルトでレプリケートされており、冗長化不要
  6. セキュリティグループによる通信制御対象がで有り、全ポートを閉じてもEBSは利用可能
  7. データは永続的に保存
  8. EC2インスタンスは他のAZ内のEBSにはアクセスできない
  9. EC2インスタンスに複数のEBS接続することはできるが、EBSを複数インスタンスで共有することはできない
  10. ただし、プロブジョンドIOPSのみ複数インスタンスで共有することが可能となった
  11. 同じAZ内のインスタンスのみ付け替えが可能

スナップショットの特徴

EBSはスナップショットを利用してバックアップを取得します。

スナップショットの特徴として、以下のことが挙げられます。

  1. スナップショットでバックアップ可能
  2. スナップショットからEBSを復元する際は別AZにも可能
  3. スナップショットはS3に保存される
    • スナップショットの2世代目以降は増分データを保存する増分バックアップとなる(1世代目を削除しても復元は可能)
    • スナップショット作成時にブロックレベルで圧縮して保管するため、圧縮後の容量に対して課金が行われる
  4. スナップショット作成時でもEBSは利用可能である。
  5. スナップショットはリージョン間を跨いで利用可能
  6. スナップショットは権限を変更することで、他のアカウントに移譲することが可能

スナップショットとAMIの違い

データのバックアップという意味では同じような感じですが、それぞれの違いを見てみます。

  1. AMI
    • EC2インスタンスのOS設定などをイメージとして保持して、新規インスタンス設定に転用するもの
  2. Snapshot
    • ストレージ・EBSのその時点の断面のバックアップとして保持するもの
    • ストレージの復元や複製に利用

プレースメントグループ

AWSのリージョンにある各AZは、自然災害などに対して冗長性を担保するために、

地理的に離れた場所にあります。

そのため、リージョン内のAZ間は専用線で接続されているものの、異なるAZ内の

EC2へのアクセスには多少のレスポンス遅延が発生します。

そこで、単一AZにプレイスメントグループを作成し、その中にEC2を作成すると

EC2間のネットワーク接続を高速化することが出来ます。

プレイスメントグループは3種類あります。

プレイスメントグループ          説明
クラスター✅ 単一AZ内のインスタンスを論理的にグループ化した構成
✅ 同じリージョン内の複数のピア VPC にまたがることも可能
✅ グループ内のインスタンスは、TCP/IP トラフィックのフローあたりのスループット上限が高くなり、ネットワークの二分帯域幅の広い同じセグメントに配置されインスタンス間通信が向上する
✅ 低いネットワークレイテンシー、高いネットワークスループットを実現するアプリ ケーション向けの構成
パーティション✅ EC2 は各グループをパーティションと呼ばれる論理的なセグメントに分割した構成
✅ プレイスメントグループ内の各パーティションにそれぞれ一連のラックがあり、プレイスメントグループ内のパーティション同士が同じラックを共有しない。
✅ ラックを分離することで、アプリケーション内でのハードウェア障害による影響を隔離して、軽減する。
スプレッド✅ それぞれに独自のネットワークおよび電源がある異なるラックに別々に配置できるインスタンスのグループ
✅ 1 つのAZ内の、スプレッドプレイスメントグループに配置された 7 つのインスタンス は、7 つの異なるラックに配置される。
✅ 少数の重要なインスタンスが互いに分離して保持できる。インスタンスが同じラック を共有するときに発生する可能性のある同時障害のリスクを軽減する。

次は「S3」について解説します。

「VPC」についてはこちらを確認下さい。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ITの事や自分の経験談など綴っていきたいと思っています。

コメント

コメントする

CAPTCHA


目次