EC2
- 拡張ネットワーキング(Enhanced Networking)は、Amazon EC2インスタンスのネットワーク性能を向上させる機能。インスタンス間での高スループット・低レイテンシーを実現できるため、リアルタイム性 が求められるアプリケーションに最適。さらに、追加料金もなし。
- EC2インスタンスにMicrosoft SQL Serverをインストールすることで、SQL Serverのすべての機能をフルに活用でき、オンプレミスと同様のカスタム構成も可能
- 休止状態にすることで、インスタンスメモリの内容が Amazon Elastic Block Store
(Amazon EBS) ルートボリュームに保存される - セカンダリENIをEC2インスタンスに追加することができる
- Savings Plansを使用して、期間を指定することでコスト最適化
EBS
- IAMポリシーを設定すると、暗号化されていないEBSボリュームの作成を防ぐことができる
- Configで暗号化されていないEBSボリュームを自動的に検出することができる
-
プロビジョンドIOPS SSD
- もっとも性能とコストが高いボリュームタイプ
- EBSボリュームの中で唯一、複数のインスタンスにアタッチすることが可能
EFS
- EC2インスタンスと NFS接続 が可能。NFSとはネットワーク上にある複数のコンピュータからストレージを共有することができるプロトコル
- EFSをEC2インスタンスからアクセスするには「マウントターゲット」を設定。マウントターゲットとは、EFSファイルシステムをネットワーク経由で接続するためのエンドポイント
- 複数のリージョンとインスタンスにファイルシステムがマウントできる
- EFSと比較してオブジェクトストレージのS3は読み込みに時間がかかる
- 容量が自動拡張する。EBSとの違い
S3
- Transfer Acceleration機能。ユーザーからS3バケットへ、最適化したネットワークルートを経由してデータを転送する機能(データ転送速度向上のための機能)
- S3バケットから他のS3バケットへ自動的にコピーをするには「S3レプリケーション」
- S3の ACL(アクセスコントロールリスト)は、AWSアカウント単位でアクセス権限を設定する機能。他のAWSアカウントに対して、S3バケットやオブジェクトへの読み取りまたは書き込みを許可
- オブジェクトロックには、保持期間が無期限の「リーガルホールド」と、期限付きの「リテンションモード」の2種類
- リーガルホールド
- 権限を持たないユーザーに対して、リーガルホールドが解除されるまでオブジェクトを読み取り専用。
- 権限を持つユーザーのみオブジェクトの更新・削除と、リーガルホールドの解除ができる
- リーガルホールド
VPC
- VPCゲートウェイエンドポイント を利用すると、VPC内のリソースがDynamoDBやS3とインターネットを経由せず直接プライベートに通信できる。VPCゲートウェイエンドポイント自体は使用料もかからず、同一リージョン内でのデータ転送は無料。これによりNATゲートウェイの使用料やデータ転送コストが削減でき、全体的なコスト節約につながる。(ゲートウェイ型)
- AWS PrivateLink は、異なるVPCやアカウント間での通信をインターネットを介さずにセキュアかつプライベートに行うためのサービス。特に、VPC間でCIDRブロックが重複している場合や、高いセキュリティが求められる環境において非常に有効(インターフェイス型)
ALB
- リージョン間の負荷分散はできない
- AWS Global Acceleratorは、複数のリージョンで展開しているWebアプリケーションなどへのリージョン間の負荷分散が可能です。負荷分散先(エンドポイント)はALB、NLB、EC2インスタンス、Elastic IPアドレスを指定できます。
Lambda関数
- プライベートサブネット内のAWSリソースにアクセスさせたい場合は「VPCアクセス」の設定
- 最大実行時間は15分ですが、AWS Step Functionsにより複数のジョブを実行することが可能
API Gateway
- プライベートサブネット内のAWSリソースへアクセスさせたい場合は「VPCリンク」を作成
FSx
- Amazon FSx For Windows File ServerはSMBプロトコルを使用。NFSストレージとして利用できない
- SMBプロトコル…主にWindowsコンピュータ間において、ファイル共有やプリンタ共有に使用されるプロトコル
- Amazon FSx For Windowsファイルサーバーは、Windowsファイルサーバーが提供する機能(AD, NTFS, DFSRなど)を利用できる
- Amazon FSx for Lustreは HPC(High Performance Computing)や機械学習の分野
- FSx for NetApp ONTAPは、NFSとSMBの両プロトコルをサポート
Storage Gateway
- テープゲートウェイ
- オンプレミスから物理テープストレージの代替として利用
-
S3ファイルゲートウェイ
- オンプレミスからNFSまたはSMBを使用してS3バケットへアクセスできるようにするゲートウェイタイプです。ローカル(オンプレミス)にキャッシュストレージを持つため低レイテンシでのアクセスも可能
-
ボリュームゲートウェイ
- S3をiSCSI接続のブロックストレージボリュームとして利用できるサービス。
- ファイルベースのプロトコル(例:NFS、SMB)には対応していない
Snow Family
- Snowcone
- 物理的にデータを転送する方法のほか、DataSyncを利用してデータを移行することも可能
- 物理的な輸送ではデバイスからS3への移行に限られますが、DataSyncを利用するとデバイスから直接FSx for Windows File Serverへデータを転送できるので、ファイルのアクセス権限を保持したまま移行できる
- Snowball
- オプションとして事前にEC2 AMIやLambda関数をデバイスに設定しておくことができる
RDS
- Storage Auto Scaling(自動スケーリング)機能(容量が枯渇した際に自動的に拡張)
- Amazon RDSのマルチAZ DBクラスター は、マルチAZ構成の新しい高可用性オプションです。従来のマルチAZ構成とは異なり、3つのアベイラビリティゾーンにまたがって配置されるため、可用性がさらに強化。フェイルオーバー時には通常35秒未満で切り替わるため、アプリケーションのダウンタイムを最小限に抑えることができる
- RDS Proxy データベースのフェイルオーバー時に接続を管理し、新しいデータベースインスタンスに自動的にルーティング。さらに、マルチAZ配置もサポートしており、アプリケーションのダウンタイムを最小限に抑えることができる
Aurora
- デフォルトで3つのAZに2つずつ(計6つ)のデータコピーが作成。これらのストレージは「クラスタボリューム」というクラスタ構成で管理
- データベースへの負荷に応じて動的にレプリカインスタンスを増減するAuto Scaling機能を備える
- Amazon Aurora Global Database(Auroraグローバルデータベース)は、Auroraデータベースを複数のリージョンにまたがって運用「リージョン単位で発生した大規模な障害の災害対策(ディザスタリカバリ:DR)になる」RPO(目標復旧時点)を 1秒、RTO(目標復旧時間)を1分未満
-
Aurora Serverlessの機能
- DBインスタンスの負荷状況に応じて、自動的にDBインスタンスの起動、停止、スケールアップ/スケールダウンを実施する機能
- Auroraマルチマスター機能は、複数のアベイラビリティゾーンにわたってAuroraデータベースの複数の読み書きインスタンスを作成。継続的な書き込みの可用性を実現しますが、読み取り負荷に対して自動的に適用されない
- Auroraレプリカを使い、Auto Scailingの設定をすることにより自動的に読み取り負荷に対応
- Multi-AZ DB Clusterは利用できない
- カスタムデータベースエンドポイントを作成すると、システムとバッチ処理の読み込みリクエストを異なるDBインスタンスに分けることができる
DynamoDB
- DAXは、読み取りアクセスに対してキャッシュから応答するので、トラフィックの急激な変動にも一貫したパフォーマンスを維持
- ポイントインタイムリカバリは、最大で35日分のバックアップ
- グローバルテーブルは、DynamoDBテーブルを複数のリージョンにまたがって運用できるサービス。指定したリージョンにDynamoDBテーブルが自動的にレプリケートされます。データのレプリケーションは通常1秒以内に完了し、リージョン間のデータ冗長化によって高可用性が確保
- DynamoDB Streams(ストリーム)とは、テーブルに対して行われた直近の24時間の変更(追加や更新、削除)をログに保存する
- S3へのエクスポート機能は、既存のテーブルデータを任意のS3バケットに直接エクスポートする機能。ポイントインタイムリカバリを有効にする必要がある
- VPCからDynamoDBへの通信には、VPCエンドポイント(Gateway型)を使用することで、低コスト・安全な通信ができる
- DynamoDBテーブルデータを30日毎に処理して、処理した後は毎度テーブルを削除する場合は、TTLを30日に設定する
Redshift
- 大容量データを分析するようなケースに適したデータウェアハウスサービス
- リアルタイムの処理には向かない
- Redshift Spectrumは、S3上のデータを外部テーブルとして参照できるようにした機能で、S3の大量データを効率的に分析するため使用されますが、リアルタイムの分析には不向き
- Redshift Spectrumは大規模で複雑なクエリを実行するのに適しており、Athenaはインタラクティブなクエリをシンプル化するのに適している
Amazon ElastiCache
- Redis
- 耐障害性の機能として「自動フェイルオーバー」「マルチAZ」
- データの暗号化や、SSL/TLSによる通信の暗号化、クライアントをパスワードで認証するRedis認証
- クラスターモードを有効化すると、シャードを複数保持することができる。シャードが複数あることでデータを分割して処理することが可能
- Memcached
- データの永続性はなく主に短期間のデータキャッシュに使用
CloudWatch
- 別のサービスへ転送するには、CloudWatch Logsのサブスクリプションフィルターで、データの転送先を設定
CloudTrail
- データイベントおよびインサイトイベントのログはデフォルトでは無効になっているため、取得するには「証跡情報」を作成しそれぞれのイベントの記録を有効
AWS Systems Manager Parameter Store
- データベースなどにアクセスする際のパラメーター(ログイン時の認証情報など)を管理するサービス
WAF
- 短期間に大量のリクエストを送信してくるIPアドレスを自動的にブロックする「レート(リクエスト頻度)ベースのルール」を設定
- 「Web ACL」というアクセスコントロールリストで、IPアドレス、HTTPヘッダー、HTTP本文、URI文字列などに対してフィルタリングの条件を設定できる
- 「Web ACL」にも地理的制限と同等の機能
AWS Shield
- Amazon API Gatewayには関連付けることができない
- AWS Shieldは特定のIPアドレスをブロックする設定はできない
KMS
- AWSマネージド型
- AWSによって作成・管理されるものは「AWSマネージド型」であり、ユーザーは削除できない。AWSマネージド型の鍵は、連携したAmazon EBSやAmazon Redshiftなどのサービスで暗号化を利用したタイミングでAWSが作成
- カスタマーマネージド型
- ユーザーが作成・削除、および管理を行う。ただし作成した鍵を長期間利用するのはセキュリティ上危険なため、KMSでは鍵の自動ローテーション(定期的な更新)をサポート
Route 53
- ヘルスチェックは、ドメイン名に対応するリソースが正常に動作しているかを定期的に確認
- 複数値回答ルーティングポリシーとフェイルオーバールーティングポリシーはヘルスチェックの結果に基づいて回答するので、ヘルスチェックの設定が必須
- ハイブリッドクラウド機能
- 「リゾルバールール」
- DNSクエリをどのDNSリゾルバーに転送するかのルールを設定
- 「インバウンドエンドポイント」
- オンプレミスのリソースがVPC内のプライベートDNSホスト名を解決する必要がある場合に使用し、オンプレミスネットワークからVPCへのDNSクエリを可能
- 「アウトバウンドエンドポイント」
- VPC内のリソースがオンプレミス内部のホスト名を解決する必要がある場合に使用し、VPCからオンプレミスネットワークへのDNSクエリを可能
- 「リゾルバールール」
CloudFront
- 静的なコンテンツのほか、ライブストリーミングやオンデマンドストリーミングなどの動的なコンテンツも高いパフォーマンスで配信できる
AWS Global Accelerator
- ユーザーからAWSリソースまでのアクセス経路をAWSネットワークを利用して最適化するサービス
- Elastic IPアドレスを割り当てられないALBに対して、固定IPアドレスでアクセス可能
- 複数のリージョンで展開しているWebアプリケーションなどへのリージョン間の負荷分散が可能。負荷分散先(エンドポイント)はALB、NLB、EC2インスタンス、Elastic IPアドレスを指定できる
- 株価の配信サービスやチャットアプリケーション、オンラインゲームなど常に更新され続けるデータへの利用に適している
Direct Connect
- インターネット回線ではなく専用回線を敷設して使用するので、安定した高速なネットワークで接続
- Direct Connectエンドポイントから複数のVPCに接続したい場合は「Direct Connectゲートウェイ」を利用
SQS
- SQSは大量のメッセージを処理するのに適していますが、リアルタイムで発生するストリーミングデータの処理には「Kinesis」の方がより適している
- キューに対してアクセスポリシー(リソースベースのポリシー)を設定することができる。SQSアクセスポリシーは、特定のSQSキューに対するアクセス権を定義し、他のAWSアカウントからのアクセスも制御することが可能
SNS
- SNSトピックを作成し、フィルタリング機能で問い合わせ情報を分野ごとに分類することができる
- SNSは通知を行うサービスで
- 大量のリアルタイム性の高いデータ処理は、Amazon Kinesis Data Streamsの方が適している
Kinesis
- ストリーミングデータをリアルタイムで収集・処理するサービス
- データを取得した順に蓄積する
EMR
- ビッグデータの処理や分析を行うサービス。ビッグデータを処理する既存のフレームワークであるHadoop(ハドゥープ)やSpark(スパーク)を用いています。データを複数のサーバーに配置して並列に処理する「分散処理」により、迅速かつ効率の良い処理を実現
-
HDFS(Hadoop Distributed File System)
- 分散処理ソフトウェア「Hadoop」のファイルシステム。EMRではマスターノードとコアノードで利用します。EMRクラスターが終了すると、HDFS上のデータは失われる
-
EMRFS(EMR File System)
- Amazon S3をEMRクラスターからファイルシステムとして利用できるようにした機能。データを永続的に保持でき、EMRクラスターが終了してもデータは失われない。また、S3が持つ機能(データの暗号化やデータ読み込み時の強い一貫性のサポートなど)も備わっている
- Outpostsでは、EMRがサポートされており、オンプレミス環境でHadoopやSpark、Prestoなどをクラウドと同様に使用可能
Glue
- データレイク上のデータを分析するためにデータの前処理をおこなうサービス
- Glueはバッチ処理に適しており、リアルタイム処理にはManaged Service for Apache Flinkの方が適している
- Glueはサーバーレスかつフルマネージドのためサーバー等の管理は不要
Amazon Cognito
- Cognitoで管理されているユーザーに対してIAMポリシーを直接アタッチすることはできない
- IDプールは、AWSの各種サービスにアクセスできる一時的な認証情報が発行
-
アダプティブ認証
- 新しいデバイス、位置、ネットワーク情報など、通常とは異なる状況でのログインを検知すると、動的にセキュリティレベルを調整する仕組み。通常はパスワードのみの認証設定でも、異なる状況を検知すると多要素認証(MFA)などを要求できる
EventBridge
- API destinations(API送信先)は、外部APIとの連携を簡単に行うことができる機能。イベントが発生した際に外部のエンドポイントに対して++HTTPSリクエストを非同期に送信することが可能**で、例えば、S3バケットに新しいオブジェクトが追加されたときに外部の監視サービスに通知を送るなど、外部システムとの連携を柔軟に実現できる
AWS Transfer Family
- AWSストレージ上へのセキュアなファイル転送を実現するマネージドサービス
- SFTP、FTPS、FTPなどをサポートし、Amazon S3およびAmazon EFSへセキュアにファイルの転送が可能。Transfer Familyには独自の認証機能があり、SFTPユーザーのアカウント作成・管理ができる
- 「インターネット向けVPCエンドポイント」は、Elastic IPアドレスをVPCエンドポイントに関連付けることで、インターネットからパブリックサブネットを経由してアクセスします。パブリックエンドポイントとは異なり、セキュリティグループを使用して接続元を制限することが可能です。
- Transfer Familyのマネージドワークフローは、ファイルのアップロードやダウンロードをトリガーとして、処理を自動実行できる機能。実行可能な処理には、ファイルのコピーやタグ付けなど基本的な処理に加えて、Lambda関数の呼び出しがある。Lambda関数でカスタマイズ可能なアクションを定義し、ファイルをダウンロードしたあとにデータの変換、分析、データベースへの転送などの処理を自動化できる
Data Firehose
- ストリーミングデータをAmazon S3、Amazon Redshift、Amazon OpenSearch Serviceなどへ配信するサービス
- Data Firehoseはプロデューサーからストリーミングデータを受け取り、必要に応じてデータ変換処理やLambda関数の呼び出しを実行した後、データ配信先へ送信
- Data Firehoseは、リアルタイムデータストリーミングに特化しており、定期的なバックアップには適していない
AWS DataSync
- オンプレミスとAWSのストレージサービス、またはAWSのストレージサービス間でデータの迅速な移行や同期を実現するサービス
- データ移行期間中もデータに更新が発生する場合は、AWS DataSyncなどのオンラインで移行する
- DataSyncはデータ転送量に応じた従量課金制を採用しており、実際に移行するデータ分だけの支払いとなるため、コスト効率も優れている
- DataSyncで転送されるデータは、ファイルやフォルダのタイムスタンプ、ディレクトリ構造、アクセス権限などのメタデータが保持されます
Amazon Managed Service for Apache Flink
- ストリーミングデータを処理し、可視化・分析できるサービスです。処理用のテンプレートが用意されていたり、標準SQLのクエリが発行できたり、JavaやPythonなどのプログラミング言語がサポートされているなど、柔軟に処理を組み込むことができるまた、異なる形式のデータを統一された形式に変換することも可能
- Glueはバッチ処理に適しており、リアルタイム処理にはManaged Service for Apache Flinkの方が適している
VPC Lattice
- 複数のVPCやアカウントにまたがるアプリケーション間の通信を簡素化し、一元的に管理するフルマネージドサービス
- HTTP、HTTPS、gRPCなどのアプリケーション層の通信プロトコルをサポートしており、VPC Latticeを介して各アプリケーションを接続できる
- サービスディスカバリー機能が組み込まれており、他のサービスの位置情報(例えば、IPアドレスやポート番号)を動的に検出
AWS Network Firewall
- VPC向けのファイアウォール機能を提供するマネージドサービスです。侵入防止システム(IPS)やドメイン名によるトラフィックのフィルタリングなど、セキュリティグループやネットワークACLよりもさらに高度な機能を備えている
- VPC上のアウトバウンド及びインバウンド両方のトラフィックを検査できる。インターネット上の特定のドメイン名を含むURLへのアクセスのみを許可したり、特定の送信元からのトラフィック以外は全てブロックするなど、きめ細かな通信の制御が可能
MSK
- Apache KafkaをAWS上で効率的に運用できるようにするためのフルマネージドサービス
- 大量のストリーミングデータを効率的に取り扱い、リアルタイムで処理するのに適す
Elastic Fabric Adapter (EFA)
- AWSが提供する高性能なネットワークインターフェースで、科学研究、工学、機械学習などの高パフォーマンスを要求する計算タスクに最適。
AWS Secrets Manager
- データベースなどにアクセスする際のシークレット(ログイン時の認証情報など)を管理するサービス
- シークレットを安全に保存するための「ローテーション」機能があります。
- ローテーションを有効にすると、Secrets Managerはスケジュールに基づいてLambda関数を内部的に呼び出し、シークレットを定期的に更新
- パラメータストア(Parameter Store)はAWS Systems Managerの機能で、複数のサービスのパスワードや運用データを一元管理。Secrets Managerと同様に、シークレットを外部で管理する用途に利用できる。ただし、パラメータストアにはシークレットの自動ローテーション機能は存在しない
AWS Single Sign-On
- 複数のAWSアカウントやアプリケーションへのSingle Sign-Onを一元管理できるサービス
- AWS Organizationsとのインテグレーション
- AWS SSOでユーザーを作成することで、各AWSアカウントでIAMユーザーを作成する必要がなくなる
Amazon Detective
- セキュリティインシデントの調査を提供するサービス
- 複数のAWSリソースから情報を自動で収集・グラフデータ化し、Detectiveのコンソール画面にまとめて表示
AWS Artifact
- AWSコンプライアンスレポートのダウンロードサービス
- IAM権限さえあれば、さまざまな分野のコンプライアンスレポートを無料でダウンロードできる
AWS Audit Manager
- AWSアカウント内のリソースの使用状況にコンプライアンス違反がないか継続的にチェックするサービス
- 従来手動で行われていた証跡収集作業を自動化することで監査の手間の削減に繋がり、リアルタイムに近い形で証跡を取得することで、最新の監査レポートを作成できる
Amazon Managed Grafana
- Grafanaとは、Grafana Labs社が開発したオープンソースのオブザーバビリティ用のソフトウェアで、収集したデータを元にリアルタイムで時系列のステータスを可視化
- Amazon QuickSightは過去のデータ集計・分析が得意なのに対し、AMGは自動リフレッシュ機能を有し、数秒間隔で最新の情報表示が可能であるため、現在のデータ集計・分析が得意
Amazon Managed Service for Prometheus
- Prometheusとの互換性を持つモニタリングおよびアラート通知のマネージドサービス
- 作業負荷の増減に合わせて自動的にスケールするため、コンテナ環境の大規模なモニタリングを簡単に行うことができる
- スケーラビリティや可用性、セキュリティなどのインフラ管理が不要なことから、簡単にデータの可視化やメトリクス分析が可能
AWS Proton
- コンテナとサーバーレス向けにアプリケーションのインフラとサービスの構築・デプロイ・監視を一元管理できるフルマネージドサービス
- VPCなどのインフラ構築やコードのデプロイ、サーバーやCPUなどのモニタリング、システム更新に必要なさまざまなツールを連携させることで、大量のコンポーネントのデプロイ作業を効率化
- テンプレートを作成することで、AWS上にあるマイクロサービスを一元管理
AWS AppSync
- GraphQL APIの開発を簡単に行うことができるサーバーレスサービス
Amazon MQ
- オープンソースメッセージブローカー向けのマネージド型サービス
- メッセージの送信者側と受信者側は互いの処理のタイミングを考える必要がなくなるため、アプリケーション間の疎結合を実現
- Amazon SQSとの違いは、Amazon MQはApache ActiveMQなどのベースとなるアプリケーションから作られていますが、Amazon SQSはAWSのオリジナルのサービス。したがって利用シーンとして、オンプレミス上でメッセージングサービスを利用しているシステムをそのまま移行する場合
AWS Data Exchange
- AWS上でサードパーティーが提供するデータセットをS3を介して利用できるサービス
AWS Application Discovery Service
- オンプレミス環境に関する情報を収集し、AWSへの移行プロジェクトの計画を支援するサービス
Amazon Rekognition
- 深層学習を利用して画像・動画を分析するサービス
- 画像や動画から、顔認識・顔検出・物体とシーンの検出・テキスト検出・不適切なコンテンツ検出といった分析機能を、アプリケーションに簡単に追加できる
Amazon Comprehend
- 機械学習を利用した自然言語処理サービス(NLP)
- マネジメントコンソールまたはComprehend APIを利用して各種ドキュメントのテキストから言語の識別や感情分析などが可能
Amazon Lex
- チャットボットなどの対話型アプリケーションを容易に開発できる人工知能 (AI) サービス
Amazon Polly
- テキストを音声に変換するサービス
- 音声は人間が話しているような自然な音声で、男女音声・多言語に対応
Amazon Fraud Detector
- オンラインでのカードの不正利用やアカウントのなりすましなどを、機械学習によりリアルタイムで検知するサービス
- 機械学習の知識がなくてもわずかな操作で不正防止の仕組みを構築
Amazon Kendra
- 機械学習を使用して目的のコンテンツを見つける検索サービス
Amazon Amplify
- モバイルアプリケーションやウェブアプリケーションをすばやく簡単に構築するためのサービス
- バックエンドとインフラをAWS側にサーバーレスかつフルマネージドで任せることができるため、アプリケーション開発者はフロントエンドの開発に集中できる
AWS Device Farm
- ウェブアプリケーションとモバイルアプリケーションのアプリケーションテストをデスクトップブラウザから行うサービス
Amazon Pinpoint
- 1人ひとりのレスポンスを分析してセグメント単位に分類し、適切な顧客に、適切なメッセージを、適切なタイミングで、適切なチャネル(媒体)によって通知する、パーソナライズに特化した分析・メッセージングサービス