type
status
date
slug
summary
tags
category
icon
password

理論

静的アセットとは、ウェブサイトやアプリケーションで使用される変更されない、または頻繁に変更されないファイルを指します。これらのファイルは、通常、ユーザーに提供されるコンテンツであり、動的な処理を伴わない、単純な形式のデータです。以下は、静的アセットの例です:
  • 画像ファイル(JPEG、PNG、GIFなど)
  • CSSファイル(スタイルシート)
  • JavaScriptファイル
  • フォントファイル
  • HTMLファイル
  • 動画ファイル(MP4など)
これらのファイルは通常、ウェブサーバーやCDN(コンテンツ配信ネットワーク)を通じて配信され、ウェブページの見た目やインタラクティブ性を提供します。静的アセットは、リクエストごとに変更されることなく、通常そのまま配信されます。
 
  • クロスリージョンレプリケーション(Cross-Region Replication):Amazon S3でクロスリージョンレプリケーション(CRR)を構成することで、us-east-1 のS3バケットから別のリージョンのS3バケットへオブジェクトを自動的にレプリケートできます。これにより、主リージョン(us-east-1)で障害が発生した場合でも、他のリージョンからデータをアクセスできるようになり、高可用性と災害復旧が確保されます。
  • CloudFrontのオリジングループ(Origin Group):CloudFrontでは、複数のS3バケットをオリジンとして設定することができます。CloudFrontは、利用可能なオリジンを自動的に選択します。例えば、1つのリージョンのS3バケットが利用できなくなった場合、CloudFrontは自動的に他のリージョンのS3バケットに切り替えます。これにより、ユーザーが静的コンテンツにアクセスする際に、障害時にも自動でフェイルオーバーが行われ、高可用性が向上します。

実践

参照元:
notion image
 
以下は、オリジンアクセスアイデンティティ(OAI)を使用して、Amazon S3 オリジンを東京とオレゴンリージョンに構成するためのハンズオン記事のサンプルです。これにより、クロスリージョンレプリケーションを使用して、可用性の高い構成を実現します。

オリジンアクセスアイデンティティ(OAI)を使ったクロスリージョンS3オリジン構成のハンズオン

目標

本ハンズオンでは、AWSのオリジンアクセスアイデンティティ(OAI)を使用して、東京リージョンとオレゴンリージョンにS3オリジンを作成し、クロスリージョンレプリケーション(CRR)でコンテンツを同期します。これにより、片方のリージョンで障害が発生した場合でも、もう片方のリージョンからコンテンツを公開し続けることができます。

前提条件

  • AWSアカウントがあること
  • AWS管理コンソールにアクセスできること
  • 東京リージョンとオレゴンリージョンにS3バケットを作成する権限があること

ステップ 1: 東京リージョンにS3バケットを作成

  1. AWS管理コンソールにログインし、東京リージョン(ap-northeast-1)に移動します。
  1. 「S3」を選択し、「バケットを作成」ボタンをクリックします。
  1. バケット名を入力します(例: my-content-bucket-tokyo)。
  1. 必要に応じて設定を調整し、「作成」をクリックします。

ステップ 2: オレゴンリージョンにS3バケットを作成

  1. オレゴンリージョン(us-west-2)に移動します。
  1. 同様に、「S3」を選択し、「バケットを作成」ボタンをクリックします。
  1. バケット名を入力します(例: my-content-bucket-oregon)。
  1. 必要に応じて設定を調整し、「作成」をクリックします。

ステップ 3: クロスリージョンレプリケーション(CRR)の設定

  1. 東京リージョンのS3バケットに移動し、「管理」タブを選択します。
  1. レプリケーションルール」を設定します。
  1. 「レプリケーション元バケット」として東京リージョンのバケットを選択し、レプリケーション先バケットとしてオレゴンリージョンのバケットを選択します。
  1. 必要な設定(オブジェクトのコピーなど)を選択し、レプリケーションを有効にします。

