最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS...

43
1 最終更新 2019/04/29 AWS AWS AWS AWS サービス全体の概要 サービス全体の概要 サービス全体の概要 サービス全体の概要 AWS インフラストラクチャの概要 アクセス制御サービス ネットワークサービス ELB CloudFront コンピューティングサービス EC2 ストレージサービス S3 EBS その他のストレージサービス データベースサービス データ通知・携処理サービス 構成管理サービス 用管理サービス AWS AWS AWS AWS における高可能アーキテクチャ における高可能アーキテクチャ における高可能アーキテクチャ における高可能アーキテクチャ ネットワーク高可用性 コンピューティング高可用性 ストレージ高可用性 セキュリティ設計 セキュリティ設計 セキュリティ設計 セキュリティ設計 セキュリティ設計 アイデンディティ管理とアクセス管理 ネットワークセキュリティ データの保護 セキュリティ監視 コスト最化 コスト最化 コスト最化 コスト最化 コスト効果が高いリソース定 需要と供給のマッチングによる最化 コストの管理 用の考え方 用の考え方 用の考え方 用の考え方 作業の自動化 用に関するその他のサービス 課金 目次 ■AWS サービス全体の概要 .................................................................................................... 4 AWS インフラストラクチャの概要 ........................................................................................... 4 アクセス制御サービス ..................................................................................................... 4 IAM(Identity and Access Management) ................................................................................. 4 ネットワークサービス ..................................................................................................... 5 VPC(Virtual Private Cloud)の構成要素 ................................................................................ 5 ELB(Elastic Load Balancing) ......................................................................................... 8 CloudFront ............................................................................................................ 9 Route 53 .............................................................................................................. 9 Direct Connect ....................................................................................................... 10 VGW(Virtual Private Gateway) ....................................................................................... 10 コンピューティングサービス .............................................................................................. 10 EC2(Amazon Elastic Compute Cloud) .................................................................................. 10 Lambda ............................................................................................................... 11 API Gateway .......................................................................................................... 12 EMR(Amazon Elastic MapReduce) ...................................................................................... 12 SWF(Amazon Simple Workflow Service) ................................................................................ 13 その他のコンピューティングサービス ................................................................................... 13 ストレージサービス ...................................................................................................... 13 S3(Simple Storage Service) ......................................................................................... 13

Transcript of 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS...

Page 1: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

1

最終更新 2019/04/29

AWSAWSAWSAWS サービス全体の概要サービス全体の概要サービス全体の概要サービス全体の概要

AWS インフラストラクチャの概要

アクセス制御サービス

ネットワークサービス

ELB

CloudFront

コンピューティングサービス

EC2

ストレージサービス

S3

EBS

その他のストレージサービス

データベースサービス

データ通知・連携処理サービス

構成管理サービス

運用管理サービス

AWSAWSAWSAWS における高可能アーキテクチャにおける高可能アーキテクチャにおける高可能アーキテクチャにおける高可能アーキテクチャ

ネットワーク高可用性

コンピューティング高可用性

ストレージ高可用性

セキュリティ設計セキュリティ設計セキュリティ設計セキュリティ設計

セキュリティ設計

アイデンディティ管理とアクセス管理

ネットワークセキュリティ

データの保護

セキュリティ監視

コスト最適化コスト最適化コスト最適化コスト最適化

コスト効果が高いリソース選定

需要と供給のマッチングによる最適化

コストの管理

運用の考え方運用の考え方運用の考え方運用の考え方

作業の自動化

運用に関するその他のサービス

課金

目次

■AWS サービス全体の概要 .................................................................................................... 4

AWS インフラストラクチャの概要 ........................................................................................... 4

アクセス制御サービス ..................................................................................................... 4

IAM(Identity and Access Management) ................................................................................. 4

ネットワークサービス ..................................................................................................... 5

VPC(Virtual Private Cloud)の構成要素 ................................................................................ 5

ELB(Elastic Load Balancing) ......................................................................................... 8

CloudFront ............................................................................................................ 9

Route 53 .............................................................................................................. 9

Direct Connect ....................................................................................................... 10

VGW(Virtual Private Gateway) ....................................................................................... 10

コンピューティングサービス .............................................................................................. 10

EC2(Amazon Elastic Compute Cloud) .................................................................................. 10

Lambda ............................................................................................................... 11

API Gateway .......................................................................................................... 12

EMR(Amazon Elastic MapReduce) ...................................................................................... 12

SWF(Amazon Simple Workflow Service) ................................................................................ 13

その他のコンピューティングサービス ................................................................................... 13

ストレージサービス ...................................................................................................... 13

S3(Simple Storage Service) ......................................................................................... 13

Page 2: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

2

EBS(Elastic Block Store) ........................................................................................... 15

SGW(AWS Storage Gateway) ........................................................................................... 17

EFS(Elastic File System) ........................................................................................... 17

その他のストレージサービス ........................................................................................... 17

データベースサービス .................................................................................................... 17

RDS(Relational Database Service) ................................................................................... 17

DynamoDB ............................................................................................................. 18

Redshift ............................................................................................................. 19

ElastiCache .......................................................................................................... 19

Athena ............................................................................................................... 20

データベースの比較 ................................................................................................... 20

データ通知・連携処理サービス ............................................................................................ 20

SES(Amazon Simple Email Service) ................................................................................... 20

SNS(Amazon Simple Notification Service) ............................................................................ 20

SQS(Amanzon Simple Queue Service) .................................................................................. 20

Data Pipeline ........................................................................................................ 21

Kinesis .............................................................................................................. 21

構成管理サービス ........................................................................................................ 21

CloudFormation ....................................................................................................... 21

Elastic Beanstalk .................................................................................................... 25

OpsWorks ............................................................................................................. 25

CodeDeploy ........................................................................................................... 25

運用管理サービス ........................................................................................................ 25

CloudWatch ........................................................................................................... 25

CloudTrail ........................................................................................................... 26

VPC フローログ ....................................................................................................... 26

CloudWatch Logs ...................................................................................................... 26

AWS Config ........................................................................................................... 27

AWS Systems Manager .................................................................................................. 27

Trusted Advisor ...................................................................................................... 27

■AWS における高可能アーキテクチャ ......................................................................................... 27

コンピューティング高可用性 .............................................................................................. 27

Auto Scaling ......................................................................................................... 27

VPC リソースにおける高可用性コンピューティング ........................................................................ 28

グローバルサービスにおける高可用性コンピューティング .................................................................. 29

ストレージ高可用性 ...................................................................................................... 30

ストレージの選択 ..................................................................................................... 30

ストレージのバックアップ ............................................................................................. 30

■セキュリティ設計 ........................................................................................................ 30

セキュリティ設計 ........................................................................................................ 30

アイデンディティ管理とアクセス管理 ...................................................................................... 31

AWS のアカウント ..................................................................................................... 31

IAM ポリシーによるアクセス権限管理 .................................................................................... 31

クロスアカウントアクセス ............................................................................................. 32

IAM による ID フェデレーション ......................................................................................... 33

ネットワークセキュリティ ................................................................................................ 33

Page 3: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

3

VPC によるネットワーク構成 ............................................................................................ 33

セキュリティグループ ................................................................................................. 34

ネットワーク ACL ..................................................................................................... 34

踏み台サーバーによるセキュアなリモートアクセス制御 .................................................................... 35

データの保護 ............................................................................................................ 35

AWS KMS による鍵の管理・保管 .......................................................................................... 36

CloudHSM による鍵の管理・保管 ......................................................................................... 36

セキュリティ監視 ........................................................................................................ 36

AWS 上でのセキュリティ侵入テスト ...................................................................................... 36

■コスト最適化 ............................................................................................................ 37

コスト効果が高いリソース選定 ............................................................................................ 37

オンデマンドインスタンス ............................................................................................. 37

リザーブドインスタンス ............................................................................................... 37

スポットインスタンス ................................................................................................. 37

リソースの最適なサイジング ........................................................................................... 38

需要と供給のマッチングによる最適化 ...................................................................................... 38

ELB + Auto Scaling ................................................................................................... 38

SQS(Amanzon Simple Queue Service) .................................................................................. 38

Kinesis .............................................................................................................. 39

コストの管理 ............................................................................................................ 40

Consolidated Biling .................................................................................................. 40

AWS Cost and Usage Report ............................................................................................ 40

AWS Cost Explorer .................................................................................................... 40

AWS Budgets(予算設定) .............................................................................................. 41

AWS Trusted Advisor .................................................................................................. 41

■運用の考え方 ............................................................................................................ 41

運用に関するその他のサービス ............................................................................................ 41

サポート ............................................................................................................. 41

課金 ................................................................................................................. 42

Page 4: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

4

■■■■AWSAWSAWSAWS サービス全体の概要サービス全体の概要サービス全体の概要サービス全体の概要

AAAAWSWSWSWS インフラストラクチャの概要インフラストラクチャの概要インフラストラクチャの概要インフラストラクチャの概要

AWS インフラストラクチャ 説明

リージョン 地理的に離れた領域のことを差し世界に 20 箇所(2018 年 12 月時点)ある複数の AZ の集合体

アベイラビリティゾーン(AZ) 複数のデータセンターの集合体で、AZ 間は高速なネットワークで接続されている

エッジロケーション 個々のデータセンター

AWS サービスの範囲 説明

グローバルサービス リージョンに依存しない共通のサービス。

IAM、CloudFront、Route53、WAF

リージョンサービス 特定のリージョン内でのみ利用するサービス。

VPC、DynamoDB、Lambda、ELB、S3、Auto Scaling、SQS、CloudSerch、API Gateway

アベイラビリティゾーンサービス 特定の AZ 内で利用するサービス。

VPC サブネット、EC2、EBS、RDS、RedShift、ElasticCache

アクセス制御サービスアクセス制御サービスアクセス制御サービスアクセス制御サービス

IAMIAMIAMIAM((((Identity and Access ManagementIdentity and Access ManagementIdentity and Access ManagementIdentity and Access Management))))

AWS を利用するユーザーに対して AWS へのアクセスを安全に制御するための仕組み。

ルートユーザー(AWS アカウント)は全ての操作が可能。

Page 5: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

5

IAMIAMIAMIAM ユーザー及び、ユーザー及び、ユーザー及び、ユーザー及び、IAMIAMIAMIAM グループの登録グループの登録グループの登録グループの登録

ユーザーやグループを作成し、必要な権限を与えることでセキュリティを確保する。

EC2 の操作のみ可能なユーザーを作成するなど。

IAM グループを入れ子にすることはできない。

ネットワークサービスネットワークサービスネットワークサービスネットワークサービス

VPCVPCVPCVPC((((VirtualVirtualVirtualVirtual PrivatePrivatePrivatePrivate CloudCloudCloudCloud))))の構成要素の構成要素の構成要素の構成要素

AWS アカウント専用の仮想ネットワーク。

VPC は、AWS クラウドの他の仮想ネットワークから論理的に切り離されており、

AWS のリソース(例えば Amazon EC2 インスタンス)を VPC 内に起動できる。(EC2 作成時に所属する VPC を選択する)

VPC を作成することで、論理的に分割された各ユーザーのプライベートネットワーク空間を作成する。

VPC は複数の AZ を跨ぐ構成にすることで高可用性を実現させる。リージョンを跨ぐことはできない。

リージョンあたりの VPC のデフォルト最大数は 5つ。

0.0.0.0/16 - 28 の範囲で作成可能。デフォルトは /16。

最初と最後はネットワークアドレスとブロードキャストで予約され、

最初から 2~4番目は AWS で予約されているため、実際に使用できる IP は 5つ減る。

最初に作成した VPC(Primary CIDR)とは異なる範囲のサブネットの VPC を追加できる(Secondary CIDR)公式資料

Primary CIDR と Secondary CIDR 間は自動的にルーティングされるため、それぞれのサービス間で通信できる。

VPCVPCVPCVPC サブネットサブネットサブネットサブネット

VPC の中に新しいサブネットを作成するには、VPC の範囲内から新しいサブネットを作成する。(例)10.0.0.0/24 など

サブネットは単一の AZ にのみ作成可能(AZ を跨いで作成できない)

デフォルトのサブネットマスクは/20。

VPC サブネットを作成したらルーティングの設定を行う。

同一の VPC 内であればサブネット間の通信は特に設定しなくてもルーティング可能。

サブネットのトラフィックが IGW(Internet Gateway)にルーティングされる場合、

そのサブネットはパブリックサブネットと呼ばれインターネットへの接続が可能。

IGW の接続がない場合は、プライベートネットワーク。

他の VPC サブネットへのルーティングだけの場合は、Site to Site VPN 接続で、IPv6 トラフィックはサポートされない。

Page 6: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

6

VPCVPCVPCVPC エンドポイントエンドポイントエンドポイントエンドポイント

S3 や DynamoDB へアクセスする際にインターネットを経由せず、AWS 内のプライベート接続を実現するサービス。

VPC のルーティングテーブルに作成したエンドポイントへのルーティングが追加されることで接続が可能になる。

VPC エンドポイントには 2 種類あります。インターフェイスエンドポイントとゲートウェイエンドポイントです。サポートさ

れるサービスにより要求される VPC エンドポイントを作成

ゲートウェイエンドポイン

ルートテーブルの指定されたルートのターゲットであるゲートウェイ。

S3、DynamoDB のサービスを宛先とするトラフィックに使用する。

通常 S3 へのアクセスはインターネットを通して通信され、

プライベートサブネットからの通信は NAT を、Public であればゲートウェイを通過したアクセスとなる。

S3 に VPC エンドポイントを設定することにより、インターネットを使用しないセキュアな通信となり、

プライベートサブネットの場合は NAT を通さない通信が可能となる。

インターフェーイスエンド

ポイント

Linesis、SNS、API Gataway、CloudWatch、EC2 API、ELB API などを宛先とするトラフィックの

エントリポイントとなるプライベート IP アドレスを持つ Elastic Network Interface。

VPVPVPVPCCCC ピアリングピアリングピアリングピアリング

異なる VPC 同士の通信を AWS 内部で行うことができるサービス。

VPC ピアリングを行うことでお互いの VPC 間でプライベートなトラフィックルーティングが可能。

異なる VPC に配置した EC2 インスタンス間、アカウントを跨いだシステム間の通信、異なるリージョンを跨いだ通信が可能。

[ピアリング接続] から VPC と接続したい VPC とそのアカウントを指定するだけで簡単に設定できる。

接続要求を受けた側は作成されたピアリング接続に対して「リクエストの承認」を行う。

pcx-09b4c6eafc3b53ea5 といった VCP ピアリング接続名が作成される。

VPC 間で通信するには[ルートテーブル]で宛先を VPC サブネット、target を VPC ピアリング接続名(pcx~)にする。

VPCVPCVPCVPC の制限の制限の制限の制限

リージョンあたり VPC 数 :5(申請することで緩和可能)

VPC 内の CIDR 数 :5(最初に作成した VPC のサブネットは Primary CIDR、次に作成したのは Secondary CIDR)

VPC あたりの最大サブネット数:200

構成要素構成要素構成要素構成要素

構成要素 説明

IGW(Internet Gateway) VPC 内のリソースからインターネットへアクセスするためのゲートウェイ。

