見出し画像

【AWS】 EC2の解説

AWS EC2(Amazon Elastic Compute Cloud)

EC2は、Amazon Web Services(AWS)の提供するクラウドベースの仮想サーバーコンピューティングのこと。これにより、ユーザーは物理的なハードウェアを購入や設定することなく、オンデマンドでコンピューティングリソースを確保・利用することができる。
料金は従量課金制になっていて、使用した分だけ料金が発生する。


EC2設定項目

  • AMI (Amazon Machine Image): インスタンスを起動するためのベースとなるイメージを選択する。これにはオペレーティングシステムや必要なソフトウェアが含まれる。

  • インスタンスタイプ: 必要なCPU、メモリ、ストレージ、ネットワークキャパシティに基づいて選択する。例: t2.micro、m5.largeなど。

  • インスタンス詳細の設定:

    • : 起動したいインスタンスの数

    • ネットワーク: VPCの選択

    • サブネット: 使用するサブネットの選択

    • 自動割り当てIP: パブリックIPの自動割り当てを有効/無効にする

    • その他の設定、例: IAM ロールの割り当て、シャットダウンの動作、テナンシー(専用or共有ホスト)など

  • ストレージ: EBSボリュームのタイプ、サイズ、IOPSを設定する。

  • タグ: インスタンスやボリュームにキーと値のペアを追加して、管理を容易にする。

  • セキュリティグループ: インスタンスへのネットワークアクセスを制御するためのルールを設定する。このグループは、特定のIPアドレスやポートへのアクセスを許可/拒否することができます。

  • キーペア: インスタンスにSSHで接続するための公開キーと秘密キーのペアを選択または新しく作成する。


AWS AMI

Amazon Machine Image (AMI) は、Amazon EC2 インスタンスの起動に使用される仮想サーバーイメージ。特定のOSをベースにしており、サーバが実行する基本的なソフトウェア環境を提供し、WebサーバーのAMIでは、ApacheやNginxなどのソフトウェアが予めインストールされている場合がある。
AMI の利点として再現性があり、同じソフトウェアや設定を持つインスタンスを迅速に複数起動することができる。


インスタンスタイプ

EC2の性能やリソースを指定するカテゴリのこと

  1. 汎用 (General Purpose) インスタンス:

    • 目的: バランスの取れたCPU、メモリ、ネットワークリソースを持つ。

    • : t2, t3, m5, m6g

    • 適用シナリオ: Webサーバー、開発環境、小〜中規模のデータベースなど。

  2. コンピューティング最適化 (Compute Optimized) インスタンス:

    • 目的: 高度なコンピューティング処理能力が必要なワークロード向け。

    • : c5, c6g

    • 適用シナリオ: 高性能なWebサーバー、バッチ処理、科学的モデリング、専用ゲームサーバーなど。

  3. メモリ最適化 (Memory Optimized) インスタンス:

    • 目的: 大量のメモリが必要なワークロード向け。

    • : r5, r6g, x1, x1e

    • 適用シナリオ: メモリを多く消費するデータベースや、大規模なキャッシュ、インメモリデータベース、リアルタイムのビッグデータ解析など。

  4. ストレージ最適化 (Storage Optimized) インスタンス:

    • 目的: 高いストレージI/Oが要求されるワークロード向け。

    • : i3, d2, h1

    • 適用シナリオ: NoSQLデータベース、データウェアハウス、エラスティックサーチ、ログ解析など。

  5. アクセラレーション最適化 (Accelerated Computing) インスタンス:

    • 目的: GPUやFPGAなどのハードウェア加速を使用するワークロード向け。

    • : p3, p4, g4, f1

    • 適用シナリオ: 機械学習、深層学習、グラフィックス処理、データ分析、ビデオエンコード、3Dビジュアル化など。

  6. ARMベースのインスタンス:

    • 目的: ARMアーキテクチャをベースにした、エネルギー効率の高いコンピューティングを提供。

    • : a1, m6g, c6g, r6g

    • 適用シナリオ: スケーラブルなアプリケーションやMicroservices、Webサーバー、コンテナなど。


