【備忘】EC2の概要

# はじめに
##### ～AWS学習アウトプット第4弾～
AWS未経験者の私が学習したことをアウトプットし、将来的にはSAA合格を目指します。

今回は、**Amazon EC2** の基本的な内容をまとめます。




# 目次
・Amazon EC2 とは
・EC2の機能
　①Amazonマシンイメージ（AMI）を選択
　②インスタンスタイプ・インスタンスサイズを選択
　③キーペアの選択・作成を選択・作成
　④ネットワークを設定
　⑤ストレージを設定
・おわりに
・参考
  　
# Amazon EC2 とは
>Amazon Elastic Compute Cloud (Amazon EC2) は、Amazon Web Service (AWS) クラウドでオンデマンドのスケーラブルなコンピューティングキャパシティーを提供します。Amazon EC2 を使用することで、ハードウェアのコストを削減できます。これによりアプリケーションの開発とデプロイを迅速に行うことができます。Amazon EC2 を使用すると、必要な数 (またはそれ以下) の仮想サーバーの起動、セキュリティおよびネットワーキングの構成、ストレージの管理ができます。
：AWS公式サイトから引用

:::note warn
・EC2はAWSクラウド上で、**仮想サーバー**を提供する
・EC2を使用して作成した仮想サーバーのことを**EC2インスタンス**と呼ぶ
・**原則従量課金制**のため、利用した分だけ料金が発生する
・EC2インスタンスが稼働する**物理ハードウェアはAWSが管理**、**OSやミドルウェアなどはユーザーが管理**
:::



# EC2の機能
機能を整理するにあたって、まずはEC2でのインスタンスの作成手順を確認します。
【インスタンス作成手順】
①Amazonマシンイメージ（AMI）を選択
②インスタンスタイプ・インスタンスサイズを選択
③キーペアの選択・作成を選択・作成
④ネットワークを設定
⑤ストレージを設定

では、上記手順に沿って、概要を確認していきます。

## ①Amazonマシンイメージ（AMI）を選択
### Amazonマシンイメージ（AMI）とは
>Amazon マシンイメージ (AMI) は、AWS がサポートおよび管理するイメージで、インスタンスの起動に必要な情報を提供します。インスタンスを起動するときは、AMI を指定する必要があります。同じ設定で複数のインスタンスが必要な場合は、1 つの AMI から複数のインスタンスを起動できます。さまざまな設定のインスタンスが必要なときは、各インスタンスをそれぞれ異なる AMI から起動できます。
：AWS公式サイトから引用

:::note warn
・**EC2インスタンスを起動するために必要なOSやミドルウェアなどのテンプレート**のこと
・**AWSが提供するAMI**のほか、**独自で作成したAMI**や、**AWS Marketplace**に掲載されているものを選択できる
・**他AWSアカウントへ共有・公開することが可能**
・**EC2インスタンスの複製時にも使用**する
:::

AMIについて、わかりやすい記載がありましたので、よろしければご覧ください。

https://o2mamiblog.com/aws-ami-beginner/

### EC2インスタンスの複製手順
①複製元となるEC2インスタンスから**AMIイメージを複製**する
②複製の際、**複製先として別のリージョンを指定**する
③①②で複製したAMIで**新規のEC2インスタンスを作成**する


### 補足：AWS Marketplace とは
>AWS Marketplace は、お客様がサードパーティーのソフトウェア、データ、サービスを検索、購入、デプロイ、管理してソリューションを構築し、ビジネスを営むのに利用できる厳選されたデジタルカタログです。AWS Marketplace には、ヘルスケア、金融サービス、電気通信などの特定の業界におけるセキュリティ、ビジネスアプリケーション、機械学習、データ製品などの一般的なカテゴリから何千ものソフトウェアが出品されています。お客様は、数回クリックするだけで事前設定されたソフトウェアをすばやく起動し、ソフトウェアソリューションを Amazon マシンイメージ (AMI) 形式、Software as a Service (SaaS)、およびその他の形式で選択できます。
：AWS公式サイトから引用

https://docs.aws.amazon.com/ja_jp/marketplace/latest/userguide/what-is-marketplace.html



