AWS 云从业者基础知识 学习笔记汇总

セキュリティ

IAM (Identity and Access Management)

⇒ ユーザーの AWS リソースへのアクセス管理サービス(権限設定)
・IAM ユーザを作っての運用が推奨

セキュリティグループ

⇒ インスタンスに対して設定する(トラフィックを制御する)仮想ファイアウォール
・オンプレ(1LAN に 1 ファイアウォール)とは違い、各インスタンスごとに設定できる
・許可するインバウンドのポートと送信元を設定するホワイトリスト
・送信元には、CIDR か他のセキュリティグループを指定

★CIDR (Classless Inter-Domain Routing)
⇒IP アドレスの範囲を定義する(10.0.0.0/16 など)

ネットワーク ACL (Access Control List)

⇒ サブネットに対して設定する仮想ファイアウォール
・拒否するインバウンドのポートと送信元を設定するブラックリスト
・必要がなければ設定しない追加のセキュリティレイヤー

AWS Shield

⇒DDoS 攻撃に対する保護サービス
・Standard プランと Advanced プラン(AWS WAF が無償で無制限に利用可能)がある
・エッジロケーションで使用

★DDoS 攻撃 (Distributed Denial of Service attack)
⇒ 通信量を増大させて、通信処理に負荷をかけ、サービスを利用困難・ダウンさせる攻撃

AWS WAF (Web Application Firewall)

⇒Web アプリケーションのファイアウォール
・可用性低下、セキュリティ侵害、リソースの過剰消費など一般的な Web の脆弱性からアプリを保護する
・基本量は無料だが、セキュリティルールに基づいて課金
・セキュリティルールの設定が必要
・適用先は、CloudFront/Application Load Balancer/API Gateway から選択

Inspector

⇒EC2 上のアプリのセキュリティ・コンプライアンス向上のための脆弱性診断サービス
・自動でアプリを診断し、問題をリスト化

コンピューティング

EC2 (Elastic Compute Cloud)

⇒ 仮想コンピュータ
・必要なときに必要なだけ使用 → 使用した分だけ課金
・変更可能なインスタンスタイプから性能を選択 → 運用開始後に変更可能
・数分でサーバー調達して起動 → 経営の俊敏性向上
・世界中のリージョンから起動場所を選択 → 世界中にデプロイ
・AMI からいくつも同じ構成のサーバーを作成できる
・セキュリティグループでトラフィック制御
・OS を管理者権限で操作 → キーペアで安全にログインできる
・ユースケースに応じた料金オプションがある → コスト効率の向上

ELB (Elastic Load Balancing)

→EC2 インスタンスを複数の AZ に配置した際に、ユーザーからのアクセスを一本化するためのもの
→EC2 を複数 AZ に配置すると、障害が起きてもシステムは停止しにくい
→ 可用性、対障害性の向上のために使うサービス
・ロードバランサータイプは 3 つ → HTTP/HTTP では Application Load Balancer
・ヘルスチェック → 正常なインスタンスのみにトラフィックを送るため
・インターネット向け/内部向け両方に対応 → 内部向けにも ELB を挟むことで可溶性をさらに向上
・高可用性のマネージドサービス → 自動・水平にノードが増えるので、単一障害点とならない
・クロスゾーン負荷分散 → AZ を超えて負荷分散をする設定 → リソースの負荷が均等に

★AMI (Amazon Machine Image)

⇒EC2 インスタンスのテンプレート(サーバ構成)

Auto Scaling

⇒EC2 インスタンスを必要に応じて自動増減してくれるサービス
→ 高可用性、耐障害性、コスト効率化になる
・垂直スケーリング → インスタンスの性能変更 → システムの設計変更が発生するため面倒
・水平スケーリング → インスタンスの数を変更 → スケーラビリティを確保しやすい
・起動設定、Auto Scaling グループ、スケーリングポリシーを設定
(何をスケールするか)、(どの AZ でスケールするか)、(どのタイミングでスケールするか)
・アプリデプロイを自動化

★ ステートレス

⇒EC2 に情報やステータスを持たせない(スケールイン時に削除されてしまうので)

★ ブートストラップ

⇒ ユーザーデータとメタデータを使って、アプリのデプロイをより簡易化するための設計パターン
(ここで言うデプロイはアプリ改修の場合)

★ ユーザーデータ

⇒ インスタンス起動時に行う処理を設定しておくもの

★ メタデータ

⇒EC2 の情報(パブリック IP、インスタンス ID など)
→EC2 を起動する前に、情報をメタデータから取得できる

Lambda