Amazon Elastic Block Store (EBS)

Amazon EC2インスタンスにアタッチできるブロックレベルのストレージサービスであり、高い耐久性と可用性を持つ。

・EBSボリューム
一般的なディスクとして使え、データベースやアプリケーションのデータ保管に適す。また、EBSはスナップショットをサポートしており、特定の時点のボリュームのコピーをAmazon S3に保存できる。

・インスタンスストア
一時的なブロックレベルのストレージで、インスタンスのライフサイクルと連動しており、インスタンスが停止または終了すると、インスタンスストアのデータも失われる。一時的なデータやキャッシュとしての利用が主。

・Amazon FSx, Amazon EFS
ファイルレベルのストレージサービス。これらは、複数のインスタンスから同時にアクセスできる共有ファイルシステムを提供する。

・Amazon S3
オブジェクトベースのストレージサービスであり、ウェブコンテンツのホスティングやバックアップ、大規模なデータ解析のソースデータとして利用される。


セキュリティグループ

Amazon EC2での仮想ファイアウォールとして機能し、インスタンスにどのようなトラフィックを許可するか、あるいは拒否するかをコントロールするためのルールを指定する。

  1. ステートフル:

    • 送信したリクエストは自動的に戻りトラフィックとして受け入れられる。

  2. インバウンド/アウトバウンドのルール:

    • インバウンドルールは外部からインスタンスへのアクセスをコントロール。

    • アウトバウンドルールはインスタンスから外部へのアクセスをコントロール。

  3. デフォルト設定:

    • 新しく作成されたセキュリティグループは、デフォルトですべてのインバウンドトラフィックを拒否、アウトバウンドトラフィックを許可。

  4. 変更の即時反映:

    • セキュリティグループのルールを変更すると、すぐにその変更が関連するインスタンスに適用される。

  5. ELBやRDSなど、他のAWSサービスとの連携:

    • 他のAWSサービスのリソースに対しても、セキュリティグループを使用してアクセスを制限することができる。


Elastic IP(EIP)

Amazon Web Services (AWS) のAmazon Elastic Compute Cloud (EC2) サービスで提供される静的なIPv4アドレスのこと。
運用中のEC2インスタンスに問題が発生した場合、Elastic IPの利点として、別のインスタンスに迅速にそのアドレスを再マッピングできるため、サービスのダウンタイムを減少させることができる。
また、Elastic IPは一度取得すれば、ユーザーが明示的にリリースしない限りAWSアカウントに関連付けられ続ける。これにより、ドメイン名などのDNS設定の変更なく、長期間にわたり同じIPアドレスを使用することができる。注意点として、もし利用しないElastic IPを保持している場合や、無料枠を超える利用が発生した場合には追加の料金が発生した、Elastic IPは特定のAWSリージョンに紐づいているため、異なるリージョンのインスタンスには適用することができない。


Elastic Load Balancing (ELB)

入ってくるアプリケーションのトラフィックを複数のターゲット、例えばAmazon EC2インスタンス、コンテナ、IPアドレス、Lambda関数などに自動的に分散するサービス。
ELBはアクティブなアプリケーションのヘルスチェックを行い、問題のあるインスタンスにトラフィックを送ることなく、正常に動作するターゲットにトラフィックをルーティングする。この機能で、システム内の一部に障害が発生してもアプリケーション全体のダウンタイムを最小化することができる。

アプリケーション層での負荷分散としてのApplication Load Balancerと、トランスポート層での負荷分散としてのNetwork Load Balancerの2つの主要なタイプがある。
Application Load BalancerはHTTP/HTTPSトラフィックのロードバランシングに特化しており、コンテンツベースのルーティングをサポートする。
一方、Network Load BalancerはTCP、UDP、TCP/UDPトラフィックに最適化されており、高速で高容量のトラフィックに対応している。


















よろしければサポートお願いします!よりいい情報を発信します。