- WEBデザイン制作
- SEO対策・サイトコンサルティング
これで解決!AWSクラウドデザインパターン #3Web Storage パターン、Direct Hosting パターン
- [更新日]2020/11/19
- [公開日]2015/12/09
- 1932 view
- 株式会社SUPINF
前回は【Scale Outパターン】ということで
EC2インスタンスを並列して処理を分散しましょう
自動でスケールアウト/スケールインして運用を楽になりますよ
という内容でした。
容量の大きい動画や、画像などをWebサーバーから配信する場合
ネットワークの負荷が気になりますよね。
1台のWebサーバーからだと処理が重くなってしまう…
複数台のWebサーバーを配置するにも、大容量のファイルを
複数サーバーに分散させるには高いスペックが必要となり、
コストがかかってしまう…
第3回はそんな問題を解決できるパターンの紹介です!
【Web Storageパターン】
クラウドには、インターネットストレージという
インターネット上にファイルをアップロードして共有するサービスがあります。
そこから直接ファイルを配信することでWebサーバーへの
ネットワーク負荷とディスク容量の問題が解決できます。
AWSにはS3というサービスがあり、簡単にデータの出し入れができます。
また容量が無制限で障害にも強い設計になっています。
実際にAWSで触ってみた
〈触ってみるサービス〉
・S3 →インターネットストレージ
1. S3に「バケット」を作成し、静的コンテンツをアップロードする。
・S3の[バケットを作成]→バケット名、リージョンの選択→[作成]
→作成されたバケットから[アップロード]
〈バケット名がそのままURLになるのでよく考えて名前をつけましょう!〉
2. アップロードしたコンテンツにアクセスできるよう設定する。
・アップロードしたファイルから[プロパティ]→[アクセス許可]の[さらにアクセス許可を追加する]
→「被付与者:全員」にし、「開く/ダウンロード」にチェックを入れる。→[保存]
〈これでコンテンツにURLが発行されます。このURLをユーザーに教えたり、Webページにリンクを貼るだけ!〉
AWSで重たいデータも安全に管理!
*S3使えばネットワークの負荷やデータ容量を気にする必要がない!
*3カ所以上のデータセンターでバックアップを行っているので耐久性も高い!
*ファイルをS3に置くだけでURLが発行されるので、ファイルの共有も簡単!
今回はS3を使ったCDPをもう一つご紹介します!
【Direct Hosting パターン】
画像や動画だけでなく、HTMLファイルなどをホスティングしてS3をWebサーバーとして利用する方法があります。
負荷対策を行う必要のないWebサーバーとして利用が可能です!
実際にAWSで触ってみた
1. バケットを作成し、ファイルをアップロードするところまでは【Web Storage パターン】とおなじです。
2. 静的ウェブサイトホスティングを有効にする
・作成したバケットから[プロパティ]→[静的ウェブサイトホスティング]の[ウェブサイトのホスティングを有効にする]→インデックスページとエラーページを設定する。
〈これでS3単体でWebサイトをホストできます!〉
3. バケットポリシーの設定
・作成したバケットから[プロパティ]→[アクセス許可]の[バケットポリシーの編集]にJSONを入力
〈ここで特定のIPアドレスからのみのアクセスを可能にしたり、
HTTPSのみのアクセスに限ったりすることができます。〉
今回は特定のIPアドレスからのみアクセスできるようにしました!
〈特定のIPアドレスのみからのアクセスを許可するJSON〉------------------
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::バケット名/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": [
"特定のIPアドレス1",
"特定のIPアドレス2"
]
}
}
}
]
}
----------------------------------------------------------------------
AWSでWebサイトを簡単にホスティング!
*インターネットストレージサービスであるS3を使って負荷対策不要なWebサーバーに!
*S3から静的コンテンツにアクセスするので、Webシステムの可用性と耐久性が高まる!
ただし、
S3上ではサーバーサイドのプログラムは動かせないので、
例えばログインユーザーごとに異なるページを出すことはできないので注意しましょう。
ちなみに、弊社のホームページもS3を使ってホスティングしています!
(動的な「お問合せフォーム」にはAWS CognitoとLambdaを使って対応しています。)
ご相談はこちらから
企画や要件が固まっていないご相談でも
お気軽にお問い合わせください。
-
01
相談する
-
02
要件ヒアリング
-
03
専門企業のご紹介
-
04
企業との
ご面談&見積取得 -
05
企業選定〜契約締結
サポート -
06
専門企業と直接
プロジェクト進行
※ステップ5以降はご希望に応じて
サポートいたします。
EDITOR PROFILE
株式会社SUPINF
堀江 浩史
AWS/コンテナ/AI/MSP/システム開発など、お気軽にご相談ください。
BTL アンバサダーとしても活動中です!
株式会社SUPINF
株式会社SUPINFでできること
-
WEBサービス開発
-
インフラ構築
-
ソフトウェア・業務システム開発