⇒ ソースコードさえあればプログラムを実行できるサービス
→ 環境構築しなくていい
・サーバーの構築、管理不要
・一般的な言語のサポート → Ruby などの言語が使えるので、新しく何かを学ぶ必要がない
・並行処理/スケーリング → リクエストに応じて自動で水平スケーリングし並行処理=スケーラビリティ確保
・柔軟なリソースを設定 → メモリを設定する(課金対象ここ)。CPU などはメモリに応じる
・ミリ秒単位の無駄のない課金 → 実行されている時間に課金
・他の AWS サービスとの連携 ⇒ サービス間の動作をつなぐマクロみたいな役割できる

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

★ECS (Elastic Container Service)

⇒ コンテナ管理を行うマネージドサービス

★Lightsail

⇒ 仮想プライベートサーバー

★Batch

⇒ フルマネージド型のバッチ処理実行環境サービス

ストレージ

EBS (Elastic Block Store)

⇒EC2 インスタンスにアタッチして使うブロックストレージボリューム
・EC2 のルートボリューム or 追加ボリュームとして使用(外付け HDD みたい)
→ 不要になれば削除できる
・AZ 内で自動でレプリケート(複製)される → ハードに障害起きてもデータがなくならない
・ボリュームタイプの変更が可能
・容量の変更が可能 → 確保している容量に対して課金
・高い耐久性のスナップショット → S3 に保存

★ スナップショット

⇒ ある瞬間における対象の全体像を丸ごと写し取ったもの。ここから復元できる

★S3 に保存

⇒ 複数の AZ で冗長化されており、耐久性がイレブンナイン
→EBS のスナップショットもイレブンナイン(99.999999999%)
※EBS 自体は EC2 にアタッチしているので、その AZ が死= EBS 死という状況を避けるため

・ボリュームタイプの変更が可能

★ 汎用 SSD → 16,000IOPS
★ プロビジョンド IOPS SSD → 16,000〜64,000IOPS
★ スループット最適化 HDD → SSD ほど性能要らないとき ※ルートボリュームとしては NG
★Cloud HDD → SSD ほど性能が要らず、アクセス頻度が低いとき ※ルートボリュームとしては NG
★IOPS

⇒1 秒あたりのディスクが処理できる I/O アクセスの数
→SSD の性能

・ボリュームの暗号化 → スナップショットも暗号化。自動なので操作不要
・永続的ストレージ → インスタンスを再起動してもデータは残る

★ インスタンスストア

⇒EBS の対比で、ホストのローカルのストレージを使うこと
→ インスタンスの状態に依存する(データは一時的利用)

AWS マーケットプレイス

AWS 上で利用可能なソフトウェアやサービスを見つけ、購入することができるオンラインストアです。ここで AWS 用のサードパーティのソフトウェアソリューションとサービスの検索することができます。

S3 (Simple Storage Service)

⇒ マネージド型のオブジェクトストレージ
・無制限のストレージ容量 → 容量の確保は必要なく、バケットさえ作れば OK
・高い耐久性 → 複数の AZ 内で冗長化(イレブンナイン)
・ネット経由でアクセス → 世界のどこからでもアクセスできる

・バケット、オブジェクトはデフォルトでプライベート
・ACL(アクセスコントロールリスト)で簡単にアクセス権を設定できる
・バケットポリシーでより詳細にアクセス権を設定できる
・EC2 などに、S3 へのアクセスけんを設定する際は IAM ロールを使用する
・HTTPS でアクセス可能。何もせずとも
・保存データの暗号化は複数の方法で可能 → S3 キーでのサーバー、KMS、独自キーでのサーバー or クライアント

AWS Global Accelerator

ローカルまたは世界中のユーザーに提供するアプリケーションの可用性とパフォーマンスを改善します。AWS グローバルネットワークを使用してユーザーからアプリケーションへのパスを最適化し、TCP および UDP トラフィックのパフォーマンスを改善します。アプリケーションエンドポイントの状態を継続的に監視し、異常なエンドポイントを検出し、1 分以内に正常なエンドポイントにトラフィックをリダイレクトします。

AWS Storage Gateway

オンプレミスアプリケーションが AWS クラウドストレージをシームレスに接続することができるハイブリッドストレージサービスです。 このサービスはバックアップ、アーカイブ、災害復旧、クラウドデータ処理、および移行に使用できます。

ストレージクラス

★ 標準 → デフォ

★ 低頻度アクセスストレージ(標準 IA)→ リクエスト料金 ↑、ストレージ料金 ↓
  ⇒ バックアップデータに最適

★1 ゾーン定頻度アクセスストレージ(1 ゾーン IA)→ 複数の AZ で冗長化されない。別リージョンでのバックアップ

★Amazon Glacier → 取り出しに 3-5H かかる。法的保存期間の定めがあるものなど
・ストレージ料金は、最適なストレージクラス選択によってコスト効率を高められる
・ライフサイクルポリシーによってストレージクラスの変更を自動化できる
・リージョン外へのアウト通信にのみ転送料金がかかる

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

