EC2
- 拡張ネットワーキング(Enhanced Networking)は、Amazon EC2インスタンスのネットワーク性能を向上させる機能。インスタンス間での高スループット・低レイテンシーを実現できるため、リアルタイム性 が求められるアプリケーションに最適。さらに、追加料金もなし。
- EC2インスタンスにMicrosoft SQL Serverをインストールすることで、SQL Serverのすべての機能をフルに活用でき、オンプレミスと同様のカスタム構成も可能
- 休止状態にすることで、インスタンスメモリの内容が Amazon Elastic Block Store
(Amazon EBS) ルートボリュームに保存される - セカンダリENIをEC2インスタンスに追加することができる
EBS
- IAMポリシーを設定すると、暗号化されていないEBSボリュームの作成を防ぐことができる
- Configで暗号化されていないEBSボリュームを自動的に検出することができる
EFS
- EC2インスタンスと NFS接続 が可能。NFSとはネットワーク上にある複数のコンピュータからストレージを共有することができるプロトコル
- EFSをEC2インスタンスからアクセスするには「マウントターゲット」を設定。マウントターゲットとは、EFSファイルシステムをネットワーク経由で接続するためのエンドポイント
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アクセス」の設定
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インスタンスの起動、停止、スケールアップ/スケールダウンを実施する機能
DynamoDB
- DAXは、読み取りアクセスに対してキャッシュから応答するので、トラフィックの急激な変動にも一貫したパフォーマンスを維持
- ポイントインタイムリカバリは、最大で35日分のバックアップ
- グローバルテーブルは、DynamoDBテーブルを複数のリージョンにまたがって運用できるサービス。指定したリージョンにDynamoDBテーブルが自動的にレプリケートされます。データのレプリケーションは通常1秒以内に完了し、リージョン間のデータ冗長化によって高可用性が確保
- DynamoDB Streams(ストリーム)とは、テーブルに対して行われた直近の24時間の変更(追加や更新、削除)をログに保存する
- S3へのエクスポート機能は、既存のテーブルデータを任意のS3バケットに直接エクスポートする機能。ポイントインタイムリカバリを有効にする必要がある
Redshift
- 大容量データを分析するようなケースに適したデータウェアハウスサービス
- リアルタイムの処理には向かない
- Redshift Spectrumは、S3上のデータを外部テーブルとして参照できるようにした機能で、S3の大量データを効率的に分析するため使用されますが、リアルタイムの分析には不向き
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と同様に、シークレットを外部で管理する用途に利用できる。ただし、パラメータストアにはシークレットの自動ローテーション機能は存在しない