IGW を作成したらアタッチする VPC を設定する。

[ルートテーブル] からアタッチした VPC を選択し[Editrouters]を編集する。

宛先を 0.0.0.0/0 の target を作成した IGW にすることで、

その VPC 内に作成された EC2 がインターネットからアクセス可能になる。

ルートテーブル サブネット内インスタンスに対する静的ルーティングを定義。サブネット単位で設定。

デフォルトゲートウェイ(0.0.0.0/0)に IGW を指定したサブネットがパブリックサブネット。

IGW を指定しないサブネットがプライベートサブネットと定義される。

Page 7: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

7

最初に作成した VCP はデフォルトで 0.0.0.0/0 が IGW に向かっている。

ルートテーブルの編集は、VPC コンソールの左ペインから「ルートテーブル」を選択し、

右ペインで編集したい「ルートテーブル」を選択。下ペインの「Routes」から追加/削除を行う。

インターネットゲートウェ

イ(IGW)

VPC のインスタンスとインターネットとの間の通信を可能にする VPC コンポーネント。

IPv4 のみに対応している。

Egress-Only インターネッ

トゲートウェイ

VPC のインスタンスとインターネットとの間の通信を可能にする VPC コンポーネント。

IPv6 のみに対応している。

NTA ゲートウェイ

プライベートサブネットからインターネットへ接続するための NAT 機能がある。

NAT ゲートウェイを利用しない場合は NAT インスタンスを利用してインターネットにアクセスする。

EC2 インスタンスを NAT サーバーとして利用する。

送信元/送信先チェック(SrcDestCheck 属性)を無効化し自身への通信トラフィックを破棄する設定が必要。

パブリックサブネット A と B は直接 IGW に接続してるが、プライベート A と B はインターネットに接続できな

いため、パブリックサブネット Bにある NAT ゲートウェイを経由してインターネット接続している。

ただし、プライベートサブネットにある EC2 はインターネットから直接アクセスはできない。

0.0.0.0/0 宛てのルートテーブル

サブネット 宛先 サブネット 宛先

パブリック A IGW プライベート A NAT

パブリック B IGW プライベート B NAT

VP ゲートウェイ バーチャルプライベートゲートウェイ。

Direct Connect やインターネット VPN 接続するためのゲートウェイ。

オンプレミス環境と接続 VPC にアタッチする。

VPC フローログ VPC 内のネットワークインターフェース(ENI:Elastic Network Interface)で通信するトラフィック情報を

キャプチャする。キャプチャした情報は CloudWatch Logs へ転送する。

ENI Elastic Network Interface。

AWS で利用する仮想ネットワークインターフェース。AZ 毎に作成可能。

作成した ENI は同じ AZ 内に配置されてる EC2 にアタッチさせることで、EC2 に NIC を追加できる。

EIP(Elastic IP) 固定のグローバル IP アドレスを提供するサービス。インスタンス停止中に課金される。

EC2 に固定の IP を割り当てる場合などに利用。EC2 内で EIP を新規取得し、EC2 に関連付けることで固定。

EIP アドレスは、AWS アカウントに関連付けられる。

EIP アドレスを使用するには、アカウントに 1 つ割り当ててから、それをインスタンスまたは

ネットワークインターフェイスに関連付ける。

Page 8: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

8

ELBELBELBELB((((Elastic Load BalancingElastic Load BalancingElastic Load BalancingElastic Load Balancing))))

EC2 や特定 IP アドレスの通信トラフィックを分散するロードバランシングサービス。

ELB はマルチ AZ(複数の AZ に配置される)にて冗長構成となっている。

ELB に割り当てられている IP アドレスは不定期に変更されるため、ELB への接続はエンドポイントを指定する。

デフォルトの監視間隔は 30 秒。

デフォルトのアイドルタイムアウト(セッション接続後、データ送信がないと接続を閉じるまでの時間)は 60 秒。

ELB は VPC 内リソースの為、複数の AZ を跨ぐことが可能だが、リージョンを跨ぐことはできない。

種類 説明

CLB Classic Load Balancer。標準的なロードバランシングを提供。TCP リクエストをバックエンドインスタンスへ振り分け、

指定されたポートへの通信トラフィックを転送する。

ALB Application Load Balancer。CLB の機能+リクエストのクエリを判断し、パスのルーティングに従って振り分け。

Web サーバーやアプリケーションサーバーのコンテンツベースで特定のサーバーへ処理を振り分けることが可能。

NLB Network Load Balancer。低レイテンシーで高いスループットを実現する場合に利用。

送信元アドレスを保存するため、レスポンスはクライアントへ直接返す。

ELB の種類の詳細は Elastic Load Balancing の特徴を参照。

クロスゾーン負荷分散クロスゾーン負荷分散クロスゾーン負荷分散クロスゾーン負荷分散

クロスゾーン負荷分散が有効な場合

異なる AZを考慮せずに均等に分散する

クロスゾーン負荷分散が無効な場合

AZで均等に負荷分散し、更に AZ内で均等に負荷分散する

(例)アプリケーションロードバランサーによる負荷分散

EC2 ダッシュボードから [ロードバランサー] をクリックし作成をクリック。

設定項目 値

名前 ロードバランサーの名前

スキーム インターネット向け、内部向けのどちらか選択。

リスナー ELB に接続する際の LISTEN ポート番号を指定。

VPC ELB を配置する VPC 及び AZ を指定する。複数の AZ を選択することでマルチ AZ になる。

ターゲットとなる EC2 が存在する VPC 内の AZ を選択する。

Page 9: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

9

セキュリティグループ 特定のトラフィックのみ ELB への接続を許可するセキュリティグループを追加する。

ルーティング設定 ELB に接続されたパケットを転送するルールを指定。ターゲットにポート 80 番で転送など。

ターゲットのヘルスチェックも指定する。

ターゲットの登録 ロードバランシングするターゲット(EC2)グループを登録する。

AutoScaling Group の EC2 を指定する場合は、AutoScaling グループ作成時に高度な設定から

「ひとつまたは複数ロードバランサーからトラフィックを受信する」にチェックを入れて、

ここで作成したロードバランサーのターゲットグループ名を指定する。

ロードバランサーの DNS 名でアクセスすることで、ターゲットへ振り分けられる。

CloudFrCloudFrCloudFrCloudFrontontontont

エッジロケーションからコンテンツを配信する CDN サービス[k1]。

CDN を利用することで閲覧者は地理的にもっとも近い CloudFront のキャッシュサーバーからコンテンツを受け取れるため、

低レイテンシーな WEB サービスを提供することが可能。デフォルトのキャッシュ保持は 24 時間だが、

設定(Cache-Control max-age ディレクティブ)で変更可能。

最小の有効期限切れ時間はウェブディストリビューションで 0 秒、RTMP ディストリビューションで 3600 秒。

最大値は 100 年。

CloudFront へのコンテンツ提供元(オリジン)として、ELB、EC2、S3、オンプレミス環境を指定できる。

主な機能 説明

暗号化 SSL による通信の暗号化が可能。ユーザーが用意した SSL 証明書を導入することも可能。

CloudFront からバックエンドの AWS サービスまでの通信を SSL 暗号化通信にすることも可能。

署名付き URL 一定期間だけアクセスを許可する為の URL を発行し URL を通知した限定的なユーザーのみ公開することが可能。

Java、.Net、Ruby などでオブジェクトをアップロードする際に署名付き URL を発行する。

作成するには認証情報を提供し、バケット名、オブジェクトキー、HTTP メソッド、有効期限を指定する。

作成したユーザーが、そのオブジェクトに対するアクセス許可を持っている場合に

URL で識別されるオブジェクトにアクセス可能。

カスタムエラーページ オリジンからエラーコードが返された場合、あらかじめ設定したエラーページを表示することができる。

地域限定 CloudFront へ接続するユーザーの地域情報に基づいてアクセスを許可または拒否することが可能。

ストリーミング配信 Web サービスのコンテンツ配信に加えて、映像や音声のストリーミング配信にも対応。

RouteRouteRouteRoute 53535353

DNS を提供するマネージドサービス。

既存のドメインや Route53 内でドメイン名を取得し、ホストゾーンを作成することでドメインでのアクセスが可能になる。

外部向け DNS のパブリックホストゾーンと、VPC 内 DNS のプライベートホストゾーンがある。

ELB や CloudFront に対して、Zone Apex レコード[k2]を A レコードで指定することが可能。

DNS だけでなく、通信を制御するルーティングポリシーも利用することが可能。

ルーティングポリシー 説明

レイテンシーベース 最もレイテンシーが低いリソースへルーティングする

加重ルーティング 複数のルートに加重率を設定し、加重率に比例して処理を分散

位置情報ルーティング 接続元クライアントに基づいて距離の近い場所へルーティング

フェイルオーバールーティング ルーティング対象となるリソースへヘルスチェックを行い、

利用可能なリソースへルーティング

Page 10: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

10

シンプルルーティング 設定したレコード情報に従ってルーティング

Direct ConnectDirect ConnectDirect ConnectDirect Connect

オンプレミス環境と AWS の間を専用線で接続するサービス。

オンプレミス環境と Direct Connect 間の接続はユーザーで準備する必要がある。

Direct Connect ロケーションは物理的にもっとも近い AWS リージョン内の全ての AZ へ接続が可能。

オンプレミス環境と AWS を接続する方法として VPN もあるが、低コストで品質は低下する。

Direct ConnectDirect ConnectDirect ConnectDirect Connect 冗長化冗長化冗長化冗長化

Direct Connect を 2 回線用意して冗長化することで高可用性を実現。回線コストは高くなる。

Direct ConnectDirect ConnectDirect ConnectDirect Connect とインターネットとインターネットとインターネットとインターネット VPNVPNVPNVPN の併用の併用の併用の併用

Direct Connect 障害時のバックアップ回線としてインターネット VPN を利用する。

インターネット VPN は、各ルーターに最適化された設定ファイルを AWS マネージメントコントールから DL し、

その設定ファイルを元にオンプレミスのルーターの設定を行うだけで利用可能。

VGWVGWVGWVGW((((Virtual Private GatewayVirtual Private GatewayVirtual Private GatewayVirtual Private Gateway))))

オンプレミス環境と AWS を接続する際に利用する仮想プライベートゲートウェイ。

インターネット VPN や Direct Connect 接続する際にあらかじめ用意しておき、VPC 内へアタッチして利用する

コンピューティングサービスコンピューティングサービスコンピューティングサービスコンピューティングサービス

EC2EC2EC2EC2((((Amazon Elastic Compute CloudAmazon Elastic Compute CloudAmazon Elastic Compute CloudAmazon Elastic Compute Cloud))))

AWS が提供する仮想サーバー。1アカウントにつき 1リージョン内に 20 台(上限緩和申請で 50 台)まで稼働可能。

ログインユーザーは ec2-user。root になるには、sudo su - コマンド。

API コマンド 内容

create-snapshot スナップショット作成

インスタンスファミリーの種類インスタンスファミリーの種類インスタンスファミリーの種類インスタンスファミリーの種類

インスタンスファミリー 主な種類 特徴

汎用(CPU 定常) M4、M5 一般的なシステム用途に適用可能なバランス型

汎用(バーストバースト) T2 CPU を頻繁にフルパワーせず、時折バーストが必要なことがあるパワーロード向け

コンピューティング最適化 C4、C5 コスト効果の高い CPU 処理に特化

メモリ最適化 X1e、X1、R4 大容量のメモリに特化

高速コンピューティング P2、P3、G3、F1 GPU や FPA など高速処理に特化

ストレージ最適化 H1、I3、D2 ストレージ容量や I/O スループット性能に特化

インスタンス構築の流れインスタンス構築の流れインスタンス構築の流れインスタンス構築の流れ

① AMI(Amazon Machine Image)の選択

AMI と呼ばれるイメージファイルから起動する。Amazon で標準で用意されてるが、ベンダー提供の AMI も利用可能。

AMI は EBS-Backed インスタンスか、Instance Store-Backed インスタンスの 2つがある。

Instance Store-Backed インスタンスは EC2 インスタンス停止後、データは削除される。

Page 11: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

11

② インスタンスタイプ(サーバースペック)の選択

③ インスタンスの詳細設定(Auto Scaling、所属する VPC、サブネット、自動割り当てのパブリック IP など)

自動割り当てパブリック IP を有効にすることで、パブリック IP が付与される。後から追加することは出来ない。

④ ルートデバイスのストレージサイズ変更や、追加ストレージの設定

⑤ タグの追加

⑥ セキュリティグループの追加

⑦ キーペアの設定

公開鍵方式を採用し、公開鍵は AWS で管理され EC2 インスタンス起動時にコピーする。

秘密鍵は DL してユーザーが EC2 へ接続する際に利用する。

オプション設定 説明

DisableApiTermination インスタンスの削除を保護する。(デフォルトは false で無効)

DeleteOnTermination インスタンス削除時、インスタンスのルートボリュームも削除する(デフォルトは True で削除される)

ユーザーデータユーザーデータユーザーデータユーザーデータ

EC2 インスタンスの初回起動時に 1回だけスクリプトを実行できる機能。

AMI から EC2 インスタンスを起動する際に、最新のコンテンツを反映する場合などに利用。

(例) 起動時に S3 から最新コンテンツを取得する

aws s3 cp s3://example-bucket/contents.html /var/www/html

インスタンスメタデータインスタンスメタデータインスタンスメタデータインスタンスメタデータ

EC2 インスタンス自身に関するデータで、実行中のインスタンスを設定または管理するために利用する。

http://169.254.169.254/latest/meta-data/にブラウザや、cURL コマンドでアクセスして取得可能。

情報は、インスタンス ID、プライベート IPv4 アドレス、パブリック IPv4 アドレス、ローカルホスト名、公開鍵など。

クラスタクラスタクラスタクラスタプレイスメントグループプレイスメントグループプレイスメントグループプレイスメントグループ

単一のアベイラビリティーゾーン内の EC2 インスタンスを論理的にグルーピングしたもの。

同じ AZ 間に EC2 インスタンスが配置されているため、異なる AZ 間やリージョン間より高速に処理ができる。

複数のコンピューティングリソースを 1つとして機能する為、クラスタコンピューティング実装用途に適してる。

スプレットプレイスメントグループスプレットプレイスメントグループスプレットプレイスメントグループスプレットプレイスメントグループ(参考)

それぞれ異なるハードウェアに配置されるインスタンスのグループ。

スプレッドプレイスメントグループでインスタンスを起動すると、インスタンスが同じ基本ハードウェアを

共有するときに発生する可能性のある、同時障害のリスクが軽減される。

複数のアベイラビリティーゾーンにまたがることができ、グループごとにアベイラビリティーゾーンごとに

最大 7 つの実行インスタンスを持てる。

LambdaLambdaLambdaLambda

