- ネットワーク関連
- ELB (Elastic Load Balancer)
- Storage関連
- ストレージ性能
- EC2
- DATABASE
- キャッシュ関連
- メッセージ・キューイングサービス SQS ・SNS・Amazon MQ
- コンテナサービス
- モニタリング・履歴
- AutoScaling
- Security
- ACM(Amazon Certificate Manager)
- SCPs(サービスコントロールポリシー)
- アカウント・認証・認可
- 自動化・デプロイ
- マイグレーション
- Amazon EMR(Elastic MapReduce)
- AWS IoT Core
ネットワーク関連
Elastic Network Interface(ENI)
- 仮想ネットワークカードのこと。
- 2枚目移行のENIを任意にアタッチすることができる。
AWS Direct Connect
Internet GateWay (IGW)
AWS Site-to-Site VPN
- AWSのVPCとユーザ独自のネットワークを接続するVPN。(ここでは、AWSのVPCとユーザのオンプレ環境を接続する)
- ユーザの独自のネットワークには、カスタマーゲートウェイを、AWSのVPCには仮想プライベートゲートウェイをアタッチすることで接続を行う。
- Accelerated サイト間VPN
- Global Acceleratorを利用して、可用性と高いパフォーマンスを維持したVPN通信を行うことができる。
Rotue53
DNSレコードと呼ばれる、IPとURLをマッピングするテーブルを参照して、ルーティングを行う。ルーティングのポリシーは、以下のようなものがある。
- シンプルルーティング
IPとURLの静的マッピングによりルーティングを行う。 - 加重ルーティング
複数のエンドポイントに重みを設定して、重みに応じてDNSクエリに応答するルーティングを行う。 - フェールオーバールーティング
登録されているサーバーに対してのヘルスチェックを行い。利用可能なサーバにルーティングを行う。 - レイテンシールーティング
リージョンのレイテンシーに応じて、ルーティングを行う。 - 位置情報ルーティング
ユーザーのIPにより、位置を特定して、地域ごとに異なるレコードを返すルーティング - 地理的近接ルーティング
ユーザーとリソースの場所に基づいて地理的近接ルールを作成して、ルーティングを行う。 複数回答ルーティング
ランダムに選ばれた最大8つの別々のレコードにIPを設定し、複数の値を返答するルーティング。レコードとして、以下のようなものがある。
- シンプルルーティング
ホストゾーン
Route53とELBの違い
- ELBは、同じリージョン内でロードバランスさせる。リージョンを跨いだロードバランシングはできない。
- 他方、Route53は、リージョンを跨いだ、ロードバランシングができる。
AWS Global Accelerator
- ALB,NLB,EC2などの前段に配置することで、可用性とパフォーマンスを改善してくれるサービス。
- ユーザに地理的に近いエッジロケーションからAWSのネットワークにルーティングしてくれるため、レイテンシーの改善が見込める。
ELB (Elastic Load Balancer)
- 以下のような機能を提供する。
- ヘルスチェック EC2のステータスを確認し、利用するEC2の振り分けを実施する。
- クロスゾーン負荷分散 EC2の負荷に応じて、複数のAZに跨るEC2インスタンスに均等に負荷分散を行う。
- 暗号化通信 SSL/TSL証明書をELBに設定することで、HTTPS、TLS通信を行う。
- スティッキーセッション セッション中に同じユーザから来たリクエストを継続して、同じEC2に送信する。
- Connection Draining インスタンスが登録解除されるか、異常が発生した場合に、そのバックエンドインスタンスへの新規リクエスト送信を中止する。
- ログ取得 ELBのログ取得を有効化する。ログは、S3パケットに収集される。
VPCピアリング
VPCエンドポイント
AWS Transit Gateway
ネットワークACLとセキュリティグループ
Storage関連
S3
- 特徴
- Http/Httpsでアクセス
- ユニークな名称をもったパケットを作成し、オブジェクトを保存。
- バージョニング可能
- 最大5TBまでのアップロードが可能
- 最低3箇所のAZ内に保存。
- コスト
- 容量/Request数に応じて課金
- データ転送
- 強い整合性モデルを採用しているので、データの同時更新が行われても、反映に誤差は生じない。
- S3のデフォルト暗号化を利用すると、データの暗号化が行われる。暗号化キーの管理方法には以下のようなオプションがある。
- リージョン間をまたぐクロスリージョンレプリケーションの設定も可能。レプリケーションはオブジェクトの設定CRUD時に実施される。
- S3インベント通知 S3内のイベントをトリガーとして、SNS/SQS/Lamdaに通知が可能。
S3 Glacier
- 低価格で、大容量を保存可能
- 取り出しに時間がかかる。
S3 Transfer Acceleration
- 地理的に一番近いエッジロケーションを利用して、高速にデータをアップロードすることができる。
Amazon Athena(アテナ)
- S3内のデータを標準SQLを利用して、分析を行うサーバレスサービス。S3 Selectよりも、高機能。
S3 Select
- S3内のデータを、シンプルなSQLを利用してコンテンツのフィルタリングを行うことができる。
EBS (Elastic Block Storage)
- 特徴
EFS(Elalstic File Storage)
- フルマネージド型共有File Storage
- NFSで、Instance間で共有可能
- 複数のAZ間で、レプリケーション
- EFS Standard(通常向け)、EFS IA(Infrequent Access)低頻度向けがある。
Amazon FSx(Windows)
ストレージ性能
スループット最適HDD
- 最大IOPS:500
- 最大スループット: 500MiB/s
汎用SSD(gp2)
- 最大IOPS:16,000
- 最大スループット: 250 MiB/s
プロビジョンド IOPS SSD
- 最大IOPS:64,000
- 最大スループット: 1,000 MiB/s
EBS プロビジョンド IOPS SSD (io2 Block Express)
- 最大IOPS:256,000
- 最大スループット: 4,000 MiB/s
EC2
Amazon Data Lifecycle Manager(Amazon DLM)
- EBSのスナップショットの作成、保存、削除の自動化が可能となる。
DATABASE
RDS (Relational DataBase Service)
- マネージド型RDS
- Multi AZ間でのレプリケーションが可能。
- PostgreSQLやMySQL、MariaDB,Oracle、Microsoft SQL Serverなどがある
- RDS プロキシ
- アプリケーションとRDSを仲介するサービス。RDSのコネクションをためておき、効率的に利用する。
- RDS Storage Auto Scaling
- Amazon RDS for MariaDB、Amazon RDS for MySQL、Amazon RDS for PostgreSQL、Amazon RDS for SQL Server、Amazon RDS for Oracle において、ストレージのAutoScalingが可能である。
Aurora
- クラウド向けのRDBサービス
- MySQL, PostgreSQLと互換あり。
- 別リージョンに対して、リードレプリカを作成できる
- AuroraのAuto Scaling
- AuroraのAutoScalingは、CPU使用率やアクティブ接続数などをしきい値として、Auroraのレプリカの数を動的に変更させることができます。
DynamoDB
- NoSQLのDB
- コスト
- 使用した容量
- Read/Writeのスループット
- 複数Regionにコピー可能。(マルチAZ構成はとれない。)
- DynamoDB Auto Scalingを利用して、負荷が高いときにスケールアウトが可能。
- 最大サイズは、400KB
- DynamoDBのAutoScale
- DynamoDBのAutoScalingは、DBのReadもしくは、Writeキャパシティを監視します。しきい値よりも、高い・低い場合にDynamoDBのテーブルのキャパシティを増加・減少させます。
DynamoDB Accelerator (DAX)
- DynamoDB向けのキャッシュサービス。
- 読み込み性能をマイクロ秒まで縮めたいときに利用。
- DAXを利用して、リードレプリカをの作成が可能。
Amazon Redshift
- フルマネージド型のデータウェアハウス。構造化、半構造化データの分析向けに利用する。
- Redshift Spectrum
- S3に保存されているデータをRedshiftにロードしたり、高度なクエリを実行することが可能。
WLM (Work Load Management)
- Redshiftに対してのリクエストをQueueに詰め込み、制御することができる。
Elastic Search
- 分散検索・分析エンジン。 ログ分析、フフテキスト検索、ビジネス分析などで利用。
Amazon Neptune
- フルマネージド型のグラフデータベースサービス。
キャッシュ関連
ElasticCache
- インメモリのDBサービス。
- OSSのインメモリDBのRedisやMemcachedのマネージド版。
- RedisもMemcachedもキーバリューストア
- Redisは多機能Memcachedはシンプルな機能
- 設定によって、レプリケーションも可能。
CloudFront
- Amazonのコンテンツ配信ネットワーク(CDN)
- AWSのエッジロケーションに配置される。
- 機能
メッセージ・キューイングサービス SQS ・SNS・Amazon MQ
SQS(Simple Queue Service)
* マネージドのキューイングサービス。標準キューとFIFOキュがある。
* 標準キューは、最低1回配信される。複数回配信される可能性がある。また、配信順序の保証はされない。
* FIFOキューは、必ず1回配信される。配信順序が保証される。
- データの受け取り手は、SQSに対してポーリングを行い、データの有無を確認する。ポーリングには、ショートポーリングとロングポーリングがある。
- メッセ時保持期間を定義でき、保持期間を超えてキューに残っているメッセ時は削除される。デフォルトでは、4日。
SNS(Simple Notification Service)
- マネージドのメッセージサービス
- プッシュしたメッセージは、さまざまなプロトコルで、受け手側に受信可能(HTTP,HTTPS,メール,SQS,モバイルプッシュ)
- SNSが受け手に対して、メッセージをプッシュする。
- SNS FIFOトピックを導入することで、順序付や重複を排除したメッセージ配信を提供できる。
Amazon MQ
- Apache ActiveMQ、およびRabbitMQとよばれる、オープンソースのメッセージキューイングソフトをベースに構築されたサービス
- OSSのMQと互換性があるので、AWSへの移行のさいに使いやすい。
Amazon SES (Simple Email Service)
- 任意のアプリケーションで、メールを送信できる。メール配信サービス。
AWS DataPipeline
- AWSデータベース、ストレージ間のデータの移動と変換を自動化するサービス。
コンテナサービス
AWS ECS
- マネージドのコンテナサービス。
ECR (Elastic Container Registory)
- プライベートのDockerHub
AWS Fargate
- フルマネージドのコンテナサービス
- コンテナ単位での管理ができる。
- コンテナが動作するEC2インスタンスの管理が不要。
- AWS Fargate とAWS ECSの違いに関して
- ECSはコンテナのサービスに対して、Fargateはコンテナのオーケストレーターサービス。 ECSを起動する際に、EC2インスタンスとFargateのどちらで起動するかを選択することができる。
Lamda(ラムダ)
- イベントに応じて、関数を起動させる。
- 1msごとの課金
- Auto Scaling
- WebAPIの作成が可能。
- よくある使われ方としては、Web APIとLamdaを組み合わせて使う。
AWS Step Functions
- LamdaとLamdaの連携、順序の制御などが可能。並列分岐も記述可能。サーバーレスのワークフロー。
モニタリング・履歴
CloudWatch
- 使用状況のモニタリングサービス。以下のようなリソースが監視相性
- 詳細ログを収集する場合は、CloudWathエージェントをサーバにInstallし、CloudWatch Logでログを収集する。
CloudTrail
- APIコールやユーザのアクティ日地履歴を保存。ログはS3に保存。銀行などの監査で利用するログを収集。
VPCフローログ
- VPC(EC2)の通信ログをCloudWatch、または、S3に配信する。
AutoScaling
- 最小インスタンス〜最大インスタンスの間で自動的にキープする。条件に王子て、ScaleOut/In可能。
スケールポリシ 以下のようなスケールのポリシ−がある。
ELBと連携した場合、ヘルスチェクを行うことで、スケールの設定ができる。ヘルスチェックには、EC2タイプのヘルスチェックとELBタイプの2つがある。
- EC2タイプのヘルスチェック EC2のステータスがRunning以外、もしくは、システムステータスがimpairedの場合に異常と判断される。
- ELBタイプのヘルスチェック インスタンスのsテータすチェックとELBのヘルスチェクから状態を判断する。
Security
AWS Shield
DDoS攻撃を防ぐ。
AWS Firewall Manager
WS WAF、AWS Shield Advanced、Amazon VPC セキュリティグループ、AWS Network Firewall、Amazon Route 53などの設定を一元的に管理するサービス。
AWS WAF (Web application firewall)
Amazon CloudFront 配信、Amazon API Gateway REST API、Application Load Balancer、または AWS AppSync GraphQL API に転送される HTTP および HTTPS リクエストをモニタリングするためのウェブアプリケーションファイアウォールです。 * EC2には利用できない。
Amazon CloudHSM(Hardware Security Module)
- クラウドベースのハードウェアセキュリティモジュール。暗号化キーを簡単に生成し、HSMで管理する。
- FIPS 140-2 レベル 3 認証済
ACM(Amazon Certificate Manager)
SCPs(サービスコントロールポリシー)
アカウント・認証・認可
AWS Organizations
- 複数のAWSアカウントの統合管理を可能にするサービス。
Cognito
- アプリケーションにユーザー認証機能を付与することができるサービス。
AD Connector
- オンプレのActive DirectoryとIAMを統合管理可能。
S
自動化・デプロイ
CloudFormation
- クラウド環境内のインフラストラクチャリソースを記述して、プロビジョニングするためのテンプレート化されたサービス。
OpsWorks
- ChefやPupetのマネージド型インスタンスのサーバ設定、デプロイ、管理を自動化するための設定管理サービス
Elastic Beanstalk
- Webアプリケーションやサービスを使い慣れたサーバ(Nginx, Apacheなど)にデプロイするサービス。インフラレイヤー構成はできない。
AWS SAM(Serverless Application Model)
- サーバレスアプリケーション構築用のデプロイツール。lamda,DBなど。CloudFormationと連携して、デプロイを行う。
AWS SWF (Simple Work Flow)
- デベロッパーが並行したステップ、または、連続したステップがあるバックグラウンドジョブを構築、実行スケールするワークフロー。 AWS Step Functionsは、サーバ-レスのワークフローに対して、SWFは、EC2などのサーバベースのワークフロー。
マイグレーション
AWS DMS (Database Migration Service)
AWS SMS (Server Migration Service)・AWS MGN(Application Migration Service)
AWS DataSync
- オンプレストレージとEFSやFSxなどのファイルシステム間で、データを転送するサービス。
AWS Application Discovery Service
- オンプレミスデータセンター内のサーバーにエージェントをインストールすることで、データセンター内の利用状況を収集することができる。