## ②インスタンスタイプ・インスタンスサイズを選択
### インスタンスタイプとは
>インスタンスを起動するときは、指定したインスタンスタイプによって、インスタンスに使用するホストコンピュータのハードウェアが決まります。インスタンスタイプごとに、コンピューティング、メモリ、およびストレージの機能が異なっており、これらの機能に基づいたインスタンスファミリーにグループ化されています。インスタンスタイプは、インスタンス上で実行するアプリケーションやソフトウェアの要件に基づいて選択します。
：AWS公式サイトから引用

:::note warn
・EC2インスタンスで使用する**サーバースペック**のこと
・**CPU、メモリ、ストレージ性能、ネットワークキャパシティーの組み合わせ**
:::


### インスタンスタイプの命名規則
>Amazon EC2 はさまざまなインスタンスタイプを提供しており、要件に最適なタイプを選択できます。インスタンスタイプは、ファミリー、世代、プロセッサファミリー、追加機能、サイズに基づいて名前が付けられています。インスタンスタイプ名の先頭は、インスタンスファミリーを表しています (例: c)。2 番目のポジションでは、そのインスタンスの世代を示しています (例: 7)。g などの 3 番目の文字は、プロセッサファミリーを示します。ピリオドの前の残りの文字は、インスタンスストアボリュームなどの追加機能を示しています。ピリオド (.) の後はインスタンスサイズです (ベアメタルインスタンスの場合は small、4xlarge、metal など)。
：AWS公式サイトから引用

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074902/1432bce7-d527-dc91-bad1-670d35e1c1f2.png)



**インスタンスファミリー**
・利用用途や特性に合わせたインスタンスタイプの分類のこと

**インスタンス世代**
・数字が大きいほど新しい世代を表す
・旧世代のインスタンスを使用し続けることは可能だが、新世代のインスタンスの方がパフォーマンスが高い

**インスタンスサイズ**
・各リソースのスペックのサイズを表す


### インスタンスファミリーの種類

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074902/d7a0f2bd-3137-d418-c6a5-9b9b2b6a8f56.png)

:::note info
・インスタンスタイプの選択で、コストの最適化をすることが可能
:::



## ③キーペアの選択・作成を選択・作成
>キーペアには、プライベートキーと公開キーを含んでおり、 Amazon EC2 インスタンスへの接続時の身分証明に使用する、セキュリティ認証情報のセットを構成しています。パブリックキーは、Amazon EC2 によりお客様のインスタンス内に保管されます。またプライベートキーは、お客様自身が保管します。Linux インスタンスの場合、プライベートキーにより、インスタンスへの安全な SSH 接続を可能にしています。キーペアの代わりに、インタラクティブなワンクリックのブラウザベースのシェルまたは AWS Command Line Interface (AWS CLI) を使用してインスタンスに接続するために、AWS Systems Manager Session Manager を使用できます。
：AWS公式サイトから引用

:::note warn
・**安全にEC2インスタンスに接続するための暗号鍵のペア（SSHキー）** のこと
・**「プライベートキー（秘密鍵）」** と **「公開キー（公開鍵）」** で構成される
・**プライベートキーはユーザー環境**で管理、**公開キーはAWS環境**で管理する
:::



## ④ネットワークを設定
・EC2インスタンスを配置するVPCやAZを選択
※EC2インスタンスはデフォルトで冗長化されていない


## ⑤ストレージを設定
### Amazon Elastic Block Store (Amazon EBS)
>Amazon Elastic Block Store (Amazon EBS) は、EC2 インスタンスで使用するためのブロックレベルのストレージボリュームを提供します。EBS ボリュームの動作は、未初期化のブロックデバイスに似ています。これらのボリュームは、デバイスとしてインスタンスにマウントできます。インスタンスにアタッチした EBS ボリュームは、インスタンスの有効期間とは無関係に存続するストレージボリュームとして公開されます。これらのボリューム上にファイルシステムを構築できます。または、これらのボリュームをブロックデバイス (ハードドライブなど) を使用する場合と同じ方法で使用できます。インスタンスにアタッチされているボリュームの設定は動的に変更できます。
：AWS公式サイトから引用

:::note warn
・EC2で使用するための**ブロックストレージサービス**（単体では機能しない）
・**処理速度を高速化**したいデータの保存に適している
・用途によって最適なボリュームを選択する必要がある
:::