EFS (Amazon Elastic File System)
⇒ 複数の EC2 インスタンスでマウントして共有利用できるファイルストレージサービス

Storage Gateway

⇒ オンプレアプリと AWS のストレージをシームレスに接続利用するためのゲートウェイ

Snowball

⇒ 物理デバイスを利用してペタ級の大容量データ転送を行うサービス

ネットワーク

VPC (Virtual Private Cloud)

⇒AWS 内に構築できるプライベートなネットワーク環境
→AWS の敷地の中で、「自分の領域はここ!」
・リージョンを選択して作成(AZ をまたぐことはできる)
・CIDR (Classless Inter-Domain Routing) → プライベート IP の範囲を定義する

★ サブネット

⇒AZ と IP アドレス範囲を定義するネットワークグループ
→ 役割別に作成する(外部接続係、内部接続係)

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

★ インターネットゲートウェイ
⇒VPC とパブリックインターネットを接続するための Gateway
→ インターネット(外部との通信)の入り口
※入り口は VPC につき一つ
※水平スケーリングによる冗長性を持っているので、単一障害点にはならない

★ ルートテーブル

⇒ サブネットの経路を設定。サブネットと関連づける
→ 通信に関するルールブック

★ セキュリティグループ

⇒ 仮想ファイアウォール
→ セキュリティに関するルールブック
※送信元を、CIDR で IP アドレス範囲で指定
※送信元を、他のセキュリティグループの ID で指定
  →IP アドレスに依存せず、柔軟かつ最低限の送信元だけを許可するセキュアな設定
※VPC を指定して作成 → トラフィックのホワイトリスト化

★ ネットワーク ACL(Access Control List)

⇒ サブネットに対して設定する仮想ファイアウォール
・拒否するインバウンドのポートと送信元を設定するブラックリスト
・必要がなければ設定しない追加のセキュリティレイヤー

★ 外部から EC2 インスタンスにアクセスするための重要ポイント

・インターネットゲートウェイを VPC にアタッチ
・インターネットゲートウェイへの経路を持つルートテーブルをサブネットに関連づける
・EC2 インスタンスをそのサブネット内で起動
・EC2 インスタンスにパブリック IP アドレスを有効にする
(orEC2 のパブリック IP を固定する Elastic IP をアタッチする)

★ ハイブリッド環境構成

・VPC に、既存のオンプレから VPN or 専用回線で接続
→ オンプレ環境の拡張先として AWS 使える
⇒ オンプレ&クラウド=ハイブリッド

CloudFront

⇒ コンテンツ配信ネットワークサービス(CDN = Contents Delivery Network)
・最も低いレイテンシーで配信できる
・キャッシュによる低レイテンシー配信 → エッジロケーションにキャッシュ持たせてる
・ユーザの近くからの低レイテンシー配信 → ユーザへは最もレイテンシーの低いエッジロケーションから配信
・安全性の高いセキュリティ → ドメイン証明書を設定できる= HTTPS 化

Route 53

⇒DNS(Domain Name System)サービス
→ 例えばドメイン(teshita.com)と Elastic IP(51.1.1.1)を紐付ける
・エッジロケーションで使用される
・複数の DNS レコードを設定し、用途に応じて様々なルーティング機能を選択
・高可用性実現するヘルスチェックとフェイルオーバー → 複数の DNS レコードにより実現
・ルートドメイン(Zone Apex)のエイリアスレコード

データベース

AWS OpsWorks

Chef や Puppet のマネージド型インスタンスを利用した構成管理サービスです。Chef や Puppet は、コードを使用してサーバーの構成を自動化するためのオートメーションプラットフォームです。Puppet を使用して EC2 インスタンスの構成方法を自動化することができます。

RDS (Relational Database Service)

⇒ オンプレで使用されているデータベースエンジンをそのまま使える DB サービス
・通常のデータベースタスクの時間を節約して、ユーザーに必要な高速パフォーマンスと高可用性を提供する

★EC2 に MySQL などをインストールして使うのと違うのは

・メンテナンス(OS、DB エンジンのアプデ)不要
・バックアップ不要 → 自動で行ってくれる(max35 日間) → それを超えるときは手動のスナップショット
※ポイントタイムリカバリー → 自動バックアップ期間内なら、秒単位での指定復元可能
・高可用性の担保 → マルチ AZ
  →Master と Standby 間でレプリケーション(異なるデータセンター間を低レイテンシーで実現)
※クロスリージョンリードレプリカ
  → リードレプリカを他リージョンに作成することで、マスターデータベースから読み込みの負荷を軽減できる

★Amazon Aurora

⇒ クラウドに最適化して再設計されたリレーショナルデータベースエンジン
→MySQL、PostgreSQL 互換
・メリットある

Amazon Neptune

