AWS 可用性一覧から学ぶサービス選定基準|冗長設計に役立つ比較マトリクス

運営:リナックスマスター.JP(代表 宮崎智広)
HOME > Linux技術 リナックスマスター.JP(Linuxマスター.JP) > AWS(Amazon Linux) > AWS 可用性一覧から学ぶサービス選定基準|冗長設計に役立つ比較マトリクス
「AWSのサービスは多すぎて、どれを選べばいいのか基準がわからない」
そう感じるエンジニアは少なくないでしょう。EC2、S3、RDS、Lambda、ELB……サービスの数は200を超え、機能が重複して見えるものも多い。

この記事では、選定基準の1つとして「可用性(SLA)」に着目します。各AWSサービスが公表するSLAを一覧で整理し、可用性目標から逆算してサービスとアーキテクチャを選ぶ考え方を解説します。想定環境はAWS(マルチリージョン・マルチAZ構成を検討するシステム設計フェーズ)です。

この記事のポイント

・AWSサービスのSLAはサービス・構成ごとに99.5%~99.999%と大きく差がある
・S3の99.999999999%は「耐久性」でありSLA(可用性)は99.99%
・RDSはマルチAZでSLA 99.95%、シングルAZは対象外
・Route 53は唯一100% SLAを掲げ、DNS冗長化の要として機能する


「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら

AWSサービスの「可用性」とは何か

可用性(Availability)とは、システムが正常に稼働している時間の割合のことです。AWSはサービスごとに「SLA(Service Level Agreement)」という形で可用性目標を公表しており、その値を下回った場合はサービスクレジットが適用されます。

よく混同されるのが「可用性」と「耐久性(Durability)」の違いです。

・可用性(Availability):サービスにアクセスできる確率(稼働率)
・耐久性(Durability):データが消えずに保存され続ける確率

たとえばS3の「イレブンナイン(99.999999999%)」はデータが消えない確率(耐久性)の話であり、サービスにアクセスできる確率(可用性のSLA)は99.99%です。この区別ができていないと、「S3に置けばデータへのアクセスも完璧」という誤った設計につながります。

また、SLAは「補償の基準値」であり、実測の稼働率ではありません。設計の際には参考値として使い、自システムの可用性目標はSLAより高めに設定するのが実務上の鉄則です。

主要AWSサービス可用性一覧(比較マトリクス)

以下に主要サービスのSLAをカテゴリ別に整理します。

1. コンピューティング系(EC2・Lambda)

サービス 構成条件 SLA 備考
EC2 マルチAZ(2つ以上のAZ) 99.99% Auto Scalingグループ推奨
EC2 シングルインスタンス 99.5% SLA対象外のケースあり
Lambda — 99.95% マネージドのためAZ設計不要
ECS(Fargate) — 99.99% EC2起動タイプは別計算
EC2はシングルインスタンスでは年間約43時間の停止が許容範囲内に収まる計算になります。マルチAZにすると年間約53分まで下がります。本番環境ではマルチAZ構成を前提にするのが基本です。

2. ストレージ系(S3・EBS・EFS)

サービス ストレージクラス・条件 SLA(可用性) 耐久性
S3 Standard 99.99% 99.999999999%
S3 Standard-IA 99.9% 99.999999999%
EBS io2 Block Express 99.999% —
EBS gp3 / gp2 99.8%~99.9% —
EFS Standard(マルチAZ) 99.99% —
EBSのgp3は汎用SSDとして最も使われますが、SLAは99.8%です。データベースのログ領域やECサイトのメディアストレージなど、高いI/O可用性が求められる場合はio2への変更を検討する価値があります。

3. データベース系(RDS・DynamoDB)

サービス 構成 SLA 備考
RDS マルチAZ 99.95% シングルAZはSLA対象外
Aurora — 99.99% ストレージが自動的にマルチAZ冗長化
DynamoDB Standard 99.99% グローバルテーブルは99.999%
ElastiCache(Redis) マルチAZ 99.99% シングルノードはSLA対象外
RDSをシングルAZで運用するとSLA対象外になる点は見落としがちです。コスト削減を理由にシングルAZで構築した場合、障害時の復旧時間は保証されません。本番DBは必ずマルチAZを選択してください。

4. ネットワーク系(ELB・Route 53・CloudFront)

サービス 構成 SLA 備考
Application Load Balancer(ALB) — 99.99% Network LB も同値
Route 53 — 100% 唯一の100% SLA
CloudFront — 99.9% CDNエッジとしては十分
AWS Global Accelerator — 99.99% マルチリージョン最適化に利用
Route 53は唯一100% SLAを掲げるサービスです。DNSはシステム全体の入口であるため、ここで障害が発生するとどんなサービスも到達不能になります。フェイルオーバールーティングとヘルスチェックを組み合わせることで、バックエンドの障害を自動で切り替えられます。

可用性目標から逆算するサービス選定の手順

実際の設計では「このサービスのSLAはいくつか」を知った後に、システム全体の可用性目標(SLO)から逆算して選定します。

