0
0

More than 3 years have passed since last update.

前提

AWSについて学んだことを書いていきます

本題

CloudFrontとは

高速にコンテンツを配信するサービス(CDNのサービス)

概要

・オリジンサーバー(元なる画像を配信するサーバー)上にあるコンテンツを世界中100箇所以上にあるエッジロケーションにコピーし、そこから配信を行う

特徴

・高速
ユーザーからもっとも近いエッジサーバにから画像を配信する
・効率的
エッジサーバーでコンテンツのキャッシングを行うので、オリジンサーバーに負荷をかけずに配信できる

CloudFrontがあると何がいい?

高速化され、S3の負荷が軽減される

稼働率をあげるための基本的な考え方

障害発生間隔を長くするか、平均復旧時間を短くするために冗長化を行う

考え方

・障害発生間隔を長くする
・平均復旧時間を短くする

手法

・冗長化
システムの構成要素を多重化すること
ある構成要素で障害が発生しても処理を引き継げるようにすることで稼働率を高める
↓↓
単一障害点(SPOF)を無くそう

稼働率を上げる具体的な手法

1、要素単体の稼働率を高くする
2、要素を組み合わせて、全体の稼働率を高くする
3、負荷を適切なプロビジョニングで回避する

2、要素を組み合わせて、全体の稼働率を高くする

・冗長化構成
Active-Active:冗長化した両方が利用可能

Active-Standby:冗長化した片方は利用不可能
 Hot Standby:スタンバイ側は普段起動しすぐに利用可能
 Warm Standby:スタンバイ側は普段起動しているが、利用するのに準備が必要
 Cold Standby:スタンバイ側は普段停止している

3、負荷を適切なプロビジョニングで回避する

・スケールアップ
個々の要素の性能を向上させる
ある程度の規模まではスケールアップがコストパフォーマンスがよいが、一定範囲を越えると悪くなる

・スケールアウト
個々の要素の数を増やす
ある程度の規模を超えそうであれば、スケールアウトで対応する
最低限用意しておくべきかN+1構成、安心なのはN+2構成

ロードバランサーとは

各サーバーにアクセスを振り分け、負荷を分散する装置

ELBとは

AWSクラウド上のロードバランサー

概要

・複数のEC2インスタンスに負荷分散する
・複数のアベイラビリティゾーンにある複数のEC2インスタンスの中から正常なターゲットにのみ振り分ける(ヘルスチェック)

特徴

・スケーラブル:ELB自体も負荷に応じて自動でスケールアウト・スケールインする
・アベイラビリティゾーンをまたがる構成:ELBを利用する場合、一つのリージョンを選び、そのリージョン内のアベイラビリティゾーンはまたがるように構成できる
・名前解決:ELBにはDNS名が割り当てられる、ELBへの接続ポイントへのアクセスにはDNSを使用する
・安価な従量課金:従量課金で利用可能
・マネージドサービス:運用が楽

RDSマスタースレーブ構成

マルチAZの機能を使えばマスタースレーブ構成を構築できる
RDSでDBをマスタースレーブ構成にして、DBレイヤの冗長化ができる

システム監視とは

システムを正常な状態に保てるよう、稼働状況やリソースを監視すること

目的

・すぐに障害発生を確認できるようにする
・復旧にすぐに取りかかれるようにする

中身

・正常な状態を監視項目+正常な結果の形で定義する
・正常な状態でなくなった際に対応方法を監視項目ごとに定義する
・正常な状態であることを継続的に確認する
・正常な状態でなくなった場合には通知が来るようにし、すぐ正常な状態に復旧させる

監視の種類

死活監視とメトリクス監視の2種類ある

死活監視

・正常にシステムが動作しているか確認

メトリクス監視

・パフォーマンスを定量的に確認
・指標を決め、指標が闘値以上・以下となっているかを把握

監視する際のポイント

1、システムや利用状況は変わるため、足りない監視を都度足していく

・項目が多すぎると、監視疲れする
・システムも利用状況も変わるため、都度監視項目を調整すればOK

2、最初は基本的な要素でOK

・CPU、Memory、Disk、Networkの使用率・枯渇
・これらの情報を確認できれば、障害発生時に何時が起点なのかを把握できる

CloudWatchとは

AWSサービスの監視やモニタリングができる監視サービス

概要

・AWSサービスのメトリクス(リソースの状況)を監視する
・メトリクスに対して閾値を登録し、その条件を満たしたら通知する(アラーム発生)

Amazon SNSとは

通知サービス

IAMとは

AWSのサービスを利用するユーザー権限を管理するサービス

概要

・AWSリソースをセキュアに操作するため、認証・認可の仕組みを提供できる
・各AWSリソースに対して別々のアクセス権限をユーザ毎に付与できる
・AWSIAM自体の利用は無料

用語

・ポリシー
アクセス許可の定義、どのAWSサービスの・どのリソースに対して・どんな操作を・許可する(許可しない)を定義
・ユーザー
個々のアカウントのユーザー
・グループ
IAMユーザーの集合、複数のユーザーにアクセス許可を付与する作業を簡素化
・ロール
一時的にアクセスを許可したアカウントを発行できる、EC2やLamdbaなどのAWSリソースに権限を付与するために使用

IAMのベストプラクティス

・個々人にIAMユーザーを作成する
・ユーザーをグループに所属させ、グループに権限を割り当てる
・権限は最小限にする
・EC2インスタンスから実行するアプリケーションには、ロールを使用する
・定期的に不要な認証情報を削除する

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0