高速かつ信頼性の高いフルマネージドグラフデータベースサービスです。このサービスでは、高度に接続されたデータセットと連携するアプリケーションを簡単に構築および実行できます。Amazon Neptune を利用することで、洗練されたインタラクティブなグラフアプリケーションを作成することができます。

★DMS (Databese Migration Service)

⇒DB の移行サービス
・オンプレから AWS への継続的なデータ移行 → システムのダウンタイムを最小限にできる

DynamoDB

⇒NoSQL 型のフルマネージド DB
→ 非リレーショナル
・テーブル名とプライマリーキーを決めるのみで、リージョン選択するだけで使える(AZ 気にしない)
・RDS よりさらに管理範囲が少ない

★RDS との違い

① スケーリング
・RDS → 垂直スケーリング → 性能の向上(数は一つ) → 大量のアクセス 🙅‍♂️(高速パフォーマンスと高可用性 🙆‍♂️)
・DynamoDB → 水平スケーリング → 数の増加 → 大量のアクセス 🙆‍♂️(厳密なトランザクション、複雑なクエリ 🙅‍♂️)

② テーブルの型
・RDS → SQL 型(Excel みたい)
・DynamoDB → NoSQL 型(アイテム=ハッシュ?)
→ 不定型の入れ物に自由に情報を格納 → キーを検索のインデックスとして扱う

その他のデータベースサービス
★Amazon Redshift

⇒ 高速でシンプルなデータウェアハウスサービスで、分析に使用される

★Amazon ElasticCache

⇒ インメモリデータストアサービス
→ クエリ結果のキャッシュやアプリのセッション情報を管理するのに使用される

★Amazon Nepture

⇒ グラフデータベースサービスで、関係性や相関情報などを扱う。提案エンジン、物流最適化など

管理サービス

Amazon Cognito

ウェブアプリケーションやモバイルアプリケーションの認証、許可、ユーザー管理をサポートしています。ユーザーは、ユーザー名とパスワードを使用して直接サインインするか、Facebook、Amazon、Google などのサードパーティーを通じてサインインできます。

CloudWatch

⇒AWS サービスの情報をモニタリングするサービス
・標準(組込メトリクス)の収集、可視化
・カスタムメトリクスの収集、可視化
・ログの収集 → メトリクスだけでなく EC2 などのログも収集できる
※これにより EC2 をステートレスにできる → EC2 ローカルにログファイルがあると障害時自動終了が面倒

★ 標準メトリクス → AWS が管理する範囲の情報。サービスによって異なる
★ カスタムメトリクス → ユーザが管理する範囲の情報。CloudWatch エージェントで取得できる
★CloudWatch Logs → インスタンスのログを収集。CloudWatch エージェントで取得できる

※文字列のフィルタリング結果をメトリクスとして扱える
※保存期間は任意。失効しないも可能

・アラームを設定することで、モニタリング結果に基づく運用を自動化できる

AWS Security Token Service(AWS STS)

AWS のサービスへのアクセスに使用できる一時的な限定権限認証情報を取得できます。一時的な認証情報は AWS STS によって生成されます。デフォルトでは、AWS STS は https://sts.amazonaws.com に 1 つのエンドポイントのあるグローバルサービスです。ただし、他のサポートされているリージョンにあるエンドポイントへの AWS STS API 呼び出しを実行することもできます。

Amazon Elastic Container Registry (ECR)

開発者が Docker コンテナイメージを AWS クラウドに保存・管理することができます。ECR は完全マネージド型の Docker コンテナレジストリとして提供されています。

Trusted Advisor

⇒ 環境を自動でチェックし、ベストプラクティスに近づけるためのアドバイスをくれるサービス
・コスト最適化の視点
・パフォーマンスの視点 → 最適なサービス、サイズが選択されてるか?
・セキュリティ → リスクないか?
・フォールトトレランス(耐障害性)
・サービス制限 → 意図しない操作等で不利益が生じないようにするためのソフトリミット

その他の管理ツール

★Cloud Trail

⇒AWS 内のすべての API 呼び出しを記録

Cost Explorer

コストと使用状況を表示および分析するために使用できるツールです。メイングラフ、コストと使用状況レポート、または Cost Explorer RI レポートを使用して、使用状況とコストを確認できます。過去 13 か月までのデータを表示し、今後 3 か月間にどれくらい費やす可能性が高いかを予測し、リザーブドインスタンスを購入するための推奨事項を得ることができます。また、さらに調べる必要がある分野を特定し、コストを把握するために使用できる傾向を確認できます。

★CloudFormation

⇒AWS の各リソースを含めた環境を自動作成/更新/管理

★Elastic Beanstalk

