type
status
date
slug
summary
tags
category
icon
password

理論


EC2インスタンス、Auto Scaling、ALB、EFSの理解と最適化

1. Amazon EC2インスタンス

  • クラウド上で仮想サーバーを提供
  • スケーラビリティと多様なインスタンスタイプをサポート

2. Auto Scaling

  • トラフィックに応じてEC2インスタンスの数を自動調整
  • コスト効率を最適化し、可用性を向上

3. アプリケーションロードバランサー (ALB)

  • HTTP/HTTPSトラフィックを効率的に分散
  • 高度なルーティングとセキュリティ機能を提供

4. Amazon EFS

  • 複数のEC2インスタンスが同時にアクセスできるスケーラブルなネットワークファイルシステム
  • 高い耐障害性と自動スケーリング

5. コンテンツ配信ネットワーク (CDN)

  • CloudFrontを使って、エッジロケーションからコンテンツを高速に配信
  • 動画や静的コンテンツの配信に最適

6. 動画コンテンツの配信と最適化

  • EFSは動画のストレージには不向き
  • Amazon S3CloudFront の組み合わせが最適

7. コスト効率の最適化

  • Auto ScalingとCloudFrontでコスト削減
  • 動画コンテンツをEFSからS3に移行し、CloudFrontで配信

 
Amazon EFSは、主に以下のシナリオに適しています:

EFSが適している配信シナリオ

  1. アプリケーションデータや設定ファイルの共有 複数のEC2インスタンスが同じデータを共有する必要がある場合に最適。
  1. コンテンツの共有・アクセス制御 同時にアクセスする複数のインスタンスでファイル共有が必要な場合に適しています。
  1. 高い耐障害性とスケーラビリティ 高可用性と自動スケーリングが求められるシステムに適しています。

EFSが適していない配信シナリオ

  1. 大量の静的コンテンツやメディアファイルの配信 メディアファイルには、S3CloudFrontの方が効率的です。
  1. 高い配信速度と低遅延が求められる場合 S3とCloudFrontを使うことで、配信速度や低遅延が改善されます。

まとめ

EFSはファイル共有やアプリケーションデータの保存に最適ですが、大量の静的コンテンツやメディアファイルの配信にはS3とCloudFrontが最適です。
 

実践

EFSに関連したハンズオン

CLFと静的なウェブサイトホスティングに関連したハンズオン

参照元

AWSを使用した静的ウェブサイトのホスティング - ハンズオンガイド

1. 概要

このハンズオンでは、AWSのS3バケットを使用して静的ウェブサイトをホスティングし、その後CloudFrontを経由してコンテンツを配信する方法を紹介します。本記事では、基本的なS3設定とCloudFront設定を手順ごとに解説します。なお、ドメイン取得の手順は含まれていません。

2. 使用するサービス

  • Amazon S3 (Simple Storage Service):静的ウェブサイトのホスティングに使用。
  • Amazon CloudFront:コンテンツを世界中に配信するためのCDN(コンテンツデリバリーネットワーク)サービス。

3. システム構成

静的なHTMLファイルをAmazon S3バケットに格納し、CloudFrontディストリビューションを作成して、インターネット上でウェブサイトを公開する構成です。

4. ハンズオン手順

4.1. S3バケットの作成

  1. S3コンソールにログインし、「バケットを作成」をクリック。
  1. リージョン選択:東京リージョン(ap-northeast-1)を選択。
  1. バケット名:一意な名前を選択(例:my-website-bucket)。バケット名はグローバルで一意でなければならず、命名規則に従う必要があります(3~63文字、使用可能な文字は小文字、数字、ハイフン、ドット)。
  1. パブリックアクセス設定:静的ウェブサイトを公開するために、パブリックアクセスのブロックを解除します。
  1. バケットを作成」をクリック。

4.2. S3バケットの設定

  1. バケットを選択し、「プロパティ」タブを開きます。
  1. 「静的ウェブサイトホスティング」の設定で「有効にする」を選択。
  1. インデックスドキュメントとして「index.html」を設定。
  1. 設定を保存。

4.3. アクセス許可の設定

  1. バケットポリシーを追加して、公開アクセスを許可します。
  1. 以下のバケットポリシーを設定します:
my-website-bucketは実際のバケット名に置き換えてください。)

4.4. HTMLファイルのアップロード

  1. ローカルでビデオファイルやHTMLファイルをを作成。
  1. 作成したビデオファイルやHTMLファイルをS3バケットにアップロード。

4.5. 静的ウェブサイトの確認

  1. S3バケットの「プロパティ」タブで、静的ウェブサイトのエンドポイントURLをコピー。
  1. ブラウザにそのURLを入力し、index.htmlが正しく表示されることを確認。

4.6. CloudFrontディストリビューションの作成

  1. CloudFrontコンソールに移動し、「ディストリビューションを作成」をクリック。
  1. オリジンドメイン名:S3バケット名を選択。
  1. *Origin Access Control (OAC)**を選択し、設定を進めます。
  1. デフォルトルートオブジェクトに「index.html」を指定。
  1. 必要な設定を行い、ディストリビューションを作成。
  1. 作成後、ディストリビューションが有効化されるまで数分間待機。