Lambda がサポートする何れかの言語(Node.js、java、C#、Go、Python)をデプロイするだけで

実行することができるサーバーレスなサービス。

実行時間に制限(最大 900 秒)があるため、時間を要する処理には不向き。

Page 12: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

12

様々な AWS サービスと連携可能で、イベント駆動型アプリケーションを実行ができる。

メモリを 128MB~3008MB(64MB 単位)で設定可能。メモリの容量に応じて CPU 能力も高くなる。

使用例使用例使用例使用例

S3 にコンテンツがアップロードされたり、DynamoDB テーブルの変更などをトリガーとして、Lambda のコードを実行。

Amazon API Gateway のバックエンドに Lambda を使用することで、HTTP リクエストに応答してコードを実行。

Amazon Kinesis データストリームからレコードを読み取り、ストリームコードを含むイベントを使用し関数を同時に実行。

ExecutionRoleExecutionRoleExecutionRoleExecutionRole

Lambda にアタッチされた IAM ロールのこと。

Lambda は IAM ロールの権限に従って各 AWS サービスへアクセスするため、IAM ロールのアクセス制御設計が必要。

ロギングロギングロギングロギング

Lambda 関数の処理結果は CloudWatch Logs に保存される。

API GatewayAPI GatewayAPI GatewayAPI Gateway

API の作成、配布、保守、監視、データ保護を簡単に行えるサービス。コンテンツのキャッシュも行う。

通常は以下のように処理内容に伴い URL を作成する。

API Gateway を利用することで 1つの URL で全ての処理を管理できる。

API Gateway と、EC2 インスタンスや Lambda と組み合わせることで Web アプリケーションのバックエンドやデータ、

ビジネスロジックにアクセスすることができる。

API Gateway 自体はサーバーを管理する必要がないため、

Lambda と組み合わせることでサーバーレスアプリケーションを実装できる。

EMREMREMREMR((((Amazon Elastic MapReduceAmazon Elastic MapReduceAmazon Elastic MapReduceAmazon Elastic MapReduce))))

大量のデータを迅速、安易に、コスト効果良く処理する為の Web サービス。

大規模なデータを蓄積分析する技術に Hadoop や Spark などの分散処理があるが、

Page 13: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

13

EMR はこれらの主要な分散処理環境を構築でき、それを利用した分散処理を安易に行うことができる。

SSSSWFWFWFWF((((Amazon SimpleAmazon SimpleAmazon SimpleAmazon Simple Workflow ServiceWorkflow ServiceWorkflow ServiceWorkflow Service))))

分散するアプリケーションコンポーネントにまたがる作業のコーディネートを目的とするウェブサービス。

メディア処理、ウェブアプリケーションのバックエンド、ビジネスプロセスワークフロー、

分析パイプラインなどのアプリケーションを、複数のタスクを連携させたものとして設計することが可能。

その他のコンピューティングサービスその他のコンピューティングサービスその他のコンピューティングサービスその他のコンピューティングサービス

種類 説明

ECS Amazon Elastic Container Service

Docker コンテナを簡単に実行、停止、管理することが可能。

VM Import オンプレミス環境に作成した仮想サーバーのマシンイメージを AWS の EC2 インスタンスにインポートする。

VM Exporta VM Import によって AWS 上にインポートされた EC2 をオンプレミス環境で動作する仮想サーバーの

マシンイメージへエクスポートする。

Amazon WorkSpaces マネージド型で、セキュアなクラウドベースの仮想デスクトップサービス。

Windows または Linux のデスクトップが数分でセットアップでき、すばやくスケールすることで

世界中のたくさんの従業員にデスクトップを提供可能。

自分が起動した WorkSpaces に対してのみ、月単位または時間単位のいずれかで支払うことができるため、

従来のデスクトップやオンプレミスの VDI ソリューションに比べて、費用を削減可能。

ストレージサービスストレージサービスストレージサービスストレージサービス

S3S3S3S3((((Simple Storage ServiceSimple Storage ServiceSimple Storage ServiceSimple Storage Service))))

高耐久・大容量のオブジェクトストレージ。S3 はバケットと呼ばれる単位で作成する。

バケットはグローバルで一意の名前にする必要があるため、他の人が使用してる名前は使用不可。

1 つの AWS アカウントにつき、バケット数は 100 に制限される。

HTTP 経由のため、どのリージョンからもアクセス可能。

キー名がシーケンシャルだと I/O が分散せず性能が向上しないため、

16 進のハッシュプレフィックスをキー名に追加するなどの考慮が必要だったが、2018 年 07 月に性能が上がったことで、

PUT/POST/DELETE に対する 3,500 リクエスト/秒 および GET 5,500 リクエスト/秒以内であれば考慮不要になった。

特徴 説明

高耐久性 デフォルトで同一リージョン内の 3箇所の AZ へ自動的に複製。データ耐久性は 99.999999999%。SLA は 99.99%。

大容量 容量に実質制限なし。1ファイルのあたりのサイズは 1byte~5TB。

バージョニング機能 オブジェクトの世代管理。デフォルトでは同一の名前のオブジェクトをアップロードすると上書きされる

静的Webサイトホ

スティング

Web サイトをホスティングする機能を備えている。

静的コンテンツを配信するサイトであれば、サーバーを構築することなく Web サイトを公開できる。

暗号化 以下、何れかの暗号化の機能を備えている

・S3 のデフォルトキーを使用した AES-256 暗号化

・AWS Key Management Service で管理されている鍵による AES-256 暗号化

・ユーザー任意の鍵による AES-256 暗号化

アクセス制御 以下、3つのアクセス制御機能を備えている

・IAM ポリシーによるアクセス制御(IAM ユーザーやロールから Read、Get、Put 操作に対する制御を行う)

Page 14: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

14

・バケットポリシーによるアクセス制御

S3 バケットに対して JSON コード(データ記述言語のひとつ)を直接記載してアクセス制御を行う。

・ACL によるアクセス制御

S3 バケットに対して AWS アカウントレベルのアクセス制御を行う。

ACL からパブリックアクセスの設定を行うことで不特定多数のユーザーへのファイル公開も可能

ストレージクラ

スタンダード 3 つの AZ にデータ保存し、99.999999999%の高耐久性を備えている。

標準低頻度アクセス

Standard-Infrequent Access

スタンダードと同じ耐久性だが低コストで運用可能。

データ読み取りに対して課金されるため、長期保管やバックアップに適してる。

1 ゾーン低頻度アクセス

One Zone-Infrequent Access

1 箇所の AZ のみにデータ保存するため、耐久性が下がるがより安価。

スタンダードより 20%コスト低い。

低冗長化ストレージ

Reduced Redundancy Storage

2 箇所の AZ に保管することで耐久性は下がるが、安価。

Amazon Glacier アーカイブを目的としたストレージで、大容量のデータを安価に保管できる。

1 つのファイルの最大容量は 40TB で、総容量に制限はない。

データ取り出しは以下のオプションから選択する。取り出しが早いほどコスト高。

迅速 :1~5分でアーカイブデータの取り出しが可能

アーカイブ容量の最大値は 250MB

標準 :3~5時間で取り出し可能

大容量:5~12 時間で取り出し可能

ライフサイクル

ポリシー

ライフサイクルポリシーを設定することで、設定した期間が超過したらオブジェクトを自動で削除したり、

アーカイブ化(Amazon Glacier に移動)したりすることができる。

署名付き URL S3 のデータに対して一定時間のみアクセスを許可するための URL を発行できる。

AWS へログインできないユーザーでもデータへアクセスすることが可能。

ログ管理 CloudTrail や ELB など AWS Key Management Service で管理サービスのログの標準出力先として利用

マルチパートア

ップロード

大容量のオブジェクトを複数のパートに分割してアップロードする。

全てのアップロードが終わったら S3 側でオブジェクトの再構築を行う。レジューム機能あり。

クロスリージョンレプリケー

ション

同一リージョン内の 3つの AZ へ複製されるが、クロスリージョンレプリケーションを有効化することで、

別のリージョンの S3 バケットにオブジェクトを複製できる。別の AWS アカウントも指定可能

データ整合性モデルデータ整合性モデルデータ整合性モデルデータ整合性モデル

データ保存方法 モデル 説明

新規追加(PUT) 書き込み後の

読み込み整合性

データの保存後、S3 から完了(HTTP200)が返されるとデータが参照できるため

データの一貫性が保証される

更新(PUT) 結果整合性 データ更新直後は古いデータが参照されることがある

削除(DELETE) 結果整合性 データ削除直後は削除前のデータが参照されることがある

静的静的静的静的 WebWebWebWeb ホスティングホスティングホスティングホスティング方法方法方法方法

バケットを作成し以下の設定を編集する。編集で保存した時に拒否となった場合は、パブリックアクセス権限を見直す。

大項目 中項目 設定方法

概要 アップロード ホストするファイルをアップロードする。

アップロードの際に読み取り権限を付与する。

Page 15: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

15

プロパティ Static website hosting [ウェブサイトをホストする] にチェックする。

アクセス権限 アクセスコントロールリスト パブリックアクセス [Everyone]にチェックする。

バケットポリシー {

"Version": "2012-10-17",

"Statement": [

{

"Sid": "PublicReadForGetBucketObjects",

"Effect": "Allow",

"Principal": "*",

"Action": "s3:GetObject",

"Resource": "arn:aws:s3:::バケット名/*"

}

]

}

静的コンテンツにアクセスする URL は以下、何れでも良い。

http://[bucket].s3.amazonaws.com/[path]

https://[bucket].s3.amazonaws.com/[path]

http://s3-[region].amazonaws.com/[bucket]/[path]

https://s3-[region].amazonaws.com/[bucket]/[path]

http://s3-[region].amazonaws.com/[path]

https://s3-[region].amazonaws.com/[path]

http://[bucket].s3-[region].amazonaws.com/[path]

https://[bucket].s3-[region].amazonaws.com/[path]

CrossCrossCrossCross----Origin Resource Sharing (CORS)Origin Resource Sharing (CORS)Origin Resource Sharing (CORS)Origin Resource Sharing (CORS)

特定のドメインにロードされたクライアントウェブアプリケーションが異なるドメイン内のリソースと通信する方法を定義。

S3バケットの内容を別の会社と共有する際に、別の会社の AWSアカウントだけが S3バケットの内容にアクセスさせる必要があ

るある場合に利用する。

EBSEBSEBSEBS((((Elastic BElastic BElastic BElastic Block Storelock Storelock Storelock Store))))

永続的なブロックストレージで EC インスタンスにアタッチすることで利用できる。

EBS は割り当てた容量が課金対象となる。(使用している容量ではない)

複数の EC2 からアクセスする共有ディスクとして使用できない。共有する場合は、EFS を利用する。

AZ のサービスのため、同じ AZ 内のボリュームしかマウントできない。

1 つの AZ で冗長化されているため、AZ 障害の場合はデータが消失する。

別のリージョンで使用するには、スナップショットを作成し、別のリージョンにコピー後、

スナップショットから EBS ボリュームを作成する。

ストレージタイプ 説明

汎用 SSD

(gp2)

デフォルトで提供されるストレージタイプ。容量に応じて IOPS が設定されている。

低レイテンシーなアプリケーション、開発、テストなどの利用を想定。

プロビジョンド IOPS SSD

(io1)

高パフォーマンスを実現できるストレージタイプで、IOPS を設定して利用可能。

大規模なデータベースなどの利用を想定。

スループット最適化 HDD

(st1)

HDD タイプのストレージタイプで大容量のストレージを安価に利用することが可能。

契約できる最低の容量が大きくなっている。

ビックデータやデータウェアハウス、ログ処理などを想定。

コールド HDD

(sc1)

アクセス用途が低い用途に適した HDD。

アクセス頻度の低い大容量のデータを保存するストレージに適してる

Page 16: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

16

マグネティック アクセス頻度が低い用途に適した旧世代 HDD。アクセス頻度の低いワークロードに適してる

特徴 説明

高可用性 AZ 内で自動的に複製されるため、単一ディスク障害を回避することが可能

スナップショット

バックアップ

スナップショットを用いたバックアップを取得することが可能。

スナップショットは自動的に S3 へ保管されるため、高い耐久性を持っている。

初回はフルバックアップだが、以降は増分バックアップ。

ボリュームタイプのパフォーマンス比較ボリュームタイプのパフォーマンス比較ボリュームタイプのパフォーマンス比較ボリュームタイプのパフォーマンス比較

種類 SSD HDD

タイプ gp2 io1 st1 sc1 マグネティック

サイズ 1GB~16TB 4GB~16TB 500GB~16TB 500GB~16TB 1GB~1TB

最大 IOPS 16000 64000 ※1 500 250 平均 100

最大スループット 250MiB/秒 ※2 1000MiB/秒 500MiB/秒 250MiB/秒 40~90MiB/秒

※1 必要な IOPS 値を指定可能(IOPS に対して課金あり)64000 は Nitro ベース[k3]のインスタンスのみ可能

その他のインスタンスファミリーは最大 32000

※2 ボリュームサイズに応じてスループット制限あり

EBS EBS EBS EBS VolumeVolumeVolumeVolumessss のののの StatusStatusStatusStatus チェックチェックチェックチェック

1.Amazon EC2 コンソールを開く

2.ナビゲーションペインの [Volumes] を選択

3.[EBS Volumes] ページの [Volume Status] 列に、各ボリュームの動作状況が表示される

4.各ボリュームのステータスを表示するには、ボリュームを選択して、[Status Checks] を選択する

ステータス I/O 有効ステータス I/O パフォーマンスステータス

(プロビジョンド IOPS ボリュームでのみ使用可能)

ok Enabled (I/O Enabled または I/O Auto-Enabled) Normal (ボリュームパフォーマンスは想定どおり)

warning Enabled (I/O Enabled または I/O Auto-Enabled) Degraded (ボリュームのパフォーマンスが想定を下回っている)

Severely Degraded (ボリュームのパフォーマンスが想定を

かなり下回っている)

impaired Enabled (I/O Enabled または I/O Auto-Enabled)

Disabled (ボリュームがオフラインで復旧の保留中

またはユーザーによる I/O の有効化待ち)

Stalled (ボリュームのパフォーマンスは致命的な

影響を受けている)

Not Available (I/O が無効なため、I/O パフォーマンス判定不能)

insufficient-

data

Enabled (I/O Enabled または I/O Auto-Enabled)

Insufficient Data

Insufficient Data(データ不足)

EBSEBSEBSEBS 最適化インスタンス最適化インスタンス最適化インスタンス最適化インスタンス

少額の、時間単位の追加料金が必要。

EC2 を作成するときに「EBS 最適化」の設定を選択すると、EC2⇔EBS 間で専用の通信帯域を確保できる。

EBS 最適化インスタンスを選択しない場合は、EC2⇔EBS とその他通信で通信帯域を使うため、スループットが遅くなる。

使用するインスタンスタイプに応じて 500 Mbps または 1000 Mbps が選択できる。

RAIDRAIDRAIDRAID の設定の設定の設定の設定

Page 17: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

17

RAID0、1、5、6が利用可能。

RAID0 によるストライピングはオンプレミスの場合はディスク故障=データ消失になるが、

AWS では AZ 内で HDD を複製していることから耐障害性と高速な処理を兼ね備えている。

EBS は AZ 内で HDD を複製していることから、パリティ書き込みが発生する RAID5、6 は AWS で推奨しない。

SGWSGWSGWSGW((((AWS Storage GatewayAWS Storage GatewayAWS Storage GatewayAWS Storage Gateway))))

S3 へ NFS、SMB、iSCSI といった標準プロトコルでアクセス出来るサービス。

EC2 インスタンスだけでなくオンプレミスサーバーに S3 をマウントして利用することも可能。

最適化された転送がされており、圧縮、暗号化、帯域幅の管理が組み込まれている。

SGW のストレージタイプとして以下の種類がある。

タイプ 接続 説明

キャッシュ型ボリュームゲートウェイ iSCSI データは S3 に格納。アクセス頻度の高いデータはローカルにキャッシュ

保管型ボリュームゲートウェイ iSCSI データをスナップショットして S3 に格納

テープゲートウェイ iSCSI 物理テープの装置の代替として S3(Glacier)に格納

ファイルゲートウェイ NFS データを S3 に直接オブジェクトとして格納。NFS を利用

EFSEFSEFSEFS((((Elastic File SystemElastic File SystemElastic File SystemElastic File System))))

複数の EC2 から共有ファイルストレージとして利用可能。

数千台の EC2 に対して超並列アクセスを提供するよう設計され、ファイルシステムの拡張に合わせて

スケールする高レベルの全体スループットと IOPS および一貫した低レイテンシーを提供する。

ストレージ容量やパフォーマンスを自動的にスケーリングする。

AZ 間で自動複製されるが、スナップショットが取れない。

その他のストレージその他のストレージその他のストレージその他のストレージサービスサービスサービスサービス

ストレージ 説明

インスタンスストア 特定の EC2 のインスタンスタイプで利用できる無料のストレージ。

ホストコンピュータのローカル領域を使用しているため、高パフォーマンスだが EC2 停止時にデータが消える

AWS Import/Export ペタバイト規模の大容量データを AWS 内ストレージへ転送するサービス。

ユーザーから送付された物理ディスクのデータを AWS が AWS 内のストレージへ転送したり、

ユーザーの物理ディスクに書き出すサービス。

AWS Import/Export

Snowball

AWS Import/Export の後継サービスで耐久性とセキュリティが向上している。

コンソールからジョブを作成するだけで登録した住所へ自動的に発送される。

データベースサービスデータベースサービスデータベースサービスデータベースサービス

データベースはマネージド型になっている。

マネージド型のデータベースは下記のような作業を AWS の機能に任せるデータベースのこと。

・最初から DB がインストールされているため、すぐに DB を利用可能

・DB が動作している OS や DB のパッチ適用は AWS で行う

・DB のスケールアップやアウトは、AWS の機能を使うことができる

RDSRDSRDSRDS((((Relational Database ServiceRelational Database ServiceRelational Database ServiceRelational Database Service))))

マネージド型データベースで、以下のデータベースエンジンをサポート。

Page 18: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

18

・Amazon Aurora(AWS が開発した RDB で、PostgreSQL と MySQL と互換性あり、性能は PostgreSQL の 3 倍、MySQL の 5 倍)

・PostgreSQL

・MySQL

・Oralce Database ※ RAC はサポートしてない

・MicroSoft SQL Server

RDS を起動するとエンドポイントと呼ばれる専用の DNS 名が発行される。

ユーザーやアプリケーションはこのエンドポイントに接続して RDSを利用することが可能。SSHや RDP による接続はできない。

特徴 説明

パッチ適用の

管理負荷軽減

曜日や時間帯をメンテナンスウインドウで指定するだけで AWS が自動でパッチ適用。

マルチ AZ の場合は、スレーブ DBのメンテナンス実施しマスターDB に昇格。

メンテナンス前のマスターDB は、メンテナンスを行いスレーブ DB となる。

バックアップと

復元

自動でバックアップ(スナップショット)する。1日 1回 DB とトランザクションログが取得される。

デフォルトの保管期間は 1日で、最大 35 日分。手動で取得したスナップショットは削除されない。

トランザクションログは 5分毎に S3 に保存している。

マルチ AZ RDS を複数の AZ に構築すること。プライマリ DB のデータを別の AZにあるスタンバイ DB へ同期する。

プライマリ DB が障害になった場合は、スレーブ DB をプライマリ DB に昇格し、

DNS レコードをスレーブ DB だった DB に切り替える。

マルチ AZ にするとリソース消費が増えるため、コストが高くなる。

リードレプリカ マスターDB と同じ DB を複製し読み取り専用として構築。MySQL、MariaDB、PostgreSQL、Aurora で利用可能。

1 つの DB インスタンスから最大 5台のリードレプリカを構築できる。異なるリージョンに作成可能。

リードレプリカを通常の DB インスタンスへ昇格させることも可能。

非同期のレプリケーションのため、常に最新のデータが取れる訳ではない。

2018 年 01 月からリードレプリカのマルチ AZ 対応。

SSL 接続 SSL を利用して DB へ接続する。

DynamoDBDynamoDBDynamoDBDynamoDB

マネージド型の NoSQL データベース。RDS では管理できない構造化データまたは半構造化データの管理が可能。

データ 説明 例

構造化データ データを管理する構造を決め、その構造に合わせて格納したデータ RDB、Excel

半構造データ システムのログ、センサー(IoT)データ、位置情報、SNS データ、設定ファイルなど JSON、XML

非構造データ 構造が定義されておらず、データの関係をモデルに当て嵌めることができないデータ TXT、MPEG

高い信頼性とパフォーマンスを維持できるため、可用性を求められ、大量のデータ処理が必要な場合に向いている。

モバイルゲームやアドテクノロジー(広告配信システム)、IoT でのセンサーデータの DB など。

保存容量に制限はなく、キャパシティユニット(1秒間の処理能力)にてスループットを指定可能。

特徴 説明

キーバリュー型 1 つのデータはキーとバリューで構成されデータとして書き込むときはこのセットで保存される。

RDB のように数値、文字列、といったシンプルなデータだけでなく、JSON のような半構造体データもバリューとして

格納することができる。

Page 19: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

19

マルチ AZ データは 3箇所の AZ に複製され、1つの AZ につき、2つのディスクに書き込む。よって 6箇所に保存される。

2 つの AZ に正常書き込みできた時点で DynamoDB として DBA 書き込みが正常に完了したと判断される。

残り 1つの AZ は書き込み中のため、その AZ を参照した場合は、最新データではない値が返ってくる。

クライアント通

DynamoDB とクライアントのやりとりは API で行われる。

クライアントのインターフェースは AWS SDK と、AWS Command Line Interface が提供されている。

DAX Amazon DynamoDB Accelerator。DynamoDB 用のインメモリキャッシュ。

DynamoDB と DAX を一緒に利用することで、1秒あたり 100 万単位のリクエスト応答を数ミリ秒で処理可能。

RedshiRedshiRedshiRedshifffftttt

ペタバイトクラスのデータも扱うことが可能なマネージド型データウェアハウス。

一般的な RDB は行単位でデータを追加、更新、削除するが、Redshift は列単位でデータを扱う。

列単位でデータを扱うため、対象データのある列に格納された値をすべて集計するような処理を高速に行うことが可能。

BI ツールなどを利用した大量のデータ集計、分析に向いている。

ノードと呼ばれるコンピューティングリソースの集まり(クラスター)で、リーダーノードが処理を受け取り、

コンピュータノードに対して処理を依頼する。

マルチ AZ はサポートせず、シングル AZ のみサポート。

可用性を実現するには、2つの RedShift データウェアハウスクラスターを別の AZ へ配置し、

同じ S3 入力ファイルセットからデータをロードする。

スナップショットを作成することでバックアップできる。

自動設定を有効にすると 8時間毎か、ノードあたり 5GB のデータ変更があったときに取得。

自動で取得したスナップショットは保存期間が過ぎると削除される。

スナップショットの格納先は標準は RedShift が配置されてるリージョンになるが、別のリージョンにもコピー可能。

永続的にバックアップしたい場合は手動でスナップショットを取得する。

ElastiCacheElastiCacheElastiCacheElastiCache

マネージド型インメモリデータベース。高スループット且つ、低レイテンシーな処理を実現。

Web アプリケーションと DB の間に構成することで、Web から DB へ問い合わせした際に

ElastiCache にクエリ結果がキャッシュされていれば、DB へアクセスせずに結果を返すことができる。

RDB のパフォーマンス向上のために利用する。

インメモリデータベースとして、Memcached と Redis をデータストアとして利用可能。

データストア Memcached Redis

特徴 ・一般的なキャッシュ用として使用

・ノード間の複製は行わない

・データベースを別途用意

・マスターとスレーブ型の構成

・データストアとしても利用可能

選択基準 ・シンプルなデータ構造が必要

・複数のコアまたはスレッドを持つ大きなノードを

実行する必要がある

・スケールアウトおよびスケールインが必要

・ハッシュ型やリスト型などの複雑なデータ構造を用いる

・マスターノードに障害が発生したときに自動的に F/O する

・読み取るデータ量が多いのでマスターノードから

複製のリードレプリカに複製する

Page 20: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

20

・DB などのオブジェクトをキャッシュする必要がある ・永続性が必要

AthenaAthenaAthenaAthena

標準 SQL を使用して S3 でのデータの直接分析を簡易化するサーバーレスなサービス。実行したクエリのみ課金。

AWS マネジメントコンソールでいくつかアクションを実行するだけで、Athena にデータの保存先の Amazon S3 を設定し、

標準 SQL を使用してアドホッククエリの実行を開始可能。

データベースの比較データベースの比較データベースの比較データベースの比較

項目 RDS DynamoDB Redshift ElastiCache

製品

タイプ

RDB ○ - ○ -

NoSQL - ○ - ○

マルチ AZ ○ ○ - ○

特徴 ・頻繁なデータ更新、

トランザクション処理

・複雑な SQL による

データ抽出

・キーバリュー型データ構造

・半構造データの格納が可能

大容量データの集計、

分析を高速に処理できる

クラスター構成

メモリ上にデータを格納

するため高速

用途例 企業の基幹システム モバイルゲーム

IoT データ管理

BI ツールなどの

集計・分析

データベースの

キャッシュ

データ通知・連携処理サービスデータ通知・連携処理サービスデータ通知・連携処理サービスデータ通知・連携処理サービス

SESSESSESSES((((Amazon Simple Email ServiceAmazon Simple Email ServiceAmazon Simple Email ServiceAmazon Simple Email Service))))

AWS で提供される Eメールサービス。

例えば Web アプリケーションから SES で提供される API を実行することでメール利用して簡単に通知が行える。

SNSSNSSNSSNS((((Amazon Simple Notification ServiceAmazon Simple Notification ServiceAmazon Simple Notification ServiceAmazon Simple Notification Service))))

AWS で提供されるメッセージ通知サービス。

任意のメッセージを HTTPS などのさまざまなプロトコルでアプリケーションから簡単に送信できる。

メッセージ保存期間は 1分~14 日。デフォルトは 4日間。

CloudWatch や SQS、Lambda をはじめとした AWS のさまざまなサービスへの通知連携も可能。以下の要素で構成。

要素 説明

トピック メッセージを送信し通知を受信するためのアクセスポイント。

トピックを作成し、購読者がこのトピックを購読することで通知の送受信が可能となる。

サブスクライバ 対象となるトピックから発信されるメッセージの購読者(サブスクライバ)を設定する。

SMS、Email、HTTP/HTTPS 、SQS、Lambda などのプロトコルが選択できる。

パブリッシュ 作成したトピックに対してアプリケーションなどからメッセージを送信する。

送信されたメッセージは SNS からサブスクライバへ配信(パブリッシュ)される。

SQSSQSSQSSQS((((Amanzon Simple Queue ServiceAmanzon Simple Queue ServiceAmanzon Simple Queue ServiceAmanzon Simple Queue Service))))

メッセージキューイングのマネージドサービスで実現できる。

メッセージをキューイングすることでバッチのような非同期かつ並列な分散処理が可能。

詳細は後述(需要と供給のマッチングによる最適化)

Page 21: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

21

Data Pipeline Data Pipeline Data Pipeline Data Pipeline

DB からのデータ取り出し、変換、保存(ETL)などデータに対して順次処理(パイプライン処理)といったことが可能。

・データの ETL 処理をスケジュール機能で自動化

・データの順次処理をワークフロー形式で定義

・処理の成功・失敗などのイベントの通知が可能

・オンプレミス環境との連携が可能

ユースケースユースケースユースケースユースケース

・1 日 1回 DynamoDB などの DB からデータを取り出しバックアップしたあと、取り出し元のテーブルを削除

・企業の複数拠点にある Web サーバーからアクセスログを S3 定期保存・加工し S3 から Redshift へデータロード

KinesisKinesisKinesisKinesis

リアルタイムに流れてくるデータの処理に Amazon Kinesis を利用する。

IoT デバイスなどのデバイスからデータをリアルタイムに受信して分析する場合に利用する。

詳細は後述(需要と供給のマッチングによる最適化)

構成管理サービス構成管理サービス構成管理サービス構成管理サービス

構成サービス名 説明

AWS CodeCommit Git ベースのリポジトリを利用したソース管理サービス

AWS CodePipeline アプリケーションのビルド、テスト、デプロイまでの処理手順を定義し実行

Code Deploy アプリケーションのデプロイを自動化する

Elastic Beanstalk Web アプリケーションやサービスをサーバーにデプロイでき、また実行環境の管理も行う

OpsWorks 構築手順通りにサーバー構築作業を自動化することができる

CloudFormation AWS 内のすべてのインフラストラクチャリソースを自動でプロビジョニングできる

CloudFormationCloudFormationCloudFormationCloudFormation

AWS 内のすべてのインフラストラクチャリソースを自動でプロビジョニングできるサービス。

アプリケーション開発で実践されてるコード管理・自動化という手順をインフラストラクチャ構築にも導入し、

構築作業内容をコードで記述して管理できるようにした Infrastructure as Code(IaC)という考え方がある。

IaC を実現したのが、AWS リソースをプロビジョニングするサービスである CloudFormation。

構成管理 説明

テンプレート CloudFormation の設定ファイルで、プロビジョニングしたい AWS リソースを記述する。

JSON または YAML フォーマットで記述されている。

スタック テンプレートを利用して CloudFormation によってプロビジョニングされる AWS リソースの集合。

テンプレートに記載された内容に基づいてプロビジョニングしてスタックを作成するのが CloudFormation の特徴

テンプレートの定義内容に従って AWS リソースを構築することができる。このテンプレートが IaC のコードになる。

テンプレートに記載された内容に基づいて、プロビジョニングしてスタックを作成する。

構成管理 説明

プロビジョニング 複数の IT リソースをシステムの利用状況や障害発生状況に応じて動的に利用したり割り当てしたりする

デプロイ サーバーにファイルやアセットを配置し、それを利用できる状況にする

Page 22: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

22

テンプレートは JSON(JavaScript Object Notation)または YAML(YAML Ain't Markup Langurage)フォーマットを使う。

パラメータの詳細:

https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html

リソースプロパティの詳細:

https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html

JSONJSONJSONJSON フォーマットフォーマットフォーマットフォーマット

{

"Key1": "value1"

Key: {

"Key2": "value2",

"Key3":["value3a","value3b"]

}

}

"キー":"バリュー"のフォーマットで記述

{ }で括ることで入れ子にできる

2 つ以上のキー:バリューの場合は , を付ける

配列の場合は [ ] で括る

YAMLYAMLYAMLYAML フォーマットフォーマットフォーマットフォーマット

Key1: value1

Key:

Key2: value2

Key3:

- value3a

- value3b

キー:バリューのフォーマットで記述

半角 2文字分のインデントをつけることでデータを入れ子にできる

配列は行頭に - を付ける

テンプレート例テンプレート例テンプレート例テンプレート例

JSON フォーマット YAML フォーマット

Outputs: {

"SNSTopic" : { "Value" : { "Ref":"MyTopic"} },

"StackName" : { "Value" : { "Ref":"AWS::StackName" } }

}

Outputs:

SNSTopic:

Value: Ref: MyTopic

StackName:

Value: Ref: AWS::StackName

}

CCCCloudFormationloudFormationloudFormationloudFormation の設定の設定の設定の設定

主な項目名 説明

AWSTemplateFormatVersion CloudFormation テンプレートのバージョンを指定

Description テンプレートの説明を記述

Parameters テンプレートの実行時に利用できる値を指定

Resources プロビジョニングしたい AWS リソースとその設定を記述

Outputs スタック作成後に出力したい項目を指定

(例) Resource 項目の VPC 作成に関する書式(JSON)

{

"Type":"AWS::EC2::VPC",

"Properties" : {

"CiderBlock" : String,

"EnableDnsSupport" : Boolean,

"EnableDnsHostnames" : Boolean,

"InstanceTenancy" : String,

"Tags" : [ Resource Tag, ... ]

}

}

VPC を作成する場合に指定

VPC に含める CIDR ブロック(例:10.0.0.0/16)

この VPC に対するタグの任意の設定

(例) Resource 項目の VPC 作成に関する書式(YAML)

Page 23: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

23

Type: AWS::EC2::VPC

Properties:

CiderBlock: String

EnableDnsSupport: Boolean

EnableDnsHostnames : Boolean

InstanceTenancy" : String

Tags:

- Resource Tag

VPC を作成する場合に指定

VPC に含める CIDR ブロック(例:10.0.0.0/16)

この VPC に対するタグの任意の設定

(例) Resource 項目のネットワーク ACL エントリ(ルール)作成に関する書式(JSON)

{

"Type":"AWS::EC2::NetworkAclEntry",

"Properties" : {

"CiderBlock" : String,

"Egress" : Boolean,

"Icmp" : EC2 ICMP,

"Ipv6CidrBlock" : String,

"NetworkAclId" : String,

"PortRange" : EC2 PortRange,

"Protocol" : Integer,

"RuleAction" : String,

"RuleNumber" : Integer

}

}

ネットワーク ACL ルールを作成する場合に指定

CIDR 表記での許可または拒否する CIDR

サブネットからの送信トラフィックに適用される(true)か

サブネットへの受信トラフィックに適用される(false)

ルールに一致するトラフィックを許可または拒否するか

Allow または Deny を指定する

(例) Resource 項目のネットワーク ACL エントリ(ルール)作成に関する書式(YAML)

Type: AWS::EC2::NetworkAclEntry

Properties:

CiderBlock: String

Egress" : Boolean

Icmp:

EC2 ICMP

Ipv6CidrBlock: String

NetworkAclId: String

PortRange:

EC2 PortRange

Protocol: Integer

RuleAction: String

RuleNumber: Integer

ネットワーク ACL ルールを作成する場合に指定

CIDR 表記での許可または拒否する CIDR

サブネットからの送信トラフィックに適用される(true)か

サブネットへの受信トラフィックに適用される(false)

ルールに一致するトラフィックを許可または拒否するか

Allow または Deny を指定する

(例) Resource 項目のセキュリティグループ作成に関する書式(JSON)

{

"Type":"AWS::EC2::SecurityGroup",

"Properties" : {

"GroupName" : String,

"GroupDescription" : String,

"SecurityGroupEgress" : [ Security Group Rule, ...],

"SecurityGroupInEgress" : [ Security Group Rule, ...],

"Tags" : [ Resource Tag, ... ],

"VpcId" : String

}

}

セキュリティグループを作成する場合に指定

セキュリティグループのアウトバウンドルールリスト設定

セキュリティグループのインバウンドルールリスト設定

(例) Resource 項目のセキュリティグループ作成に関する書式(YAML)

Type: AWS::EC2::SecurityGroup,

Properties

GroupName: String

GroupDescription: String

SecurityGroupEgress:

- Security Group Rule

SecurityGroupInEgress:

- Security Group Rule

Tags:

- Resource Tag, ...]

