AWSについてまとめてみた

はじめに

仕事でAWSについてまとめた資料を発表したので、ブログにも備忘録として残しておきます。

AWS とは

Amazon Web Servicesの略称
ITインフラストラクチャを提供するウェブサービス
ITインフラストラクチャ:PCや通信機器、OS、ミドルウェア、通信回線、ネットワークの総体

メリット

  • 必要な時、必要なだけ、低価格でITリソース提供
  • 企業によるサーバーや他のITインフラ計画・調達不要
  • 即座に何百~何千ものサーバーを数分で起動可能
  • ストレージ、DBをはじめ、データ分析、IoT、セキュリティなどの50以上のサービス

リージョンとアベイラビリティーゾーン(AZ)

リージョン:地理的に離れた地域
アベイラビリティーゾーン:リージョン内の複数のデータセンターの集合体

AWSは世界中に20のリージョンと60のアベイラビリティーゾーンを持つ
今後もリージョンやアベイラビリティーゾーンは増えていく

サービス、機能

サービスや機能が多すぎるので、Webサイトアーキテクチャで使用される主なサービスを紹介

Amazon Virtual Private Cloud(VPC)

AWS上に独立したプライベートネットワーク空間を作成できるサービス
16ビット以上の任意のCIDR(※)で構成可能
例:10.0.0.0/16
上記をサブネットマスクで表現した場合、10.0.0.0/255.255.0.0

※CIDR:IPアドレスを2進数で表記時、「ネットワーク部のビット長」を「/ビット長」で示す方法

許可されるIPv4 CIDRブロックサイズは/16ネットマスク(65536個のIPアドレス) ~ /28ネットマスク(16個のIPアドレス)

CIDRで指定推奨されるプライベートIPアドレス範囲は以下の通り
10.0.0.0 ~ 10.255.255.255
172.16.0.0 ~ 172.31.255.255
192.168.0.0 ~ 192.168.255.255

Subnet

細分化したCIDRブロック

  • パブリックサブネット:インターネットからアクセスされることを目的
  • プライベートサブネット:インターネットから隔離したサブネット

サブネットを分ける理由として、主に以下2つがある

  • 物理的な隔離:片方のサブネットが障害時、もう片方に影響が出にくい
  • セキュリティ:各ネットワーク設定ができるので、アクセス制限、通信監視が可能

Amazon Elastic Compute Cloud(EC2)

AWSが仮想サーバーを提供しているサービス
EC2インスタンス:このサービスを利用して作成された仮想サーバー

特徴

  • AWSのWeb画面上の操作で、必要な台数、スペックのEC2インスタンスを容易に構築可能(※)
  • スペックはシステムの利用状況に応じて柔軟に変更可能
  • 利用料金は原則として従量課金制、利用した分だけのコスト負担
     秒単位の課金、最小課金時間は60秒

※スペック選択方法 OS:WindowsLinuxディストリビューションから選択
メモリ、CPU:パッケージ化された仮装メモリ、CPUから選択(パッケージ例:汎用、コンピューティング最適化、メモリ最適化)
ストレージ:SSD、HDDから選択し、GiB単位で選択

Amazon Relational Database Service(RDS)

AWSのリレーショナルデータベースサービス
特徴

  • 最初からデータベースがインストール済
    (Amazon AuroraMySQLPostgreSQLMariaDBORACLESQL Server)
  • OSやDBへのパッチ適用はAWSが行う
     曜日や時間帯をWeb画面上で指定するだけでOK
  • 自動バックアップ可能
     デフォルトで1日1回自動バックアップ(DBとトランザクションログ)
     トランザクションログは5分毎の取得のため、過去5分以内の状態に復元可能
  • マルチAZ
     RDSを複数のAZに構築可能
     DBに障害が発生すると最新スレーブDBへフェイルオーバーが自動で開始
  • リードレプリカ
     マスターDBを複製し読み取り専用として構築したもの
     マスターDBと異なるスペックやストレージで構築可能  マスターDBとの同期処理は非同期

注意点
RDSの停止は最大7日間
手動で起動しないで7日間を経過すると自動起動

Elastic Load Balancer(ELB)

EC2などへの通信トラフィックを分散するロードバランシングサービス
特徴

  • EC2を登録するだけで利用可能
  • 高可用性
     複数のAZへ通信トラフィックを分散可能
     AZに障害が出ても正常なEC2インスタンスへ通信可能
  • 自動スケーリング
     通信トラフィックの負荷に応じ、ELB自体が自動スケーリング
  • ヘルスチェックとモニタリング
     EC2インスタンスのヘルスチェック(正常動作か)を実行可能
     ヘルスチェックに失敗時、そのEC2インスタンスへの振り分けを停止
     EC2インスタンスが正常動作に戻ると再振り分け
  • クロスゾーン分散
     有効:複数AZ内のEC2インスタンス負荷を一定
     無効:AZごとの負荷を一定

Identity and Access Management(IAM)

AWS利用ユーザに対する、AWSサービスアクセス制限の仕組み
AWSアカウント取得直後はrootユーザしかない
⇒セキュリティの観点上、IAMサービスを使用してIAMユーザを作成、操作が基本

Security Group

EC2インスタンスやRDS等に適用するファイアウォール機能

ネットワークACL

サブネット単位で適用するファイアウォール機能

請求

特徴

  • 月末締めで月単位による請求
  • 予算設定
     予め予算額や使用量を設定可能
  • 通知
     予算を超過しそうな場合、超過した場合メール等の通知可能
  • Web上で使用料金をグラフで確認可能

参照

アマゾン ウェブ サービス(AWS)とは?わかりやすく解説 | AWS

ITインフラ(システムインフラ)とは - IT用語辞典 e-Words

AWSを学ぶために最初に構築するアーキテクチャパターン5選 - log4ketancho

Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂版

Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂版

徹底攻略 AWS認定 ソリューションアーキテクト ? アソシエイト教科書

徹底攻略 AWS認定 ソリューションアーキテクト ? アソシエイト教科書

Amazon Web Services実践入門 (WEB+DB PRESS plus)

Amazon Web Services実践入門 (WEB+DB PRESS plus)