### インスタンスストア
>インスタンスストアは、インスタンス用のブロックレベルの一時ストレージを提供します。このストレージは、ホストコンピュータに物理的にアタッチされたディスク上にあります。インスタンスストアは、バッファ、キャッシュ、スクラッチデータ、その他の一時的データのように頻繁に変化する情報の一時的なストレージに最適です。また、負荷分散されたウェブサーバーのプールなど、インスタンスのフリート全体で複製する一時データを保存するためにも使用できます。
：AWS公式サイトから引用

:::note warn
・**揮発性ブロックストレージサービス**
・**高IOPS、高スループット、低レイテンシー**という特徴を持つ
・揮発性のため、必要に応じてEBS・S3・EFSなどのストレージに手動でコピーする必要がある
:::

### Amazon EFS
>Amazon Elastic File System (Amazon EFS) は、サーバーレスで伸縮自在なファイルストレージを提供するため、ストレージ容量およびパフォーマンスのプロビジョニングや管理を行うことなくファイルデータを共有できます。Amazon EFS は、アプリケーションを中断することなく、ファイルの追加や削除に伴って自動的に伸縮し、ペタバイト規模までオンデマンドで拡張できるように構築されています。Amazon EFS はシンプルなウェブサービスインターフェイスを備えているため、ファイルシステムをすばやく簡単に作成して設定できます。このサービスでは、ユーザーに代わってすべてのファイルストレージインフラストラクチャを管理するため、複雑なデプロイ、パッチ適用、および複雑なファイルシステム設定の保守を行う必要がありません。
：AWS公式サイトから引用

:::note warn
・**ファイルストレージサービス**
・ファイルを**共有することができ、高速だが、その分高価**
:::


### Amazon S3
>Amazon Simple Storage Service (Amazon S3) は、業界をリードするスケーラビリティ、データ可用性、セキュリティ、およびパフォーマンスを提供するオブジェクトストレージサービスです。あらゆる規模や業界のお客様が、Amazon S3 を使用して、データレイク、ウェブサイト、モバイルアプリケーション、バックアップおよび復元、アーカイブ、エンタープライズアプリケーション、IoT デバイス、ビッグデータ分析など、広範なユースケースのデータを容量にかかわらず、保存して保護することができます。Amazon S3 には、特定のビジネス、組織、コンプライアンスの要件を満たすために、データへのアクセスを最適化、整理、設定できる管理機能があります。
：AWS公式サイトから引用

:::note warn
・**オブジェクトストレージサービス**
・**拡張性・耐久性・可用性**に優れており、**安価**に使用することが可能（従量課金制）
:::


### Amazon FSx
>Amazon FSx は、様々なユースケースを可能にする、広くアクセス可能で高性能なファイルストレージを容易に提供します。Amazon FSx ファイルシステムは、Linux、Windows、および macOS ユーザーとアプリケーションへの接続性を提供する業界標準のプロトコルをサポートします。また、Amazon FSx は、最も要求の厳しいワークロードのパフォーマンスニーズを満たすために、サブミリ秒のレイテンシーと高いスループットを提供します。
：AWS公式サイトから引用


:::note warn
・**フルマネージド型ファイルストレージサービス**
・可用性・耐久性に優れている
:::


# おわりに
今回は、EC2の概要ついて整理しました。
EC2に関する問題は、他サービスと絡めた運用の部分を問う問題が多いので、注意が必要です。
AWS学習アウトプットは今後も続けますので、また機会がありましたらご覧ください。

# 参考
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/concepts.html

https://o2mamiblog.com/aws-ami-beginner/

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

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/instance-types.html

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-key-pairs.html

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

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Storage.html?icmpid=docs_ec2_console

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

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

https://docs.aws.amazon.com/ja_jp/efs/latest/ug/whatisefs.html

https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/Welcome.html

https://aws.amazon.com/jp/fsx/


---------------------------------------------------

 株式会社ジールでは、「ITリテラシーがない」「初期費用がかけられない」「親切・丁寧な支援がほしい」「ノーコード・ローコードがよい」「運用・保守の手間をかけられない」などのお客様の声を受けて、オールインワン型データ活用プラットフォーム「ZEUSCloud」を月額利用料にてご提供しております。
ご興味がある方は是非下記のリンクをご覧ください：
https://www.zdh.co.jp/products-services/cloud-data/zeuscloud/?utm_source=qiita&utm_medium=referral&utm_campaign=qiita_zeuscloud_content-area