VpcId: String

セキュリティグループを作成する場合に指定

セキュリティグループのアウトバウンドルールリスト設定

セキュリティグループのインバウンドルールリスト設定

(例) SecurityGroupInEgress の書式(JSON)

Page 24: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

24

{

"CidrIp" : String,

"CidrIpv6" : String,

"Description" : String,

"FromPort" : Integer ,

"IpProtocol" : String ,

"SourceSecurityGroupId" : String ,

"SourceSecurityGroupName" : String ,

"SourceSecurityGroupOwnerId" : String ,

"ToPort" : Integer

}

CIDR の範囲を指定

TCP/IP プロトコルのポート範囲開始番号

IP プロトコルの名前または番号

TCP/IP プロトコルのポート範囲終了番号

(例) SecurityGroupInEgress の書式(YAML)

CidrIp: String

CidrIpv6: String

Description: String

FromPort: Integer

IpProtocol: String

SourceSecurityGroupId: String

SourceSecurityGroupName: String

SourceSecurityGroupOwnerId: String

ToPort" : Integer

CIDR の範囲を指定

TCP/IP プロトコルのポート範囲開始番号

IP プロトコルの名前または番号

TCP/IP プロトコルのポート範囲終了番号

(例) SecurityGroupEgress の書式(JSON)