4.7. CloudFrontからアクセスできるか確認

  1. CloudFrontディストリビューションが作成されると、ドメイン名が提供されます。
  1. ブラウザでそのドメイン名を入力し、index.htmlが表示されることを確認。

5. リソースの削除

作成したリソースが不要になった場合、S3バケットCloudFrontディストリビューションを削除します。削除しない場合、料金が発生する可能性があります。

このガイドを参考に、AWSで静的ウェブサイトのホスティングを行い、CloudFrontを使ってコンテンツ配信を高速化しましょう!

一問道場

問題:

  • 企業は、Amazon EC2インスタンスを使用してWebフリートを展開し、ブログサイトをホストしています。
  • 「Webフリート」 は、インターネット上で提供されるWebサービスの運用に必要な複数のサーバー群やリソースを一括で管理する概念を表しています。
  • EC2インスタンスは、アプリケーションロードバランサー(ALB)の背後に配置され、自動スケーリンググループに設定されています。
  • Webアプリケーションは、すべてのブログコンテンツを Amazon EFS ボリュームに保存しています。
  • 最近、ブロガーが投稿にビデオを追加できる機能を追加し、以前の 10倍 のユーザートラフィックが発生しました。
  • ピーク時 に、ユーザーがサイトにアクセスしたり、ビデオを視聴しようとした際に バッファリングタイムアウト の問題が報告されています。

質問:

ユーザーの問題を解決するために、最もコスト効率が良く、スケーラブルな展開方法はどれですか?

選択肢:

A.
Amazon EFSの設定を再構成して、最大I/Oを有効にする
B.
ブログサイトを更新して、インスタンスストアボリュームをストレージに使用し、起動時にサイトコンテンツをボリュームにコピーし、シャットダウン時にAmazon S3にコピーする
C.
Amazon CloudFrontディストリビューションを設定し、ディストリビューションをS3バケットにポイントし、ビデオをEFSからAmazon S3に移行する
D.
すべてのサイトコンテンツに対してAmazon CloudFrontディストリビューションを設定し、ディストリビューションをALBにポイントする

解説:
最もコスト効率が良く、スケーラブルな方法を選ぶには、コンテンツ配信の最適化が重要です。特に、ビデオのような大容量のコンテンツに対して、以下のように負荷分散やキャッシュの活用が有効です:
  • 選択肢A はEFSのI/O性能を最大化することを提案しますが、EFS自体は動画などの大容量データの取り扱いには限界があり、スケーラビリティには不十分です。
  • 選択肢B はインスタンスストアとS3を利用していますが、データを手動で移行する手間がかかり、スケーラビリティや管理の負担が大きくなります。
  • 選択肢C は、動画コンテンツをS3に移行し、CloudFrontで配信する方法です。これにより、動画の配信が高速化し、EFSの負担を減らすことができ、スケーラブルで効率的です。
  • 選択肢D は、すべてのコンテンツに対してCloudFrontを使い、ALBを通じて配信する方法です。これにより、全てのコンテンツがキャッシュされて高速に配信され、ピーク時でもスムーズにユーザーにコンテンツを届けることができます。

最も適切な選択肢は
C または D です。特に、動画コンテンツの配信に関しては C が効果的です。
 
 
 
相关文章
クラウド技術の共有 | AWS Site-to-Site
Lazy loaded image
EKSでのWordPressデプロイ:KCNA-JP試験対策 (Kubernetes実践編)
Lazy loaded image
初心者向け!コンテナ化WordPressサイト構築ガイド(超詳細版)
Lazy loaded image
EFSを活用!AWS EC2でDockerを使ったWordPressサイト構築
Lazy loaded image
529-AWS SAP AWS 「理論・実践・一問道場」VPCエンドポイント
Lazy loaded image
528-AWS SAP AWS 「理論・実践・一問道場」Migration Evaluator
Lazy loaded image
017-AWS SAP AWS 「理論・実践・一問道場」 Direct Connect Gateway015-AWS SAP AWS 「理論・実践・一問道場」 アカウント関のプライベートホストゾーンを名前解決
Loading...
みなみ
みなみ
一个普通的干饭人🍚
最新发布
02-生成AIパスポート試験対策:第2章「生成AI」
2025-2-1
01-生成AIパスポート試験対策:第1章「人口知能」
2025-2-1
究極のAWS認定 AI 実践者 AIF-C01 - 学習メモ
2025-1-27
不要再傻傻的直接买NISA啦
2025-1-27
Kubernetes、仮想マシンとコンテナの概念を超簡単に解説!
2025-1-24
529-AWS SAP AWS 「理論・実践・一問道場」VPCエンドポイント
2025-1-22
公告
🎉欢迎访问我的博客🎉
- 感谢您的支持 --
本站点于2024/09/01建立
👏主要分享IT相关主题👏
系统管理:
Redhat…
容器和编排:
Kubernetes、Openshift…
云计算:
AWS、IBM…
AI入门
以及技术笔记和考证经验
定期更新,欢迎互动。
感谢访问!
快速浏览相关标签