⇒Web アプリの環境を簡単に AWS に構築
AWS クラウド上にアプリケーションをすばやくデプロイし、管理を自動化できます。これは Go、Java、.NET、Node.js、PHP、Python、Ruby で開発されたアプリケーションをサポートしており、.NET アプリケーションを AWS クラウドにすばやくデプロイすることが可能です。

AWS Systems Manager

AWS でご利用のインフラストラクチャを可視化し、制御するためのサービスです。統一されたユーザーインターフェイスを介して複数の AWS サービスからの運用データを表示し、運用タスクを自動化することができます。

★Cloud Config

⇒ リソースの設定変更履歴を簡単に見れる


その他補足

Lambda

新しい情報に迅速に対応できるアプリケーションを容易に構築できるコンピューティングサービスです。
これはサーバレスアプリケーションを利用する際に EC2 の代わりに利用するサービスです。

セキュリティグループ

インスタンスに対して設定するホワイトリストの仮想 FW

ネットワーク ACL

サブネットに対して設定するブラックリストの仮想 FW
着信トラフィックリクエストをフィルタリング

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

一週間という期限だけで利用する場合はオンデマンドインスタンスを利用

スポットインスタンス

一瞬だけ使う。動画編集するときだけ、みたいな

スケジュールドリザーブドインスタンス

週一回金曜日や、10時から17時といった定期的な利用時間にかぎってインスタンスを利用する場合にコスト最適

CloudTrail

AWS 内のすべての API 呼び出しを記録
AWS でのガバナンス、コンプライアンス、およびリスク監査のために、CloudTrail を有効化する必要
ユーザーアクティビティログを取得することができます。ユーザー、ロール、または AWS のサービスによって実行されたアクションは、CloudTrail にイベントとして記録されます。イベントには、AWS マネジメントコンソール、AWS CLI、および AWS SDK と API で実行されたアクションが含まれます。

AWS Config

AWS Config は AWS リソースの設定を評価、監査、審査できるサービスです。Config では、AWS リソースの設定が継続的にモニタリングおよび記録され、望まれる設定に対する記録された設定の評価を自動的に実行できます。AWS リソース設定がコンプライアンスやガバナンス上最適な構成になっているかを評価・監視することができまます。

AWS Systems Manager

運用関連!
AWS で利用しているインフラストラクチャを可視化し、制御するためのサービス
アプリケーション、環境、リージョン、プロジェクト、キャンペーン、ビジネスユニット、ソフトウェアライフサイクルなど、選択した目的やアクティビティごとに AWS リソースをグループ化します。

AWS リソースに関連する運用作業項目を一元的に表示、調査、および解決します。
さまざまなメンテナンスおよびデプロイタスクを自動化またはスケジュールする
インフラストラクチャを可視化し、制御するためのサービス

統一されたユーザーインターフェイスを介して複数の AWS サービスからの運用データを表示し、運用タスクを自動化できる

Access Advisor

IAM エンティティ(ユーザー、グループ、ロール) が最後に AWS サービスにアクセスした⽇付と時刻を表⽰する機能

EC2

EC2 はアンマネージド型サービスの典型的なサービス
ユーザー側でインスタンスのオペレーティングシステムとアプリケーションに定期的にパッチを適用し、更新し、保護する必要がある

プレイスメントグループ
AZ 内でインスタンスをまとめることで、低レイテンシーネットワークパフォーマンスを実現

ELB

負荷分散機能
配下の EC2 の負荷に応じて、複数の AZ に跨る EC2 インスタンスの負荷分散を行う機能

Connection Draining

インスタンスが登録解除されるか異常が発生した場合に、そのバックエンドインスタンスへの新規リクエスト送信を中止する機能

Amazon Inspector

事前に定義されたテンプレ―トに基づいて、EC2 インスタンスを分析し、脆弱性をチェックすることができます。これにより、Amazon Inspector では、自動的にアプリケーションを評価し、露出、脆弱性、ベストプラクティスからの逸脱がないかどうかを確認できます。AWS にデプロイしたアプリケーションのセキュリティとコンプライアンスを向上させることができます。

  • ヘルスチェック
    EC2 インスタンスの正常/異常を確認し、利用する EC2 の振り分けを行う機能

  • スティッキーセッション
    セッション中に、同じユーザから来たリクエストを全て、同じ EC2 インスタンスに送信する機能

  • ELB のターゲットグループを設定すれば、ELB 構成された EC2 インスタンス群に対して、AutoScaling を設定することが可能

S3(オブジェクトストレージ)

S3 Intelligent-Tiering
アクセスパターンを把握するために何らか特別な開発をする必要はなく、S3 を有効活用

S3 は直接リージョンに設置されるサービス

AZ 間で自動的にデータを複製する

重要なデータを保存するための耐久性のあるインフラストラクチャを提供し、オブジェクトの 99.999999999%の耐久性のために設計されています
データは、複数の施設と各施設の複数のデバイスに冗長的に保存されます。