{

"CidrIp" : String,

"CidrIpv6" : String,

"Description" : String,

"DestinationPrefixListId" : String,

"DestinationPrefixListGroupId" : String,

"FromPort" : Integer ,

"IpProtocol" : String ,

"ToPort" : Integer

}

CIDR の範囲を指定

TCP/IP プロトコルのポート範囲開始番号

IP プロトコルの名前または番号

TCP/IP プロトコルのポート範囲終了番号

(例) SecurityGroupEgress の書式(YAML)

CidrIp: String,

CidrIpv6: String,

Description: String,

DestinationPrefixListId: String

DestinationPrefixListGroupId: String

FromPort: Integer

IpProtocol: String

ToPort: Integer

CIDR の範囲を指定

TCP/IP プロトコルのポート範囲開始番号

IP プロトコルの名前または番号

TCP/IP プロトコルのポート範囲終了番号

(例) セキュリティグループを作成するテンプレートの抜粋(JSON)

{

"Type":"AWS::EC2::SecurityGroup",

"Properties" : {

"GroupDescription" : "DESCRIPTION",

"VpcId" : {"Ref":"VPCID"},

"SecurityGroupInEgress" : [

{

"IpProtocol" : "tcp" ,

"FromPort" : "22" ,

"ToPort" : "22"

"CidrIp" : "192.168.20.0/24"

}

],

"SecurityGroupEgress" : [

{

"IpProtocol" : "-1",

"CidrIp" : "0.0.0.0/0"

}

],

}

}

セキュリティグループ作成

セキュリティグループのインバウンドルールリスト設定

セキュリティグループのアウトバウンドルールリスト設定

Page 25: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

25

Elastic BeanstalkElastic BeanstalkElastic BeanstalkElastic Beanstalk

Web アプリケーションやサービスをサーバーにデプロイするだけで実行環境が自動的に作成されるサービス。

一般的なウェブアプリケーションの提供に必要な AWS 機能を自動で構築(ELB、EC2、RDS、SNS、CloudWatch など)するため、

普通に個別リソースを構築していくよりコストが高くなるデメリットがある。

メリットは構築する手間が省け、既存の war ファイルをデプロイするだけで、Web アプリケーションが簡単に構築できる。

アプリケーションを作成すると、Web アプリにアクセスするための URL が表示される。

アプリケーションを実行してるインフラストラクチャを理解しなくてもデプロイと管理を簡単に行える。

要素 説明

対応アプリ Java、.NET、PHP、Node.js、Python、Ruby、Go など

対応サーバー Docker、Apache HTTP Server、Nginx、Passenger、IIS など

OpOpOpOpssssWorksWorksWorksWorks

構成手順通りにサーバー構築作業を自動化する構成管理サービス。

Chef や Puppet といったサーバー構成を自動化するツールを利用することが可能で、以下のような自動化が可能。

・EC2 インスタンスを作成し、サーバーを準備

・Chef のレシピを実行し、必要なソフトウェアをサーバーにインストール

CodeDeployCodeDeployCodeDeployCodeDeploy

アプリケーションのデプロイを自動化するサービスでアプリケーションデプロイに特化している。

開発したアプリケーションのリリース作業を迅速に行うことができ、リリース時の作業を自動化することで作業ミスを防止。

ユースケースとして、LAMP(Linux、Apache、MySQL、PHP)アプリケーションを簡単に展開、監視、拡張が可能。

運用管理サービス運用管理サービス運用管理サービス運用管理サービス

CloudCloudCloudCloudWatchWatchWatchWatch

AWS 上で稼働するさまざまなシステムや AWS のリソースを情報を収集・監視・可視化するサービス。

EC2 のメトリクス 説明

標準メトリクス AWS から提供されてる標準の監視項目。デフォルトで EC2 から CloudWatch に対して様々な監視データを送信できる

カスタムメトリク

標準メトリクス以外の独自のメトリクスを定義して収集したい場合に使用。

メモリ使用率や、ディスク使用率などはユーザーが EC2 インスタンスで監視スクリプトを作成・設定し、

CloudWatch へ送信することができる。

標準標準標準標準メトリクスメトリクスメトリクスメトリクス

標準メトリクス 説明

CPUUtilization CPU 使用率

DiskReadOps インスタンスボリュームからの読み取り回数(指定された期間)

ReadIOPS 1 秒あたりのディスク I/O 操作の平均回数。

SwapUsage スワップ領域の量。単位はバイト

DatabaseConnection 使用中のデーターベース接続の数

Networkln すべてのインターフェースからの受信されたバイト数

CloudWatchCloudWatchCloudWatchCloudWatch の監視間隔と保存期間の監視間隔と保存期間の監視間隔と保存期間の監視間隔と保存期間

Page 26: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

26

プラン 課金 監視間隔 保存期間 リージョン跨ぎの集約

基本モニタリング 無料 5 分間隔 最大 15 ヶ月 不可能

詳細モニタリング 追加料金有り 1 分間隔 最大 15 ヶ月 可能

CloudWatchCloudWatchCloudWatchCloudWatch アラームによるアラームとアクション設定アラームによるアラームとアクション設定アラームによるアラームとアクション設定アラームによるアラームとアクション設定

しきい値を超えたらアラームとアクションを起動することができる。

例えば EC2 の CPU 使用率が 80%を 5 分以上超えたらアラームを送信して SNS でメール通知し、

Auto Scaling ポリシーで起動するなど一連のアクションが自動化できる。

状態 説明

OK 定義したしきい値を下回っている

ALARM 定義したしきい値を上回っている

INSUFFICIENT-DATA CloudWatch に送信されるデータ不足しているため、正常異常の判断ができない

CloudWatchCloudWatchCloudWatchCloudWatch EventsEventsEventsEvents によるイベント駆動型監視とアクション設定によるイベント駆動型監視とアクション設定によるイベント駆動型監視とアクション設定によるイベント駆動型監視とアクション設定

AWS 上のリソース状態を監視して、あるイベントをトリガーにしてアクションを実行する機能。

EC2 インスタンスの状態変化を監視し、変化を検知したら Lambda や SNS を実行するなどの連携が可能。

ダッシュボードの イベント - ルールからルールを作成する。

状態の変化の種類 監視アクション種類

・EC インスタンスの状態変化(pending、running、terminated など)

・スケジュール(分、時、日間隔)

・Auto Scaling(起動成功、起動失敗など)

・Lambda 関数

・SNS トピック

・Kinesis ストリーム

・SQS キュー

CloudTrailCloudTrailCloudTrailCloudTrail

AWS アカウントで利用された操作(API コール)をログとして記録するサービス。(無料サービス)

・リージョン単位でデフォルトで有効

・AWS アカウントを取得した時点で有効化され、過去 90 日間のサービスに対する操作を表示

・取得したログはデフォルトで S3 へ保存、CloudWatch Logs への連携も可能

・AWS の様々なサービスをサポート・連携してログ記録を行う

・記録内容は、サービスの API コール元、時間、送信元 IP、呼び出し API、対象リソースなど

・証跡の作成(有料サービス)を行うと AWS リソースの変更をアーカイブ、分析、応答できるようになる

VPCVPCVPCVPC フローログフローログフローログフローログ

VPC 内のネットワークインターフェース間で往来する通信内容をキャプチャする機能。

VPC フローログを有効化することで、CloudWatch Logs を利用してログを保存・可視化できる。

CloudWatch LogsCloudWatch LogsCloudWatch LogsCloudWatch Logs

CloudTrail や VPC フローログなど AWS の様々なログを統合的に収集するサービス。

AWS のログ以外に Linux などのサーバーOS に Agent をインストールすることで、CloudWatch Logs へ転送可能。

収集したログに対して特定キーワードでアラームをメール通知するなどのセキュリティ監視対応が可能。

Page 27: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

27

AWS ConfigAWS ConfigAWS ConfigAWS Config

AWS のサービスで管理されているリソースの構成変更を追跡するサービス。

EC2 の作成や削除など構成変更の履歴を取得する。さらに変更をメールで通知することも可能。

AWS Systems ManagerAWS Systems ManagerAWS Systems ManagerAWS Systems Manager

AWS 内の様々なリソースの運用情報を統合的に可視化、制御する。

CloudWatch、CloudTrail、AWS Config などの情報と連携し、統合的に収集したログなどを表示可能。

EC2 インスタンスなどさまざまな AWS リソースに対する運用タスクの制御や自動化も可能。

Trusted AdvisorTrusted AdvisorTrusted AdvisorTrusted Advisor

AWS のベストプラティクスに基づいてコスト最適化、セキュリティ、耐障害性、パフォーマンス、サービスの制限の

5 項目でユーザーの AWS 利用状況をチェックし改善すべき事項を推奨するサービス。

例えば、特定のポートに対して、無制限アクセス(0.0.0.0/0)を許可してるセキュリティグループのチェックや、

AWS アカウントのルートユーザーで MFA(多要素認証)が有効になってない場合にアラートを表示。

■■■■AWAWAWAWSSSS における高可能アーキテクチャにおける高可能アーキテクチャにおける高可能アーキテクチャにおける高可能アーキテクチャ

コンピューティング高可用性コンピューティング高可用性コンピューティング高可用性コンピューティング高可用性

Auto ScalingAuto ScalingAuto ScalingAuto Scaling

同じリージョン内にある複数の AZ を利用して EC2 インスタンスをスケールアウト、スケールインすることが可能。

