第二弾。だいぶ慣れてきた。フロー図とかシーケンス図とか普通に書けるといいんだが。
合格対策 AWS認定ソリューションアーキテクト - アソシエイト
- 作者:大塚康徳(日立インフォメーションアカデミー)
- 発売日: 2016/08/17
- メディア: 単行本(ソフトカバー)
4. EC2/AMI/EBS/インスタンスストア
EC2起動までのステップ
# | ステップ | 詳細 |
---|---|---|
1 | AMI(Amazon Machine Image)の選択 | 仮想マシンのOSイメージを選択 |
2 | インスタンスタイプの選択 | マシンスペック(CPUコア数、メモリ)を選択 |
3 | ネットワーク・IAMロールなどの設定 | VPC・サブネット・IPの割当、IAMロール、ユーザデータ(OS起動時のスクリプト)を設定。 インスタンス作成時に確定していない値は メタデータ を用いて記述 |
4 | ストレージの設定 | EC2インスタンスに接続するストレージをEBSとインスタンスストアから選択 インスタンスストアの選択は初回起動時のみ可 |
5 | タグ付 | 検索性向上のためのキーと値のセットを付与 |
6 | セキュリティグループの設定 | FW設定として最低一つのセキュリティグループを設定 |
7 | 設定確認 | 1〜6の設定内容の確認 |
8 | キーペアの選択 | EC2インスタンスへSSHログインする際のキーペアを選択 |
EC2インスタンスのライフサイクル(状態遷移図)
初期状態 | 起動 | 時間経過 | 再起動 | 停止 | 削除 |
---|---|---|---|---|---|
-(未起動) | pending | - | - | - | - |
pending | - | running | - | - | - |
running | - | - | rebooting | stopping | shutting-down |
rebooting | - | running | - | - | - |
stopping | - | stopped | - | - | - |
stopped | pending | - | - | - | shutting-down |
shutting-down | - | terminated | - | - | - |
terminated | - | - | - | - | - |
EBSとインスタンスストアの比較
比較観点 | EBS | インスタンスストア |
---|---|---|
データ特性 | 不揮発性(永続的) | 揮発性(一時的) |
性能 | 数百〜2万IOPS | MAX30万IOPS |
価格 | $/GB | 無料 |
対応EC2 | EBS-backedインスタンス | instance store-backedインスタンス |
対応EC2の特徴 | 停止、起動、再起動、削除 | 再起動、削除 |
EBSの3タイプの比較
比較観点 | General Purpose SSD | Provisioned IOPS SSD | Magnetic |
---|---|---|---|
ボリュームサイズ | 1G〜16T | 4G〜16T | 1G〜1T |
IOPS | 3IOPS/GB、MAX10000IOPS | 容量の30倍IOPSを指定、MAX20000IOPS | 平均100IOPS |
価格 | 容量のみ | 容量・指定したIOPS | 容量・発生したIO |
ユースケース | 一般 | 高い性能を求め羅れるアプリ・DBなど | IOの発生が少ないコスト重視のマシン |
推奨運用 | - | ネットワークがボトルネックになるため、 EBS最適化インスタンスとしてEC2を起動 |
- |
EBSスナップショット
S3に保存されるEBSないのデータバックアップ。 主な特徴は下記の通り。 - 圧縮保存 - 差分バックアップ - ディスクI/Oを停止するため、ボリュームをアンマウントしてからの取得を推奨 - 復元時は異なるAZ、EBSタイプ、サイズ(大きい場合)の指定が可能
プレイスメントグループ
EC2インスタンス間のネットワーク接続を高速化するためのグループ。 異なるAZ間は物理的には離れているために発生する遅延への対策として利用される。
Dedicatedインスタンス
ハードウェア占有インスタンス。EC2インスタンスを起動させる物理ホストに別アカウントのEC2が起動しないことを保証する。ソフトウェアライセンスでハードウェアの占有を求められる場合への対策として利用される。
5. オブジェクトストレージ
S3
Amazon Simple Storage Service。安価で耐久性有り。データ容量無制限。 オブジェクトには下記2種類のストレージクラスがある。 - スタンダードクラス・・・イレブンナイン(99.9・・・と9が11個続く%)の耐久性。3ヵ所に複製。 - 低冗長化(RRS)クラス・・・フォーナイン(99.99%)の耐久性。
包含関係としては、オブジェクト<<バケット
である。一般的なファイルシステムのストレージは、ディレクトリ単位でファイルを管理するが、オブジェクトストレージはバケット単位でファイル(オブジェクト)を管理する。また保存形式はKey-Value Store形式である。
操作ごとにデータが整合されるタイミングは下記の通り異なる。
新規オブジェクトの書き込み(PUT)
S3バケットに書き込み後、S3から完了が返却された後
に整合される。既存オブジェクトの上書き(PUT)
S3バケットに上書き後、S3から完了が返却され時間経過後
に整合される。オブジェクトの削除(DELETE)
S3バケットから削除後、S3から完了が返却され時間経過後
に整合される。
S3のセキュリティ
- アクセス制限方法の比較
比較観点 | ACL | バケットポリシー | IAMポリシー |
---|---|---|---|
他アカウントの設定 | ○ | ○ | × |
自アカウントの設定 | × | ○ | ○ |
バケットアクセス | 許可のみ可 | 許可・拒否可 | 許可・拒否可 |
オブジェクトアクセス | 許可のみ可 | 許可・拒否可 | 許可・拒否可 |
条件付きアクセス | 不可 | 可 | 可 |
IAMユーザアクセス | 制御不可 | 制御可 | 制御可 |
グループアクセス | 制御不可 | 制御可 | 制御可 |
加えて、署名(期限)付きURLという方法があり、一時的に特定のユーザだけにアクセスを許可したい場合に用いる。
- 暗号化とアクセスログ
Webサイトのホスティング
EC2よりも安価にWebサイト構築が可能。動的なプログラム(PHP,JSPなど)は不可だが、クライアントサイト(JavaScript)などは可能。
バージョニング機能
S3バケット単位で有効化できる。オブジェクトに対してバージョンIDが付与されるため、誤操作時に元データの復元が可能。
Glacier
データのアーカイブや長期バックアップなどの用途に適したストレージでS3に比べてコストが安い。(一方で、即時参照ができない。)S3バケットのライフサイクル機能によって、指定日数経過後のオブジェクトストレージをGlacierに移行、指定日数経過後に削除などが可能。
6. データベース
AWS提供のマネージドデータベースサービス種類
サービス名 | サービス概要 |
---|---|
RDS | リレーショナルデータベース |
Dynamo DB | NoSQLデータベース |
ElastiCache | インメモリキャッシュ |
Redshift | データウェアハウス |
- マネージドサービス・・・ユーザインストールすることなく利用可能なサービスであり、RDB、ELB、SQSなど様々ある。
Amazon RDS
データベースエンジンを下記から選択可能。 - Amazon Aurora(AWS独自、MySQLと互換性あり) - MySQL - MariaDB(MySQLから分岐、オープンソース) - PostgreSQL - Oracle - Microsoft SQL Server
RDSの主要機能と特徴
マルチAZ配置
- 複数のAZにRDSインスタンスを配置して可用性を向上。
- スレーブ最新化の仕組みは下記の通り。
- 同期物理レブリケーション・・・MySQL、MariaDB、PostgreSQL、Oracle
- 同期論理レプリケーション・・・SQL Server
- 読み取り性能のためにリードレプリカを用意する構成がある(スレーブは読み書き不可)
- フェイルオーバーはマスター障害、メンテナンス、インスタンス再起動時に発生(数分程度)
- Auroraは3AZにクラスターボリュームを作成し、各AZでデータを保持、プライマリインスタンス以外にはリードレプリカを配置する構成
自動バックアップ機能
- 1日1回スナップショットを取得
- スナップショット保持期間はデフォルト7日(0〜35日で指定可)
- トランザクションログを取得しているため、復元が可能
パッチ適用
- 指定の曜日・時間帯に自動でパッチ適用
- スレーブ→スタンバイの順番で適用
- 重要なセキュリティ脆弱性対応の場合は無効でも適用される場合あり
ストレージ
- EBSと同様のタイプから選択可
DynamoDB
- 必要に応じてストレージ自動拡張
- 秒間あたりのI/O性能を指定可能
- SSDのみのため性能安定
- 3つのデータセンターにデータ複製(高可用性・高耐久性)
- 読み込み整合性の強弱を指定可能(性能と整合性のバランス調整)
※読み込み整合性=データが整合されるタイミングの早さのようなもの
一つ一つの項目は400KBを超えられないため、サイズは小さいが項目数が多いデータに適している。
- セッション
- ゲームの点数
- 買い物カゴ
- センサーデータ
ElastiCache
下記のいずれかを選択。
RDSへのアクセス負荷の軽減、セッションデータの格納などの用途に用いられる。
7. Amazon CloudWatch
Amazonのモニタリングサービス。 下記のような監視項目(メトリックス)が存在する。 - EC2のCPU利用率 - EBSのディスクI/O - S3の格納オブジェクト総数 - RDSインスタンスのメモリ空き容量 - DynamoDBに書き込まれたユニット数
など
EC2のモニタリング
EC2のメトリックス
- 標準(デフォルト)メトリックス・・・ハイパーバイザが取得(12種類)
- カスタムメトリックス ・・・OSにインストールしたエージェントが取得
データプロット間隔
- 基本モニタリング・・・3種類のステータスチェックは1分間隔、その他は5分間隔
- 詳細モニタリング・・・標準メトリックスを全て1分間隔(要追加料金)
アラーム
メトリックスの閾値を超えた際に所定の動作(アクション)を行う機能。 下記のような動作が可能。
アラームは3つの状態を持つ。 - OK・・・閾値未満 - アラーム・・・閾値以上 - 不足・・・データ不足
SNS
Amazon Simple Notification Service。ユーザやアプリケーションにメッセージを送信できる通知サービス。
- メッセージ・・・通知するメッセージ
- サブスクライバ・・・通知を受け取るクライアント。対応プロトコルは下記の通り。
- Eメール
- SMS
- モバイルプッシュ
- HTTP/HTTPS
- SQS
- Lambda
- トピック・・・単一、複数のサブスクライバをまとめたもの