🦓

EC2とは(🔰)

2023/07/04に公開

はじめに

わからない言葉だらけでだいぶ混乱しているので、
一旦基本から整理の自分メモです🥲

「クラウドコンピューティング」とは

インターネットなどのネットワーク経由で、クラウドサービス提供事業者の提供するコンピューター機能を利用する仕組み

分類 説明 代表的なサービス
IaaS ハードウェア部分、ネットワーク部分をクラウドサービスとして提供 AWS EC2、GCP GCE
PaaS OSまでの環境、OS上でアプリケーションを動かす環境をクラウドサービスとして提供 Salesforce、Heroku
SaaS アプリケーション、アプリケーション内のデータもすべてクラウドサービスとして提供される Slack、Gmail、iCloud

今まで使っていたローカルのサーバー環境は「オンプレミス」と呼ばれるようになりました。

AWSとは

  • Amazon Web Servicesの略
  • Amazonの提供するクラウドコンピューティングサービス
  • 仮想サーバー(EC2)、データストレージ(S3)、データベース(RDS)、ネットワーキング(VPC)、コンテンツ配信ネットワーク(CloudFront)など、多くのサービスを提供

利用するメリット

  • 拡張性

一度に必要なリソースだけを確保でき、需要が増えれば追加のリソースを短時間で追加することが可能です。ITインフラの拡張を迅速かつ容易に行うことができます。

  • コスト効率

実際に使用した分だけ課金されますので、大量のリソースを前もって購入する必要がありません。初期投資を抑えつつITコストを効率的に管理することができます。

  • 信頼性とセキュリティ

AWSは複数の地理的に分散したデータセンターを運用しているため、障害の影響を最小限に抑えることが可能です。また、強固なセキュリティ対策が施されており、データの保護を確実に行うことができます。

  • サービスの豊富さ

AWSは100以上のサービスを提供しています。これにより、データベース、ストレージ、分析、機械学習など、多岐にわたるニーズに対応することが可能です。

  • グローバルな範囲

AWSは世界中に広範なネットワークを持っています。
これにより、全世界どこからでもサービスを迅速に提供することが可能となります。

一方で様々なリスクもあります。
特に注意すべき点!

  • 従量課金制なので、利用しなくなったサービスの停止や削除は、各自で行う必要があります。
  • AWSのアクセス手段(IDやパスワード、キー情報)を漏洩しないように気を付ける。

EC2とは

  • Elastic Compute Cloudの略(Cが2つあるからEC2)
  • AWSのクラウド上でサーバーを実行するためのサービス
  • EC2では、この仮想サーバーのことを、「インスタンス」または「EC2インスタンス」と呼んでいる

EC2の仮想化技術

「仮想化(virtualization)」とは、単一の物理サーバー上で複数の仮想サーバーを実行する技術。

EC2の仮想化技術には、「HVM:ハードウェア仮想化方式(Hardware-assisted Virtual Machine)」と「準仮想化方式(PV:Paravirtualization)」があり、より多くのオペレーティングシステムをサポートできるため、現在はHVM形式が主流となっています。

ハードウェア仮想化方式(HVM)

  • 仮想マシンがまるで本物のコンピュータのように動作する方法。
  • 仮想マシン自体は自分が「仮想」であることを知らず、直接ハードウェアにアクセスしていると思って動作します。つまり、どんなオペレーティングシステムでもそのままの形で仮想マシン上で動かすことが可能です。
  • 全てを本物のハードウェアのように見せるための手間がかかるため、パフォーマンスが少し落ちることがあります。

準仮想化方式(PV)

  • 仮想マシンが自分が「仮想」であることを知って動作する方法。
  • 仮想マシンは、自分が仮想の世界にいることを理解し、ホストとなる本物のハードウェアと効率的に連携します。
  • パフォーマンスは良いのですが、オペレーティングシステム自体を特別に修正しなければならないため、全てのオペレーティングシステムが対応しているわけではありません。

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/virtualization_types.html

インスタンスの種類

EC2のネーミングポリシー

EC2のネーミングポリシーは、そのインスタンスの性能やユースケースを表す情報を含んでいます。

例えば、"t2.micro"というインスタンスタイプは、"t"ファミリー(汎用)の2世代目で、"micro"サイズのリソース(比較的小さいCPUとメモリ)を持つインスタンスを指します。

  • EC2作成時の画面

インスタンスファミリー

インスタンスタイプの主なユースケースを示します。
例えば、"t"は汎用、"m"はメモリ最適化、"c"は計算最適化、"r"はメモリ集約型、"g"はグラフィックス集約型、"i"はI/O集約型、などです。

インスタンス世代

ハードウェアの世代またはバージョンを示します。
例えば、"m5"はメモリ最適化ファミリーの5世代目のインスタンスタイプを指します。

追加機能

インスタンスファミリーは、追加されるオプションによってさらに細分化されます。

オプション 説明 特徴
d インスタンスストアを追加したインスタンスファミリー ・ インスタンスストアはインスタンス自体に直接アタッチされた一時的なブロックレベルストレージで、EC2インスタンスの寿命と同じ
・高速なI/O性能が必要で、永続的なデータ保管が必要なかったり、別途データを永続化する方法があるワークロードに最適
n ネットワーク帯域幅を追加したインスタンスファミリー ・ 高速なネットワーク性能が必要なワークロードに向いている。
・高度なデータ分析、分散コンピューティングなど、ネットワークの帯域幅に依存するアプリケーションに対して優れた性能を提供
a AMDプロセッサを利用したインスタンスファミリー ・ IntelのXeonプロセッサを使用した同等のインスタンスに比べて低コストで利用することが可能

インスタンスサイズ

インスタンスのリソースの規模を示します。
サイズはnano、micro、small、medium、large、xlarge、2xlarge等のようになります。
サイズが大きいほど、そのインスタンスタイプに割り当てられるCPU、メモリ、ストレージ等のリソースも大きくなります。

さいごに

長くなってしまうので、
次は、EC2のネットワーク構成〜また、まとめていきたいと思います。

Discussion