Auto Scaling を削除すると、グループ内にある EC2 が実行中だったとしても、EC2 ごと削除される。

Auto Scaling を実行するには、以下の設定が必要。

設定 説明

Auto Scaling Group EC2 の管理を行う範囲のことを差し、Auto Scaling で実際に起動する EC2 の最小数と最大数を定義。

VPC/サブネット、ELB、スケーリングポリシー、ヘルスチェック方法などを定義。

起動する EC2 は AZ 間でバランシングする。AZ 障害時は他の AZ でインスタンスを起動する。

高度な設定で、作成済みのロードバランサーのラーゲットグループ名を指定することで、

ELB のロードバランサー先として指定できる。

Scaling Plan どのような条件で Auto Scaling を実施するか指定。

・CloudWatch メトリクス(CPU 使用率などのリソース使用状況)に応じて実行

・スケジュールを指定して実行(または手動でスケジューリングを実行)

・正常なインスタンス数を維持するように実行

Launch Configuration 起動するインスタンスを定義する。通常の EC2 インスタンス起動時の設定とほぼ同じ項目。

使用する AMI、インスタンスタイプ、セキュリティグループ、キーペアなど。

EC2 は以下のような状態を保持させないスケートレス化が必須。

・アプリケーションで生成された永続的に保管すべきデータや、ログデータ

・HTTP などのセッションデータ

セッション情報は DaynamoDB や ElastiCache 等に外出しする。

ログファイルは S3 へアップロードするなどの対応を行う。

スケールアウトでは、スケーリングプランの設定値をトリガーに

Auto Scaling グループの設定値に従って EC2 インスタンスを増加させる。

Page 28: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

28

EC2 インスタンスは Auto Scaling グループで指定したサブネットで動作する。

AZ が複数ある場合は、AZ 間のインスタンス数の均衡を保つように起動する。

複数の AZ に分散した EC2 インスタンスのスケールインは、デフォルトで以下の順番で実行される。

① EC2 インスタンスがもっとも多い AZ 内からランダムに選択

② AZ のインスタンス数が同じ場合は、もっとも古い起動設定を使用した EC インスタンスがある AZ を選択

③ ②の条件が複数ある場合は、次に課金が発生するまでの時間がもっとも短い EC2 インスタンスを選択

④ ③の条件が複数ある場合は、③の中からランダムに EC2 インスタンスを選択

終了ポリシーは、Auto Scaling グループの編集から「終了ポリシー」でカスタムポリシーを選択できる。

クールダウンは Auto Scaling が連続実行されない待機時間を設定する機能。

Auto Scaling 全体と、特定のスケジューリングポリシーに適用する固有のクールダウンがある。

ライフサイクルフックでは、Auto Scaling による EC2 インスタンスの作成または終了を指定した時間待機させ、

指定したアクション(Lambda 関数など)を実行することができる。

指定したアクションは CloudWatchEvent を使い連携させる。

設定 設定値

イベントソース イベントパターンを指定。

サービス名 :AutoScaling

特定のインスタンスイベント:Instance Launch and Terminate

特定のグループ名 :対象の AutoScaling グループ名

ターゲット Lambda 関数、SNS、SQS、Kinesis などを指定して実行したいアクションを指定

VPCVPCVPCVPC リソースにおける高可用性コンピューティングリソースにおける高可用性コンピューティングリソースにおける高可用性コンピューティングリソースにおける高可用性コンピューティング

WEBWEBWEBWEB アプリケーション障害発生の挙動アプリケーション障害発生の挙動アプリケーション障害発生の挙動アプリケーション障害発生の挙動

ELB で複数の EC2 へロードバランシングしてる場合、ヘルスチェックによりダウンした EC2 へのアクセスはなくなる。

RDRDRDRDSSSS インスタンス障害発生時の挙動インスタンス障害発生時の挙動インスタンス障害発生時の挙動インスタンス障害発生時の挙動

シングル AZ の場合は、自動的に再起動する。

RDS 内のデータはユーザーでデータ復元する必要がある。ポイントタイムリカバリ機能などを利用。

マルチ AZ の場合は、自動的にフェールオーバーする。僅かなダウンタイムが発生する。

内部的な挙動は、スレーブをマスターに昇格し、マスターで利用していた DNS レコードをスレーブの DNS レコードへ

切り替えることで RDS のエンドポイントを変更することなくシームレスにスレーブへ切り替えできる。

データベース内レコード破損の場合は、RDS の再起動や F/O で復旧できないため、バックアップからリストアする。

① 障害が発生した RDS エンドポイント名を控えて、別のエンドポイントに変更する

② バックアップから変更前のエンドポイント名にリストアする

③ エンドポイント名を変更した RDS インスタンス名を削除する

インメモリデータベースを持つインメモリデータベースを持つインメモリデータベースを持つインメモリデータベースを持つ WebWebWebWeb アプリケーションアプリケーションアプリケーションアプリケーションの構成の構成の構成の構成

Amazon ElastiCache を利用する場合、マルチ AZ 機能を利用できる Redis エンジンを前提として高可用性を実現している。

Page 29: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

29

マスターの ElastiCache に障害発生した場合は自動的にスレーブへ F/O する。内部動作は RDS と同じ。

グローバルグローバルグローバルグローバルサービスにおける高可用性コンピューティングサービスにおける高可用性コンピューティングサービスにおける高可用性コンピューティングサービスにおける高可用性コンピューティング

Route53Route53Route53Route53 を利用したを利用したを利用したを利用した DNSDNSDNSDNS フェールオーバーの構成例フェールオーバーの構成例フェールオーバーの構成例フェールオーバーの構成例

通常の名前解決は ELB に対して行うが、ELB のヘルスチェックが全てエラー(EC2 全滅)となった場合、

ELB へ通信をルーティングしてもバックエンドの EC2 にアクセスできない。

上位の Route 53 の DNS で、ELB ではなく S3 などへアクセスさせることが可能。

S3 に Sorry ページを作成すれば自動的に Sorry ページを表示できる。

Route53Route53Route53Route53 によるマルチリージョン構成例によるマルチリージョン構成例によるマルチリージョン構成例によるマルチリージョン構成例

Route53 のネームサーバーはリージョンを超えた可用性を実現できる。

同じ VPC 構成を複数のリージョンで作成し、Route 53 のルーティングポリシーで、適切なサーバーへ分散したり、

DNS の F/O 先を別のリージョンに用意することでリージョン間の F/O が可能。

Route53 によるヘルスチェックはデフォルトで 30 秒間隔、必要に応じて 10 秒間隔に変更可能。

CloudCloudCloudCloudFrontFrontFrontFront を利用したを利用したを利用したを利用した WebWebWebWeb アプリケーション構成例アプリケーション構成例アプリケーション構成例アプリケーション構成例

CloudFront のエッジロケーションからエンドユーザーへ Web サービスを配信することで、

フロントエンドの高い可用性を維持しつつ、バックエンドの ELB や EC2 の負荷軽減が可能。

地域限定(地理的ブロッキング)機能があり、これを利用すると特定地域のユーザーにコンテンツを配信したり、

ブロックさせることが可能。

CloudFront の処理フロー。

Page 30: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

30

① CloudFront でリクエストを受け付け、コンテンツがキャッシュされていればそのまま返す

② キャッシュされてない場合は、バックエンドのオリジン(コンテンツ配布元)へリクエストをリーティングする

③ オリジンは複数登録でき、ルーティングはパスパターンによって指定できる

例えば、.jpg や、.png などの静的コンテンツは S3 へ、それ以外は EC2 へルーティングするなど

ストレージ高可用性ストレージ高可用性ストレージ高可用性ストレージ高可用性

ストレージの選択ストレージの選択ストレージの選択ストレージの選択

項目 EBS インスタンスストア EFS

接続 EC2 とネットワーク接続 ホストコンピュータのストレージ利用 EC2 とネットワーク接続

利用方法 ボリューム作成後に EC2 へマウント インスタンス起動時に EC2 へマウント 複数の EC2 と接続可能

OS ルート領域 可 可 不可(AMI に存在しなかった)

データ永続性 可 不可 可

耐久性 単一の AZ 内で冗長化 冗長化なし 複数の AZ で冗長化

拡張性 手動でボリューム拡張可能 ボリューム拡張不可 自動でボリューム拡張可能

パフォーマンス 高速 非常に高速 高速

料金体系 ギガバイト単位の従量課金(安) 無料 ギガバイト単位の従量課金(高)

スナップショット 可 ? 不可

ストレージのバックアップストレージのバックアップストレージのバックアップストレージのバックアップ

EBSEBSEBSEBS のバックアップとリストアのバックアップとリストアのバックアップとリストアのバックアップとリストア

スナップショットを利用する。EBS スナップショットはバックエンドで S3 を使用している。

バックアップデータは増分で取得されている。

EBS スナップショットはオンラインで取得可能だが、整合性を求められる場合は I/O を停止して取得する。

スナップショットの取得開始時点のものが保管される。開始~終了までの変更は保管されない。

復旧はスナップショットから EBS ボリュームを作成するため、ディスク作成完了まで利用することができない。

EBS スナップショットはリージョン間でコピー可能。

EC2EC2EC2EC2 のバックアップとリストアのバックアップとリストアのバックアップとリストアのバックアップとリストア

EC2 に EBS を使用してる場合は、EBS スナップショットを取得することで EC2 のデータバックアップが可能だが、

殆どの場合は、AMI を用いてバックアップする(実体は EBS スナップショットと EC2 の構成情報を組み合わせたもの)

AMI から EC2 を復元することで、マウントされたドライブ情報やアプリケーション構成をそのまま再現できる、

AMI はリージョン間でコピー可能。

■■■■セキュリティ設計セキュリティ設計セキュリティ設計セキュリティ設計

セキュリティ設計セキュリティ設計セキュリティ設計セキュリティ設計

クラウド事業者である AWS と利用者であるユーザーでセキュリティ境界を明確にする方針をとっている。

責任範囲 説明

ユーザー ユーザーのデータ、暗号化

アプリケーション、ID・アクセス管理

OS ネットワーク、セキュリティ(OS レイヤー以降のパッチなど、ハイパーバイザなどのホスト OSは AWS の責任範囲)

AWS ソフトウェア

Page 31: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

31

コンピューティング、ストレージ、データベース、ネットワーク(IP なりすましなどのセキュリティ対策)

仮想化インフラストラクチャ(ハイパーバイザ OS のアップデートやパッチ、アクセス監視などのセキュリティ監視)

データセンター、物理ハードウェア、グローバルネットワーク(AWS の物理 HW 配置場所の秘匿や監視カメラなど)

リージョン、AZ、エッジロケーション

アイデンディティ管理とアクセス管理アイデンディティ管理とアクセス管理アイデンディティ管理とアクセス管理アイデンディティ管理とアクセス管理

AAAAWSWSWSWS のアカウントのアカウントのアカウントのアカウント

最初に作成するアカウントは「ルートユーザー」と呼ばれフルアクセス権限を持っているため、

アカウントの利用を避け、多要素認証(MFA:Multi-Factor Accountication)にするなどのセキュリティ対策を行う。

・ルートアカウントのメールアドレスやパスワードの変更

・IAM ユーザーの課金情報に対するアクセス許可、拒否

・AWS サポートプランの変更

アカウント 説明

IAM ユーザー 1 つの AWS アカウントで、最大 5000 ユーザーまで作成可能。ルートユーザーの変わりに使用する。

IAM グループ IAM ユーザーをまとめたグループ。最大 300 グループ作成可能。IAM ユーザーは 10 グループまで所属可能。

グループのネスト(IAM グループの中に IAM グループを入れる)は不可。

IAMIAMIAMIAM ポリシーによるアクセス権限管理ポリシーによるアクセス権限管理ポリシーによるアクセス権限管理ポリシーによるアクセス権限管理

IAM ポリシーはどのユーザー(グループ)がどの AWS サービスまたはリソースに対して、

どのような操作を拒否(許可)するかを JSON 形式で記述する。GUI での権限割り当ても可能。

デフォルトでは何の権限も割り当てられてないため、明示的にポリシーを割り当てる必要がある。

(例) 特定の IAM ユーザーのみ S3 の操作可能

{

"Version":2019-03-23",

"Statement":[

{

"Effect":"Deny",

"NotPrincipal":{

"AWS":"arn:aws:iam:1112233:user/userA"

},

"Action":s3:*",

"Resource":"arn:aws:s3:::test-bucket"

}

]

}

AWS アカウント(11122333)の

IAM ユーザー(userA)以外の操作を拒否

S3 の操作すべて

S3 バケット(test-bucket)

(例) 特定の IP アドレスから S3 へのアクセスを許可

{

"Version":2019-03-23",

"Statement":[

{

"Action":["s3:GetObject"],

"Effect":"Allow",

"Principal":"*",

"Resource":"arn:aws:s3:::test-bucket/*",

"Condition":{

"IpAddress":{ "aws:SourceIp":["10.0.0.5/32"] }

}

}

]

}

S3 からオブジェクトを取得する操作

すべてのユーザー

許可

S3 バケット(test-bucket)が対象

送信元 IPが 10.0.0.5 であること

Page 32: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

32

IAMIAMIAMIAM ポリシーの種類ポリシーの種類ポリシーの種類ポリシーの種類

ポリシー 説明

AWS 管理 事前に定義されたテンプレートポリシー。例えば以下のポリシーがある。

Administrator Access Policy

すべてのアクセス権限を提供するポリシー。

AWS アカウントを使用しない変わりに管理者相当の IAM ユーザーやグループに付与する。

Power User Access Policy

IAM サービスを除くその他すべてのアクセス権限を提供するポリシー。

開発者など通常業務ではポリシー管理を必要としない IAM ユーザーやグループに付与する。

カスタマー管理 AWS ユーザーが自分で作成するポリシーで、テンプレートで提供されてない場合に利用する。

インライン IAM ユーザー、グループ、ロールに埋め込まれているポリシーに対しポリシーを個別に設定する。

AWS 管理ポリシーと、カスタマー管理ポリシーは複数のユーザーやグループで共有できるが、

インラインポリシーは個別に埋め込まれているため、共有できない。

IAMIAMIAMIAM による認証方式による認証方式による認証方式による認証方式

認証方式 説明

IAM ユーザーと

パスワード

マネジメントコンソールを利用する際の認証情報として使用。

多要素認証 AWS Virtual MFA や、Google Authenticator のようなソフトウェアなどによるワンタイムパスワードを

利用することで、ユーザー名とパスワードに加え、もう 1つの認証情報として利用可能。

アクセスキーID と

シークレットアク

セスキー

IAM ユーザーはアクセス ID とシークレットアクセスキーのペアを作成することができる。

これらの認証情報は、AWS CLI や、API 経由で利用する AWS SDK の認証情報として利用できる。

例えばある自作プログラムから EC2 を起動するという操作を記述したプログラムソースに

アクセス ID とシークレットアクセスキーを指定する必要がある。

流出の危険があるため、現在は推奨されていない。

IAM ロール AWS のサービスやアプリケーションに AWS の操作権限を付与する仕組み。IAM ユーザーに紐付けできない。