たとえば、年間ダウンタイムを1時間以内(可用性99.9886%以上)に抑えたいWebシステムを設計する場合、以下のような逆算が必要です。

# システム全体可用性 = 各コンポーネントのSLAの積 # 例: ALB(99.99%) × EC2マルチAZ(99.99%) × RDSマルチAZ(99.95%) # = 0.9999 × 0.9999 × 0.9995 = 約 0.9993(99.93%) # 計算式(参考) python3 -c "print(0.9999 * 0.9999 * 0.9995)" # 出力例(環境により異なります) # 0.9993001500049999

このように直列に並んだコンポーネントの可用性は積算されます。SLAが99.95%のRDSマルチAZを1つ挟むだけで、全体の可用性はRDSのSLAに引き下げられます。

上位のSLA 99.99%を維持したい場合は、Aurora(99.99%)やDynamoDB(99.99%)への変更、またはキャッシュ層(ElastiCacheマルチAZ)を前段に置いてDBへのアクセス頻度を下げる設計が有効です。

AWSの基礎的なサービス構成やAmazon Linuxのサーバー構築入門を押さえておくと、こうした設計の選択肢を増やす土台になります。

マルチAZ構成で可用性を積み上げる設計パターン

SLA一覧を見ると、マルチAZ構成を取るかどうかで可用性が大きく変わることがわかります。一般的な3層Webシステムでのマルチ構成は次のようになります。

・フロントエンド層:ALBをマルチAZで配置(AWSが自動的に複数AZに分散)
・アプリケーション層:EC2をAuto Scalingグループでマルチ配置(AZ-a・AZ-cに分散)
・データベース層:RDSマルチAZ(プライマリとスタンバイを別AZに配置)

このとき意識すべきことが1点あります。ALBはデフォルトでマルチAZになりますが、EC2のAuto ScalingグループでAZを1つしか選ばないと、実質シングルAZになります。マルチAZ冗長設計のより詳しい構成手順も参照してください。

# Auto ScalingグループのAZ設定確認(aws CLIコマンド例) aws autoscaling describe-auto-scaling-groups \ --query 'AutoScalingGroups[*].{Name:AutoScalingGroupName,AZs:AvailabilityZones}' \ --output table # 出力例(環境により異なります) # --------------------------------------------------- # | DescribeAutoScalingGroups | # +-------------------+-----------------------------+ # | AZs | Name | # +-------------------+-----------------------------+ # | ap-northeast-1a | my-web-asg | # | ap-northeast-1c | | # +-------------------+-----------------------------+

AZが1つしか表示されない場合は、Auto Scalingグループの設定でAZを追加してください。

よくある設計ミスと対処法

可用性一覧を見て設計するときに陥りやすいミスを3つ挙げます。

・ミス1:コスト削減でRDSをシングルAZにする:シングルAZはSLA対象外です。本番DBは必ずマルチAZにする。ステージング環境はシングルAZで問題ありません
・ミス2:S3の99.999999999%を可用性と勘違いする:この数字は「データが消えない確率(耐久性)」です。アクセス可用性は99.99%(Standard)で、Standard-IAは99.9%に下がります
・ミス3:EBSのgp3可用性を過信する:gp3のSLAは99.8%です。データベースI/Oが止まると困るシステムではio2、または読み取り負荷はEFSやS3に分散する設計を検討してください

本記事のまとめ

主要AWSサービスの可用性SLAをまとめます。

カテゴリ サービス SLA マルチAZ必須
コンピューティング EC2(マルチAZ) 99.99% 必須
コンピューティング Lambda 99.95% 不要(マネージド)
ストレージ S3 Standard 99.99% 不要(自動冗長化)
ストレージ EBS gp3 99.8%~99.9% —
データベース RDS(マルチAZ) 99.95% 必須
データベース Aurora 99.99% 自動
データベース DynamoDB 99.99% 自動
ネットワーク ALB / NLB 99.99% 自動
ネットワーク Route 53 100% —
ネットワーク CloudFront 99.9% —
サービス選定では「可用性SLAの積算」を意識することが重要です。RDSマルチAZのSLA 99.95%がボトルネックになるなら、Auroraへの変更やキャッシュ層の追加でシステム全体の可用性を引き上げられます。可用性一覧を設計の入口として使い、システムのSLO(目標値)から逆算してアーキテクチャを選ぶ習慣をつけてください。
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、AWSをベースにしたサーバー構築の基礎から冗長設計の考え方まで、体系的に学べる入門コースを用意しています。
>> Amazon Linux サーバー構築入門コースを見る

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は30秒、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録

運営

リナックスマスター.JP(代表 宮崎智広)

株式会社イーネットマーキュリーが運営するLinux教育サイトです。代表の宮崎智広は現役のLinuxサーバー管理者として20年以上の実務経験を持ち、累計3,100名以上のエンジニアを指導してきました。実践型のLinuxセミナーや無料マニュアルの配布を通じてLinux人材の育成に取り組んでいます。