EBS (Elastic Block Store):外付け HDD(ブロックストレージ)

⇒EC2 インスタンスにアタッチして使うブロックストレージボリューム
EC2 のルートボリューム or 追加ボリュームとして使用(外付け HDD みたい)
不要になれば削除できる
削除の挙動は都度設定できる

AZ 内で自動でレプリケート(複製)される → ハードに障害起きてもデータがなくならない
ボリュームタイプの変更が可能
容量の変更が可能 → 確保している容量に対して課金
高い耐久性のスナップショット(EC2 ボリュームをバックアップする機能) → S3 に保存
スナップショットはその EBS が設置されているリージョン内にスナップショットを作成
シングルリージョンのみに限定されず、スナップショットを他のリージョンにコピーすることで、他リージョンにおいて、スナップショットによる復元を実施できる

EBS のスナップショットは増分バックアップ
頻繁かつ詳細な更新が必要なデータのプライマリストレージデバイスとして使用

その他
  • KMS:データを暗号化することができます

  • AMI: EBS スナップショット + α(管理情報)
    AMI の作成時点の EBS ボリュームも復元できる=スナップショットからだけでなく、AMI からも復元できる

  • EC2 インスタンスを起動する際にボリュームタイプとして EBS のストレスタイプを選択することが必須

  • EFS (Elastic File System):NAS(ファイルストレージ)
    複数の EC2 インスタンスでマウントして共有利用できるファイルストレージサービス
    EC2 インスタンスから LAN 上にある NAS として利用できる共有ファイルストレージ
    インスタンスストア:C ドライブ
    EC2 インスタンスの一時的なデータを保持するストレージ
    EBS の対比で、ホストのローカルのストレージを使うこと
    インスタンスの状態に依存する(データは一時的利用)
    AWS 側で管理されるもの

  • Elastic IP
    利用されていない Elastic IP があると課金される
    課金発生しない条件
    Elastic IP アドレスが EC2 インスタンスに関連付けられている。
    Elastic IP アドレスに関連付けられているインスタンスが実行中である。
    インスタンスに 1 つの Elastic IP アドレスしか添付されていない。

  • ElasticCache
    クラウド内のインメモリデータストアまたはキャッシュを簡単にデプロイ、操作、およびスケーリングできるようにするウェブサービス
    ミリ秒未満のレイテンシを必要とするリアルタイム IoT アプリケーションのデータ処理に利用

  • Amazon Redshift
    高速でシンプルなデータウェアハウスサービスで、分析に使用される
    通常の業務システムデータなどの BI システムやデータウェアハウスとして利用可能なリレーショナルデータベースサービスです
    AWS が提供するフルマネージド型サービスであり、ペタバイト規模のデータを扱う性能を有しています

  • Aurora
    Aurora の DB インスタンスでは常に自動バックアップが有効
    クラウドに最適化して再設計されたリレーショナルデータベースエンジン
    MySQL、PostgreSQL 互換
    可用性は 99.99%
    最大 15 のリードレプリカを利用した高速読み込みが可能

  • Snowball Edge
    AWS クラウドへの安全な大量データの転送を可能にするサービス(ペタ)
    Snowball は古いサービスなので非推奨
    切断された環境における高度な機械学習およびフルモーションビデオ分析にも利用される
    AWS クラウドの一部をカーブアウトする(切り出す)ことができるサービス

  • VPC
    VPC を使用することで、AWS クラウドの一部をカーブアウトして定義した仮想ネットワークに AWS リソースを起動することができます。 この仮想ネットワークは、AWS のスケーラブルなインフラストラクチャを使用する利点を備え、独自のデータセンターで運用する従来のネットワークに非常に似ています。

  • Glacier
    取り出しに 3-5H かかる。法的保存期間の定めがあるものなど
    マルチ AZ 構成のフォールトトレランス(耐障害性)を考慮して設計されている AWS サービス
    AZ 間で自動的にデータを複製する、ってこと?

  • DynamoDB
    AWS で実証された高可用性データセンターで実行されます。
    このサービスは、AWS リージョンの 3 つの施設にデータを複製し、サーバー障害またはアベイラビリティーゾーンの停止が発生した場合のフォールトトレランスを提供します。
    NoSQL 型のフルマネージド DB
    非リレーショナル
    NoSQL 型の key-value およびドキュメントデータベース
    テーブル名とプライマリーキーを決めるのみで、リージョン選択するだけで使える(AZ 気にしない)
    RDS よりさらに管理範囲が少ない
    プッシュボタンスケーリングにより、稼働を停止させることなく、設定オプションをワンクリックするだけでダウンタイムなしに、いつでも DB をスケーリングできます
    他のすべてのデータベースは EC2 インスタンスに基づいているため、インスタンスのサイズを拡大してダウンタイムを招く

  • Amazon DynamoDB Accelerator (DAX)
    リクエストのレイテンシをミリ秒からマイクロ秒に短縮する機能

  • DynamoDB Streams
    DynamoDB によるクロスリージョンレプリケーションを行うために必要
    セッションデータを高速で管理するデータベース処理
    規模に関係なく数ミリ秒台のパフォーマンスを実現
    AZ 間でデータを自動的に複製するサービス
    初めからマルチ AZ 構成のフォールトトレランスを考慮して設計されている
    利用負荷があらかじめ予測できる場合  ⇒  プロビジョンドスループット
    利用負荷があらかじめ予測できない場合  ⇒  オンデマンドキャパシティーモード

  • RDS (Relational Database Service)
    高速パフォーマンスと高可用性を提供するリレーショナルデータベース
    自動バックアップ(自動スナップショット)の機能
    リードレプリカ
    データの冗長性を実現し、コスト最適に災害復旧対応を実現する機能
    データベース (DB) インスタンスのパフォーマンスと耐久性が向上します。この機能によって、1 つの DB インスタンスのキャパシティーを伸縮自在にスケールし、読み取り頻度の高いデータベースのワークロードを緩和できます。ソース DB インスタンスのレプリカを複数作成し、アプリケーションの大容量読み取りトラフィックをデータの複数のコピーから提供することにより、全体の読み込みスループットを向上させることができます。リージョンは必要な場合、リードレプリカをスタンドアロンの DB インスタンスに昇格させることで、RDS に対してデータの冗長性を実現し、災害復旧を改善することができます
    自動フェールオーバーを実行する機能
    マルチ AZ 構成
    マルチ AZ 配置を使用して DB インスタンスの高可用性およびフェイルオーバーサポートを提供
    RDS は利用している途中でインスタンスタイプを縮小することができます
    RDS リードレプリカ
    RDS に対してデータの冗長性を実現し、コスト最適に災害復旧対応を実現する機能
    RDS に対してデータベース読み取りアクティビティのオフロードを許可する機能

  • Organizations
    アカウントの作成を自動化し、ビジネスニーズを反映したアカウントのグループを作成し、それらのグループにポリシーを適用して管理できます。
    これにより、開発者向けの AWS アカウントの作成を自動化し、それらのアカウントのエンティティに必要な AWS サービスへのアクセスのみを許可するために、独自の OU を設定して、SCP によって管理することができます。
    単一の組織内の複数の AWS アカウントの支払いを統合

  • S3 Transfer Acceleration
    クライアントと Amazon S3 バケット間の長距離にわたるファイルの高速かつ安全な転送を可能にする際に、利用するべき機能

  • AWS WAF (Web Application Firewall)
    ⇒Web アプリケーションのファイアウォール
    可用性低下、セキュリティ侵害、リソースの過剰消費など一般的な Web の脆弱性からアプリを保護する
    基本量は無料だが、セキュリティルールに基づいて課金
    セキュリティルールの設定が必要
    適用先は、CloudFront/Application Load Balancer/API Gateway から選択

  • AWS Shield
    DDoS 攻撃に対する保護サービス
    Standard プランと Advanced プラン(AWS WAF が無償で無制限に利用可能)がある
    エッジロケーションで使用
    インフラに対するファイアウォール
    EC2 上のアプリのセキュリティ・コンプライアンス向上のための脆弱性診断サービス
    自動でアプリを診断し、問題をリスト化

  • Amazon EMR(Elastic Map Reduce)
    ビッグデータのセットを分析および処理するために利用するサービス
    Apache Hadoop や Apache Spark などのビッグデータフレームワークとして、大量のデータを処理および分析するマネージド型クラスタープラットフォーム
    クラウドネイティブなビッグデータプラットフォーム
    MACHINE LEARNING
    抽出、変換、読み込み (ETL)
    クリックストリーム分析
    リアルタイムストリーミング
    インタラクティブ分析
    ゲノミクス

  • Amazon Kinesis
    ストリーミングデータをリアルタイムで収集、処理、分析する

  • Amazon Athena
    SQL の分析
    インタラクティブなクエリサービスで、Amazon S3 内のデータを標準 SQL を使用して簡単に分析

  • AWS SDK
    各言語に対応した AWS SDK を選択しすることで、選択したプログラミング言語を使用して、AWS でアプリケーションを簡単に開発することができます。

  • CloudFront
    高速コンテンツ配信ネットワーク (CDN) サービス
    グローバルに利用される WEB アプリケーションのコンテンツを最適に提供するためには CloudFront によるコンテンツ配信を実施することが最適な構成
    課金対象
    トラフィックの分散
    データ転送とリクエストの価格は地域によって異なり、価格はコンテンツが配信されるエッジの場所に基づいています。
    リクエスト
    リクエスト(HTTP または HTTPS)の数と種類、およびリクエストが行われた地域。
    データ転送アウト
    Amazon CloudFront エッジロケーションから転送されたデータの量。
    ルーティングはしない

  • コンバーティブル
    リザーブドインスタンスのコンバーティブルは変更とインスタンス自体の交換が可能です。リザーブドインスタンスと同等な価格のリザーブドインスタンスのに交換できるため、より柔軟に変更できます。したがって、オプション1が正解となります。

    リザーブドインスタンスのコンバーティブルはインスタンスファミリー、オペレーティングシステム、およびテナンシーを含む別の構成で、1 つ以上の別の コンバーティブルリザーブドインスタンス の コンバーティブルリザーブドインスタンス に交換することもできます。交換先の コンバーティブルリザーブドインスタンス が交換元の コンバーティブルリザーブドインスタンス と同等あるいはそれ以上の値である限り、交換の実行回数に制限はありません。

    コンバーティブルリザーブドインスタンス を交換する場合、現在の予約のインスタンスの数はターゲットの コンバーティブルリザーブドインスタンス の設定と同じあるいはそれ以上の値を含有する数のインスタンスと交換されます。Amazon EC2 は、交換で受け取った リザーブドインスタンス の数を計算します。

    一方でリザーブドインスタンスのスタンダードは以下のような属性を変更することが可能です。

    ・アベイラビリティーゾーンまたは適用範囲
    
    ・ネットワークプラットフォーム (EC2-Classic または VPC)
    
    ・インスタンスサイズ(Linuxのみ)
  • AWS リソースが不正処理の例
    AWS リソースが不正処理に使用されている場合、AWS 不正使用対策チームに連絡することが求められています。不正処理の例は次の通りです。

    ✔スパム: AWS 所有の IP アドレスから不要なメールが届く、または AWS リソースがスパムウェブサイトやフォーラムに使用されている。
    
    ✔ポートスキャニング: ログに、1 つ以上の AWS 所有の IP アドレスがサーバー上の複数のポートにパケットを送信していることが示されており、セキュリティで保護されていないポートを検出しようとしていると考えられる。
    
    ✔サービス拒否攻撃 (DOS): ログに、1 つ以上の AWS 所有の IP アドレスがリソースのポートをパケットで溢れさせるために使用されていることが示されている。
    
    ✔侵入の試み: ログに、1 つ以上の AWS 所有の IP アドレスがリソースへのログイン試行に使用されていることが示されている。
    
    ✔不快なコンテンツや著作権で保護されたコンテンツのホスティング: AWS リソースが著作権者の同意なしに、違法コンテンツをホストまたは配布している。
    
    ✔マルウェア配信: インストール先のコンピュータやマシンに不正アクセスしたり危害を加えるために意図的に作成されたソフトウェアを配布するために、AWS リソースが使用されている証拠がある。
  • Amazon CloudFront
    AWS からのデータ転送アウトと、ユーザーからのリクエストとトラフィック分散に基づいて料金が決まります。

    -トラフィックの分散:データ転送とリクエストの価格は地域によって異なり、価格はコンテンツが配信されるエッジの場所に基づいている
    
    -リクエスト:リクエスト(HTTPまたはHTTPS)の数と種類、およびリクエストが行われた地域
    
    -データ転送アウト:Amazon CloudFrontエッジロケーションから転送されたデータの量。
    
    -機密データのセキュリティを高めたい場合には、データ転送時にSSLを使用するか、クライアントサイド暗号化を使用することで、転送中のデータを保護できます。
  • Amazon S3
    保存データを保護するため次のような対応ができます。

    ■サーバーサイド暗号化を有効化することで保存されるデータが暗号化されます。したがって、オプション2が正解となります。
    
    ■クライアントサイド暗号化を使用することで、事前に暗号化されたデータをAmazon S3にアップロードできます。したがって、オプション3が正解となります。
  • カスタムコンソール
    各フェーズに応じたカスタムコンソールを作成するには、各フェーズや領域のすべてのリソースをグループとして管理することが必要となります。デフォルトでは、AWS マネジメントコンソールは AWS サービスごとに整理されています。ただし、リソースグループツールを使用すると、プロジェクトと使用するリソースに基づいて情報を整理および統合するカスタムコンソールを作成できます。

  • RDS
    RDS は DB インスタンス、保存データ、自動バックアップとスナップショットを暗号化することができます。
    RDS は利用している途中でインスタンスタイプを縮小することができます。

  • Amazon DynamoDB Accelerator (DAX)
    フルマネージド型高可用性インメモリキャッシュで、DynamoDB 用に特化しています。1 秒あたりのリクエスト数が数百万件になる場合でも、ミリセカンドからマイクロセカンドへと最大 10 倍のパフォーマンス向上を実現します。