IAM ユーザーやグループに関連せず、直接 IAM ロールに権限を付与することで管理する。

EC2 インスタンスに IAM ロールを直接割り当てることで、その上で稼働するアプリケーションから

AWS SDK 経由でアクセスキーID とシークレットアクセスキーなしで

IAM ロールで許可されてる操作(S3 への書き込みなど)を行うことができる。

異なるリージョンにある AWS サービスにロールを付与することが可能。

クロスアカウントアクセスクロスアカウントアクセスクロスアカウントアクセスクロスアカウントアクセス

アカウント Aで、アカウント Bのリソースを管理することができる。Linux の su みたいなもの。

IAM コンソールから表示されたユーザー名をクリックし「Switch Role」を選択する。

元のアカウントに戻る場合は、「Back to ユーザー名」を選択する。

クロスアカウントアクセスでは、リソースへのアクセスを他の AWS アカウントのユーザーと共有できる。

クロスアカウントアクセスを確立するには、信頼する側のアカウント(アカウント A)で、

信頼される側のアカウント(アカウント B)に特定のリソースへのアクセスを許可する IAM ポリシーを作成する。

これにより、アカウント B で、そのアカウントの IAM ユーザーにこのアクセスを委任できるようになる。

アカウント B の IAM ユーザーに、アカウント A から付与されたアクセス権限の範囲を超えるアクセスの委任は不可。

Page 33: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

33

IAMIAMIAMIAM によるによるによるによる IDIDIDID フェデレーションフェデレーションフェデレーションフェデレーション

企業などで既に導入されている認証の仕組みと AWS 認証を紐付けシングルサインオンを実現する機能。

SAML2SAML2SAML2SAML2.0.0.0.0 を使用したを使用したを使用したを使用した IDIDIDID フェデレーションフェデレーションフェデレーションフェデレーション

IAM では SAML(Security Assertion Markup Language)2.0 や、OpenID Connect と互換性のある認証プロトコルをサポート。

認証したユーザーごとに一時的にアクセスキーを発行することで認証連携を実現。

AWS への一時的なアクセスキーは、Security Token Service(STS)と呼ばれるサービスで管理発行される。

WWWWebIDebIDebIDebID フェデレーションによるソーシャルサービスとの連携フェデレーションによるソーシャルサービスとの連携フェデレーションによるソーシャルサービスとの連携フェデレーションによるソーシャルサービスとの連携

Google や FaceBook など、OpenID Connect をサポートしているソーシャルサービスと ID フェデレーションすることで、

AWS へのシングルサインイオンが可能。

Web アプリケーションやモバイルアプリからの認証は Amazon Cognito サービスを利用することで

各ソーシャルサービスとの認証連携が簡単に実現できる。

Directory Directory Directory Directory ServiceServiceServiceService によるによるによるによる ADADADAD との認証連携との認証連携との認証連携との認証連携

AWS のクラウド内で管理されるマネージド型の Microsoft AD。

主に下記 3つのディレクトリタイプを提供する。

タイプ 説明

Microsoft AD AWS 上で Active Directory サービスを利用できる

Simple AD AWS 上で Active Directory 互換の Samba サービスを利用できる

AD Connector 現存の Active Directory 環境へ接続するためのプロキシサービス

ネットワークセキュリティネットワークセキュリティネットワークセキュリティネットワークセキュリティ

VVVVPCPCPCPC によるネットワーク構成によるネットワーク構成によるネットワーク構成によるネットワーク構成

Web アプリケーションを AWS 上で構成する代表的なネットワーク構成は以下。

Page 34: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

34

ELB

インターネットからのアクセスポイント。

EC2 へのロードバランシングを行う。

NAT ゲートウェイ

パブリックサブネットに配置し、プライベートサブネ

ットに配置されたサーバーがNATゲートウェイを経由し

インターネットへ接続できるようにする。

Web アプリケーションサーバーと RDS

- インターネットから直接アクセスされないよう

プライベートサブネットに配置

- EC2 のインスタンス上に

Web アプリケーションサーバーを構築

- RDS インスタンスは正副で冗長構成にする

セキュリティグループセキュリティグループセキュリティグループセキュリティグループ

VPC に配置した EC2 インスタンスからの入出パケットに対して制御する。

・デフォルト(何も設定なし)はアウトバウンドは全て許可、インバウンドはすべて拒否

・設定したすべてのルールが適用される(OR 条件)

・インバウンド、アウトバウンドに対し、プロトコル、ポート番号、送信元/先などのルールを 60 まで定義可能

・インスタンスに到達可能なソースは IP、サブネット、同じリージョン内にあるセキュリティグループの指定が可能

・EC インスタンスに 5つまでのセキュリティグループ(複数のルールの集合体)適用が可能

・ステートフルな制御が可能(ルールで許可された通信の戻りの通信も自動的に許可される=アウトバウンドの設定不要)

例えば Port22 のインバウンド許可すれば、アウトバウンドが全て拒否されても接続はできる

API コマンド 説明

CreateSecurityGroup セキュリティグループの作成

DeleteSecurityGroup セキュリティグループの削除

DescribeGroup セキュリティグループの一覧取得

AuthorizeSecurityGroupIngress セキュリティグループにルールを追加

RevokeSecurityGroupIngress セキュリティグループのルールを削除

ネットワークネットワークネットワークネットワーク ACLACLACLACL

VPC にあるサブネット単位での入出に対して制御する。

・VPC 内に構成したサブネット毎に 1つのネットワーク ACL を設定可能

・デフォルトはルール番号 100 で、すべて許可となっている

・インバウンド、アウトバウンドそれぞれに対して許可、拒否を明示した通信制御が可能

・ステートレス(インバウンド、アウトバウンドに対する通信制御が明示的に必要)

・ルールの番号順で適用される(明示的な拒否を追加する場合は 100 より小さい番号を使う)

Page 35: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

35

踏み台サーバーによるセキュアなリモートアクセス制御踏み台サーバーによるセキュアなリモートアクセス制御踏み台サーバーによるセキュアなリモートアクセス制御踏み台サーバーによるセキュアなリモートアクセス制御

VPC内の EC2 に対してリモートからセキュアにアクセスする方法として踏み台サーバーを利用する方法がある。

・外部からアクセス可能な踏み台サーバーを構成しておき、VPC内の EC2 へは踏み台サーバーからのみ接続できるようにする

・通常は停止しておき、メンテナンス時のみ起動する

・踏み台サーバーはパブリックサブネットに配置しパブリック IP を設定する

・踏み台サーバーのセキュリティグループはメンテナンスに利用する PC の送信元 IP だけ許可するとよりセキュア

データの保護データの保護データの保護データの保護

一般的には下記 2種類の暗号化を検討する。

種類 説明

通信の暗号化 ユーザーと AWS 間のインターネットを通る通信を SSL/TLS などにより暗号化する。

AWS では、ELB、RDS、CloudFront、API Gateway などのサービスとの間で暗号化が可能。

ELB で暗号化することで、EBL⇔EC 間の通信を暗号化することができる。

SSL/TLS には証明書が必要。ユーザーが証明書を持ち込むことも可能だが、AWS Certificate Manager(ACM)を

利用することで証明書の管理・作成が安易に行える。

データ暗号化 EBS や S3 に保管されるデータ自体の暗号化。

クライアントサイドまたはサーバーサイドでの暗号化により実現する。

データ暗号化の方式と場所データ暗号化の方式と場所データ暗号化の方式と場所データ暗号化の方式と場所

場所 説明

クライアント

CSE

Client Side

Encryption

AWS へデータを送信・保存する前にユーザー環境でデータの暗号化を行う。

S3 にユーザーが保持するファイルをアップロードする際は、

ユーザー側で暗号化やパスワード処理してからアップロードする。

EBS では Windows や Linux など OS が提供するファイルシステムの暗号化を用いて、

ユーザーがファイルシステム全体を暗号化してからデータを保管する。

サーバー

SSE

Sever Side

Encryption

AWS が自動的に暗号化処理を行う。S3 や EBS をはじめ、RedShift、Glacier などのサービスで暗号化機能を提供。

S3 ではバケットにデフォルト暗号化オプションを設定することで、S3 内に保管されるファイルが自動的に暗号化。

AWS DSK や AWS CLI を利用することでサーバーサイドのファイル暗号化指定も可能。

暗号化に必要な鍵は次の何れかを使用する。

・ユーザーが管理している鍵

・S3 で自動生成された鍵

・AWS KMS などのサービスと連携された鍵(後述)

EBS ではボリューム作成時に暗号化が可能。

既存の EBS ボリュームを暗号化ボリュームに変更するには下記操作が必要。

① 既存ボリュームのスナップショット作成

② 作成したスナップショットを複製する際に暗号化オプションを指定

③ 暗号化されたスナップショットから EBS ボリュームを再作成

④ EC2 から既存の EBS ボリュームをデタッチ

⑤ EC2 へ暗号化された EBS ボリュームをアタッチ

暗号化に必要な鍵の管理暗号化に必要な鍵の管理暗号化に必要な鍵の管理暗号化に必要な鍵の管理

鍵の管理 鍵の保管 暗号化処理 利用する AWS サービス 概要

Page 36: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

36

ユーザー ユーザー CSE なし ユーザーが自身の責任・環境において鍵の管理と保管

ユーザー AWS CSE または SSE AWS KMS または

AWS CloudHSM

ユーザー自身が鍵の作成管理を行うが、

AWS Key Management Service で管理の KMS や

CloudHSM サービス上で鍵を保管する。

AWS AWS SSE-S3

SSE-KMS

各 AWS サービスの

暗号化機能(S3 や EBS)

鍵の管理・保管を全て AWS 側のサービス上で

透過的に行われる。

※ CSE(Client Side Encryption)、SSE(Server Side Encryption)

種類 暗号化/復号 暗号化キーの管理

サーバー側の暗号化(SSE-S3) サーバー S3

サーバー側の暗号化(SSE-KMS) サーバー KMS

サーバー側の暗号化(SSE-C) サーバー クライアント

クライアント側の暗号化(CSE-KMS) クライアント KMS

クライアント側の暗号化(CSE-C) クライアント クライアント

AWS KMSAWS KMSAWS KMSAWS KMS による鍵の管理・保管による鍵の管理・保管による鍵の管理・保管による鍵の管理・保管

AWS 上で鍵管理を提供するマネージドサービスで、主に暗号化鍵の作成、有効無効の管理、ローテーション、削除を行う。

AWS KMS と連携した暗号化処理が可能な主な AWS サービスとして、以下のものがある。

・AWS SDK や CLI を利用したクライアントアプリケーション

・S3、EBS、RDS、Redshift などのストレージやデータベースサービス

CloudHSMCloudHSMCloudHSMCloudHSM による鍵の管理・保管による鍵の管理・保管による鍵の管理・保管による鍵の管理・保管

AWS のデータセンター内に配置されるユーザー占有のハードウェアアプライアンス。

AWS が HSM のアプライアンス自体を管理し、ユーザーは自身だけがアプライアンスに保管されてる鍵を管理できる。

HSM 自体がユーザーの VPC に配置され、他のネットワークから隔離されることや、

国際的なセキュリティ基準(NIST、FIPS140-2 など)に準拠など、セキュリティ要件が厳しい場合に適用する。

HSM と連携可能なサービスは、Redshift と RDS for Oracle。

セキュリティ監視セキュリティ監視セキュリティ監視セキュリティ監視

AWSAWSAWSAWS 上でのセキュリティ侵入テスト上でのセキュリティ侵入テスト上でのセキュリティ侵入テスト上でのセキュリティ侵入テスト

ユーザー側で脆弱性のスキャンや侵入テストを行うには

「AWS 脆弱性/侵入テストリクエストフォーム」から申請し許可を得る必要がある。

現状(2019 年 01 月)の AWS ポリシーとして以下のリソースに対するテストのみ許可されている。

・EC2

・RDS

・Aurora

・CloudFront

・API Gateway

・Lambda

・Lightsail

・DNS Zone Walking

またテストは全てのインスタンスで許可されている訳ではない。

Page 37: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

37

他のユーザーと共有する可能性があり、かつ、そのインスタンスのパフォーマンスに悪影響が及び可能性がある

スモール RDS インスタンスや、ml.smail などの EC2 のテストは許可されていない。

■コスト最適化■コスト最適化■コスト最適化■コスト最適化

コスト効果が高いリソース選定コスト効果が高いリソース選定コスト効果が高いリソース選定コスト効果が高いリソース選定

AWS サービス購入時のオプションは 3パターンある。

購入オプション 特徴 サービス

オンデマンドインスタンス 初期費用なしで利用した分だけ課金 EC2、RDS、Redshift など

リザーブドインスタンス 1 年か 3年単位で購入(最大 75%オフ) EC2、RDS、Redshift など

スポットインスタンス AWS の余ってるリソースを安く利用(最大 90%オフ) EC2、EMR など

オンデマンドインスタンスオンデマンドインスタンスオンデマンドインスタンスオンデマンドインスタンス(デフォルト)

主な用途として開発、テスト環境など決められた時間しか使わないサーバー群や、

キャンペーンなどで一時的に利用する WEB サイトでの利用を想定する。

リザーブドインスタンスリザーブドインスタンスリザーブドインスタンスリザーブドインスタンス

支払い方法は全額前払い、一部前払い、前払いなしの何れか。途中で利用キャンセルしても払い戻しはない。

主な用途として、最低限必要な WEB サーバーや、常時起動しておく必要がある DB サーバーなど。

同じリージョン内で AZ を変更できる。

利用形態によって Standard と Convertible の 2 つのタイプがある。

その他にもスケジュールされたリザーブドインスタンスは予約した時間枠で起動できる購入オプションがある。

特徴 Standard Convertible

平均割引率 1 年(40%)、3年(60%) 1 年(31%)、3年(54%)

AZ、インスタンスサイズ (Linux OS)、

ネットワークタイプの変更

可 可

インスタンスファミリー、オペレーティングシステム、

テナンシー、支払いオプションの変更

不可 可(変更元のインスタンス価格と

同等以上であること)

スポットインスタンススポットインスタンススポットインスタンススポットインスタンス

変動する EC2 インスタンスの価格(マーケット価格)に対して希望の価格で入札する。

スポット価格を上回っていればインスタンスが起動し利用可能だが、下がると強制停止される。

強制停止前には 2分間の猶予があるため、この間に状態保存などの終了タスクを設定可能。

主な用途としてメディアのエンコード処理を並列に行うための EC2 や、EMR のタスクノードなど。

必要に応じて 2つの購入オプションがある。

オプション 説明

スポットブロック 1~6時間の範囲で起動時間を保証することができる。設定時間経過後はスポット価格に関係なく終了する。

通常のスポットより割引率は低い。

スポットフリート スポット入札時に 1つのインスタンスタイプに絞らず、ターゲット容量と必要なリソース量を指定して起動。

c3.large/m3.large/r3.large の中から、現在のスポット価格が安いインスタンスタイプで起動のような指定が可能。

Page 38: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

38

リソースの最適なサイジングリソースの最適なサイジングリソースの最適なサイジングリソースの最適なサイジング

インスタンスタイプの構成。t2.xlarge のように構成される。