ステップ 4: CloudFrontディストリビューションの作成

  1. 東京リージョンのS3バケットに対して、CloudFrontディストリビューションを作成します。
  1. オリジンタイプとして「S3」を選択し、オリジンアクセスアイデンティティ(OAI)を選択します。
  1. これにより、東京リージョンのS3バケットのコンテンツがCloudFrontを通じて公開されます。
  1. オリジングループを作成、オレゴンリージョンのS3バケットもCloudFrontのオリジンとして追加することができます。

ステップ 5: レプリケーションの確認

  1. 東京リージョンのS3バケットにファイルをアップロードします。
  1. オレゴンリージョンのS3バケットにも自動的にレプリケーションされていることを確認します。
  1. CloudFront経由でコンテンツが両リージョンから配信されているか、URLで確認します。

ステップ 6: フェイルオーバーのテスト

  1. 東京リージョンで問題が発生した場合、オレゴンリージョンのS3バケットからコンテンツが引き続き配信されることを確認します。
  1. CloudFrontのオリジンを切り替える設定が行われていれば、オレゴンリージョンのコンテンツが自動的に配信されます。

まとめ

このハンズオンで、オリジンアクセスアイデンティティ(OAI)を使ったS3オリジン構成を東京とオレゴンリージョンに作成し、クロスリージョンレプリケーションを使用してコンテンツの可用性を高めました。障害発生時には、もう片方のリージョンからコンテンツが継続的に公開される構成が実現できました。
notion image

一問道場

 
問題 36
トピック 1
ある企業のソリューションアーキテクトが、AWS 上で実行されているウェブアプリケーションを確認しています。このアプリケーションは、us-east-1 リージョンにある Amazon S3 バケット内の静的アセットを参照しています。企業は、複数の AWS リージョン間でのレジリエンシー(回復力)を必要としています。企業はすでに、別のリージョンに S3 バケットを作成しています。
最小限の運用オーバーヘッドでこの要件を満たすソリューションはどれですか?

A.

アプリケーションを構成して、各オブジェクトを両方の S3 バケットに書き込むようにします。
Amazon Route 53 のパブリックホストゾーンを設定し、S3 バケットごとに加重ルーティングポリシーを使用したレコードセットを作成します。
アプリケーションを構成して、Route 53 の DNS 名を使用してオブジェクトを参照します。

B.

AWS Lambda 関数を作成して、us-east-1 の S3 バケットから別のリージョンの S3 バケットにオブジェクトをコピーします。
us-east-1 の S3 バケットにオブジェクトが書き込まれるたびに Lambda 関数を呼び出します。
2 つの S3 バケットをオリジンとして含む Amazon CloudFront のオリジングループを設定します。

C.

us-east-1 の S3 バケットでレプリケーションを構成し、オブジェクトを別のリージョンの S3 バケットにレプリケートします。
2 つの S3 バケットをオリジンとして含む Amazon CloudFront のオリジングループを設定します。

D.

us-east-1 の S3 バケットでレプリケーションを構成し、オブジェクトを別のリージョンの S3 バケットにレプリケートします。
フェイルオーバーが必要な場合、アプリケーションコードを更新して、別のリージョンの S3 バケットからオブジェクトをロードするようにします。
 
解説
この問題では、AWS 上で複数リージョン間でのレジリエンシーを確保する方法を問うています。

各選択肢の解説:

  • A: 静的アセットを手動で両方の S3 バケットに書き込み、DNS でルーティングする方法は運用負担が大きく、最適ではありません。
  • B: Lambda でオブジェクトをコピーする方法は複雑でスケーラビリティに欠けます。
  • C (正解): クロスリージョンレプリケーションを使い、CloudFront のオリジングループを設定することで、レジリエンシーを確保し、運用負担を最小限にできます。
  • 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
037-AWS SAP AWS 「理論・実践・一問道場」スケーラブル035-AWS SAP AWS 「理論・実践・一問道場」AWS DataSync
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入门
以及技术笔记和考证经验
定期更新,欢迎互动。
感谢访问!
快速浏览相关标签