t:インスタンスファミリー、2:インスタンス世代、xlarge:インスタンスサイズ。

インスタンス世代インスタンス世代インスタンス世代インスタンス世代

数字が大きいほど新しい世代で、高性能且つ安価なケースが多い。

インスタンスサイズインスタンスサイズインスタンスサイズインスタンスサイズ

一般的には、vCPU 数が 2:large、4:xlarge、8:2xlarge、16:4xlarge と増加していく。

需要と供給のマッチングによる最適化需要と供給のマッチングによる最適化需要と供給のマッチングによる最適化需要と供給のマッチングによる最適化

EEEELBLBLBLB ++++ Auto ScalingAuto ScalingAuto ScalingAuto Scaling

スケーリングプランの設定値をトリガーに Auto Scaling グループの設定値に従って EC2 インスタンスを増加させる。

通信トラフィックの増減により柔軟な制御を行うため、CloudWatch の監視メトリクスを組み合わせて実装する。

SQSSQSSQSSQS((((Amanzon Simple Queue ServiceAmanzon Simple Queue ServiceAmanzon Simple Queue ServiceAmanzon Simple Queue Service))))

アプリケーション間でメッセージをキューイングすることで、疎結合なアーキテクチャを実現する。

冗長性と高可用性を確保するため、メッセージのコピーが複数のサーバーに保存される。

順序が保証されないスタンダードキュー(デフォルト)は秒間無制限のトランザクションを担保するが、

順序が保証される FIFO キューはバッチ処理で秒間 3000 件、バッチ処理なしでは秒間 300 件の処理をサポートする。

SQS はリクエスト単位で課金される。SQS メッセージの保持期間は 1分~2週間。(デフォルトは 4日間保持)

最大メッセージサイズは 1KB~256KB の範囲で指定可能。

送信可能なデータは、XML、JSON、未フォーマットのテキストなど。

作成した SQS のキューに対するアクションで使用する URL は、以下の通り。

http://sqs.リージョン.amazonaws.com/AWS アカウント ID/キュー名?Action=SendMessage&~

SQSSQSSQSSQS 処理のイメージ処理のイメージ処理のイメージ処理のイメージ

ロングポーリング型 可視性タイムアウト型

通常 SQS キューに対して受信者が取得要求を送ると

キューが空の場合でも Empty メッセージが返される。

この方式をショートポーリングと呼ぶ。

ロングポーリングはキューが空の場合、

メッセージを取得できるまで待機(1~20 秒)することで

メッセージ取得回数を減らすことができる。

ある受信者がメッセージを取得した場合、

他の受信者にはそのメッセージを一定時間

(デフォルト 30 秒)見せないようにすることで

処理の重複を防ぐ。

処理の重複を防ぐことで取得回数を減らすことができる。

Page 39: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

39

可視性タイムアウトと、スポットインスタンスを組み合わせることでさらにコスト効果が高まる。

メッセージ受信のアプリケーションにスポットインスタンスを使用することで、仮に強制終了されても

可視性タイムアウトを超過すると自動的に他の受信者がメッセージ取得できるようになるため、処理の再実行が可能。

KinesisKinesisKinesisKinesis

主にストリーミングデータ収集・処理・リアルタイム分析に利用される。SQS より低コスト。

レコードは 3重冗長化され、高い信頼性が確保された状態で 24 時間保持される。

Kinesis に put されたデータは 24 時間以内であれば何度でも Get 可能。

サーバーレスかつ処理ボリュームに応じて拡張するため、EC2+Auto Scaling などを自前で構築するより、

簡単且つ低コストでストリームデータのバッファリング処理が可能。

SQS と大きな違いは、複数のコンシューマ(メッセージを取得する側)が同時にメッセージを取得して処理できる。

リクエストで送信できるデータが 50KB の BLOB。

Amazon Kinesis Data StreamsAmazon Kinesis Data StreamsAmazon Kinesis Data StreamsAmazon Kinesis Data Streams

ストリーミングデータをほぼリアルタイムで保存でき、登録されたデータは EMR や Lambda などの

サービス上に構成された独自アプリケーションで処理することが可能。

流れてくるデータを効率的に処理する為にシャードと呼ばれる単位でデータを分割して並列処理を行う。

AmazonAmazonAmazonAmazon Kinesis Data FirehoseKinesis Data FirehoseKinesis Data FirehoseKinesis Data Firehose

独自のアプリケーションを構築することなくストリームデータを Amazon の各サービスに配信保存できるサービス。

例えばストリーミングされるデータを分析用データとして S3 や Redshift に蓄積する場合など。

Page 40: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

40

Amazon Kinesis Data Amazon Kinesis Data Amazon Kinesis Data Amazon Kinesis Data AnalyticsAnalyticsAnalyticsAnalytics

ストリーミングデータに対し、SQL クエリを実行し、リアルタイム分析を行うサービス。

SQL クエリを利用できるため、例えば 1分毎のストリーミングデータの合計値や平均値を簡単に算出できる。

コストの管理コストの管理コストの管理コストの管理

主なコスト管理のタスクは 5つある。

タスク 概要 サービス

コストの請求支払い 複数の AWS アカウントをまとめて管理 Consolidated Biling

コスト状況の詳細は把握 コストとリソース使用量の詳細をレポート・分析する AWS Cost and Usage Report

コストの可視化・傾向分析 コストの可視化や深掘り分析、将来予測を行う AWS Cost Explorer

過剰利用の監視 予算策定や予算超過のアラートを管理する AWS Budgets(予算設定)

コスト最適化の検討 コスト最適化の余地があるリソースを分析・改善する AWS Trusted Advisor

Consolidated BilingConsolidated BilingConsolidated BilingConsolidated Biling

AWS Organizations と呼ばれる複数の AWS アカウントを一元管理するサービスの一機能として提供されている。

請求先のマスターアカウント[k4](Payer Account)に対し、メンバーアカウント[k5](Linked Account)の請求が統合される。

・複数の AWS アカウントが 1つの請求書に統合されることで支払い業務を効率化

・各 AWS アカウントの使用状況を統合的に把握

・複数の AWS アカウントの使用料を統合することでボリュームディスカウントによるコスト削減が可能

AWS Cost and Usage ReportAWS Cost and Usage ReportAWS Cost and Usage ReportAWS Cost and Usage Report

AWS のサービス毎のリソース使用状況とコストを 1時間毎や日次で収集し、CSV 形式で S3 へ保存、

または Redshift へ格納したり、Amazon QuickSight で分析・可視化したりできる。

Consolidated Biling を利用している場合は、マスターアカウントのレポートにメンバーアカウントの情報が表示される。

取得可能な情報 説明

bill/Payer AcoountID 支払いアカウントの AWS アカウント ID(Consolidated Biling の場合はマスターアカウントの ID)

product/ProductName 使用している AWS のサービス名

product/region AWS サービスのリージョン名

lineItem/UsageAmount 指定した期間に発生したリソースの使用量

AWS Cost ExplorerAWS Cost ExplorerAWS Cost ExplorerAWS Cost Explorer

AWS Cost and Usage Report のデータをグラフとして可視化したり、検索したりできる。

機能 説明

可視化 最大で 12 ヶ月分のコストデータをグラフ表示できる。予め下記のグラフが用意されており切り替え可能。

Monthly costs by service サービス毎の月次コスト推移

Monthly costs by linked account AWS アカウント毎の月次コスト推移

Daily costs 日次コスト推移

Monthly EC2 running costs and usage 月次 EC2 使用時間・コストの推移

RI Utilization リザーブドインスタンスのコスト推移やオンデマンドインスタンスの場合と

比較した場合のコスト削減額など

分析 サービス、AWS アカウント、リージョン、AZ、インスタンスタイプ、タグなどの条件でフィルタリング表示できる

Page 41: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

41

予測 過去の使用量のトレンドから今後 3ヶ月間のコストを予測

AWS BudgetsAWS BudgetsAWS BudgetsAWS Budgets(予算設定)(予算設定)(予算設定)(予算設定)

Biling and Cost Management Dashboard の Budgets から予算を作成することができる。

予算額やリソース使用量を予め設定し、現在どのくらい消費しているかを確認したり、超過時の通知方法を設定できる。

設定内容 説明

予算額の設定 コストやリソースの使用量など監視対象を選び、月次や四半期などのタイミングを指定して

監視する予算額や使用量を設定する。

通知の設定 設定した予算額を超過しそうな場合、または超過した場合に CloudWatch アラートや SNS トピック、

メールなどによる通知が可能。

超過の条件は、予算額に対するパーセントゲージや実際の消費量(金額)より大きい、小さい、等しいなど。

AWS Trusted AdvisorAWS Trusted AdvisorAWS Trusted AdvisorAWS Trusted Advisor

コスト最適化、セキュリティ、耐障害性、パフォーマンス、サービスの制限の 5項目で、

ユーザーの AWS 利用状況をチェックし改善すべき事項を推奨するサービス。

コスト最適化機能を利用するには、ビジネスまたはエンタープライズレベルの AWS サポートプランを選択してる必要がある。

例えば以下の観点でコストの診断が可能。

使用率の低い EC インスタンス

少なくとも過去 14 日間、常に稼働しているインスタンスがあり、1日の CPU 使用率が 10%以下、

且つ、ネットワーク I/O が 5MB 以下である日が 4日以上ある場合にアラート。

使用率の低い EC2 に対し、インスタンス数やインスタンスサイズを調整することでコスト削減が可能。

EC2 リザーブドインスタンスの最適化

前月の 1時間毎の EC2 使用量に基づいてリザーブドインスタンスの最適数を推奨。

推奨されたリザーブドインスタンス数を購入することで、EC2 の使用料を節約する。

関連付けられていない Elastic IP アドレス

稼働中の EC2 に関連付けられてない EIP をチェックする。

EC2 に割り当てられてない EIP や割り当てられているが、停止しているなどの EIP を解放することでコスト削減を行う。

■運用の考え方■運用の考え方■運用の考え方■運用の考え方

運用に関するその他のサービス運用に関するその他のサービス運用に関するその他のサービス運用に関するその他のサービス

サポートサポートサポートサポート

サービスの稼働状態監視サービスの稼働状態監視サービスの稼働状態監視サービスの稼働状態監視

AWS Service Health Dashboard というサービスを通じて、AWS が提供しているすべてのサービスの稼働状況を監視し、

ユーザーに情報を提供している。ユーザーに特化した情報ではなく、すべてのサービスの情報が提供されるため、

ユーザーは自分に関係あるサービスの状況を把握しにくい。

このような状況に対処するため、AWS Personal Health Dashboard がある。

このサービスはユーザーに関係あるサービスの状況、リソースのメンテナンス情報、障害情報を提供している。

AWSAWSAWSAWS サポートサポートサポートサポート

Page 42: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

42

サポートプラン 説明

ベーシック AWS アカウント開設後、標準で利用可能。技術問い合わせは不可

開発者 主に学習用途。技術問い合わせできるユーザー数は 1名のみ

ビジネス 主に本番環境で運用するシステムを持つユーザー向け。技術問い合わせ可能でユーザー数は無制限

エンタープライズ 主にミッションクリティカルなシステムを持つユーザー向け。技術問い合わせ可能でユーザー無制限

AWSAWSAWSAWS サポートプランの緊急度サポートプランの緊急度サポートプランの緊急度サポートプランの緊急度

緊急度 問い合わせの状況 目標応答時間

非常事態 業務が機器にさらされている。アプリケーションの最重要機能が利用できない 15 分以内

発生中の障害

(ビジネス影響大)

業務に多大な影響がある。アプリケーションの重要機能が利用できない 1 時間以内

発生中の障害 アプリケーションの重要機能に障害があるか、機能が低下している 4 時間以内

障害・開発中の

急ぎの問い合わせ

アプリケーションの重度でない機能に異常な動作が見られる。

時間的制約のある開発上の質問がある。

12 時間以内

通常の問い合わせ

機能要望

一般的な開発上の質問。機能のリクエスト。 24 時間以内

AWSAWSAWSAWS サポートプランの内容比較サポートプランの内容比較サポートプランの内容比較サポートプランの内容比較

ベーシック 開発者 ビジネス エンタープライズ

カスタマーサービス ○

サポートフォーラム 日本語対応(日本時間 平日 09:00 ~ 18:00)

技術サポートへのアクセス

(問い合わせ方法)

ヘルスチェックのサポート

(EC2 や EBS の稼働状況モニタなど)

○ ○ ○ ○

メール ○ ○(24H) ○(24H)

○ ○

チャット ○ ○

TAM(テクニカルアカウント

マネージャへの問い合わせ)

対応する緊急度

非常事態 ○

発生中の障害(影響大) ○ ○

発生中の障害 ○ ○

障害・開発中の急ぎ問い合わせ ○ ○ ○

通常の問い合わせ・機能要望 ○ ○ ○

問い合わせユーザー数 1 無制限 無制限

課金課金課金課金

AWS コンソールの右上にあるアカウント名のプルダウンメニュー、マイ請求ダッシュボードで確認する。

分類 サービス 課金

コンピューティング EC2 時間

Elastic Beanstalk 無料(EB にて稼働するサービスに対して料金が発生する)

Lambda リクエストの数とコードの実行時間

Page 43: 最終更新 2019/04/29 AWSAAWWSSAWSサービス全体の概要 サービス全体の概要 AWS ...vre.sakura.ne.jp/dl/AWS-SAA.pdf · S3やDynamoDBへアクセスする際にインターネットを経由せず、AWS内のプライベート接続を実現するサービス。

43

Auto Scaling 無料(AutoScaling で起動するサービスに対して料金が発生)

ELB ALB/NLB:LCU(セッションなどの接続)

CLB :転送されるデータ量(GB 単位)

ネットワーク VPC AWS サイト間 :時間

プライベート接続:時間、処理データ(GB)

NAT ゲートウェイ:時間、処理データ(GB)

Direct Connect 時間、データ転送

Route 53 ホストゾーン数(Alias は無料)、クエリ数

ストレージ S3 割り当てた容量、

EBS 割り当てた容量、IOPS

Storage Gateway 割り当てた容量

コンテンツ配信 CloudFront データ転送量、リクエスト数

データベース RDS 時間(時)

DynamoDB テーブルのデータ I/O または 1 秒あたりの I/O 回数

RedShift 時間、インターネットや別リージョンに転送する場合は追加料金

Aurora 時間、インターネットや別リージョンに転送する場合は追加料金

ElastiCache 時間単位、メモリ容量

キューイング SNS 発行/配信した通知数(100 万/月までは無料)、API コール数

SQS リクエスト数(100 万/月までは無料)

SES 送受信件数、転送量

SWF ワークフロー実行数

Elastic Transcoder 分単位、レート

リアルタイム EMR 時間(分)

Kinesis スループット、ストリームに追加するデータ容量

Data Pipeline アクティビティ、実行スケジュールの頻度、実行場所(AWS、オンプレミス)

監視 CloudWatch 基本メトリクスは無料。カスタムは使用量

CloudTrail 過去 90 日のアクティビティまで無料。

証跡設定する場合は S3 へ保存されるため、S3 の使用量が発生

セキュリティ CloudHSM 時間

Key Management Service API コール数