AWS Solution Archetet

ネットワーク関連

Elastic Network Interface(ENI)

  • 仮想ネットワークカードのこと。
  • 2枚目移行のENIを任意にアタッチすることができる。

AWS Direct Connect

  • AWSに接続する専用線のこと。
  • 最大100Gbpsまで対応可能。

Internet GateWay (IGW)

AWS Site-to-Site VPN

  • AWSVPCとユーザ独自のネットワークを接続するVPN。(ここでは、AWSVPCとユーザのオンプレ環境を接続する)
  • ユーザの独自のネットワークには、カスタマーゲートウェイを、AWSVPCには仮想プライベートゲートウェイをアタッチすることで接続を行う。
  • Accelerated サイト間VPN
    • Global Acceleratorを利用して、可用性と高いパフォーマンスを維持したVPN通信を行うことができる。

Rotue53

  • DNSレコードと呼ばれる、IPとURLをマッピングするテーブルを参照して、ルーティングを行う。ルーティングのポリシーは、以下のようなものがある。

    • シンプルルーティング
      IPとURLの静的マッピングによりルーティングを行う。
    • 加重ルーティング
      複数のエンドポイントに重みを設定して、重みに応じてDNSクエリに応答するルーティングを行う。
    • フェールオーバールーティング
      登録されているサーバーに対してのヘルスチェックを行い。利用可能なサーバにルーティングを行う。
    • レイテンシールーティング
      リージョンのレイテンシーに応じて、ルーティングを行う。
    • 位置情報ルーティング
      ユーザーのIPにより、位置を特定して、地域ごとに異なるレコードを返すルーティング
    • 地理的近接ルーティング
      ユーザーとリソースの場所に基づいて地理的近接ルールを作成して、ルーティングを行う。
    • 複数回答ルーティング
      ランダムに選ばれた最大8つの別々のレコードにIPを設定し、複数の値を返答するルーティング。

    • レコードとして、以下のようなものがある。

      • IPv4の場合は、Aレコード。IPv6の場合は、AAAAレコードを利用する。
      • MXレコード:メールサーバを指定するレコード
      • CNAME:ドメイン名を別のドメイン名に紐付けるレコード。
      • エイリアスレコード
        • CloudFrontやELBなどのAWSリソースとドメインを紐付けるためのテーブル。
        • 用途は、静的Webサイトとして設定されたS3パケット。CloudFront。ELB。AWS Elastic Beanstalk環境。
  • ホストゾーン

    • パブリックホストゾーン インターネットに公開されたDNSドメインレコードを管理するコンテナ。インターネットのDNSドメインに対するトラフィックのルーティングを管理する。
    • プライベートホストゾーン VPCに閉じたプライベートネットワーク内のDNSドメインのレコードを管理する。
Route53とELBの違い
  • ELBは、同じリージョン内でロードバランスさせる。リージョンを跨いだロードバランシングはできない。
  • 他方、Route53は、リージョンを跨いだ、ロードバランシングができる。

AWS Global Accelerator

  • ALB,NLB,EC2などの前段に配置することで、可用性とパフォーマンスを改善してくれるサービス。
  • ユーザに地理的に近いエッジロケーションからAWSのネットワークにルーティングしてくれるため、レイテンシーの改善が見込める。

ELB (Elastic Load Balancer)

  • 以下のような機能を提供する。
    • ヘルスチェック EC2のステータスを確認し、利用するEC2の振り分けを実施する。
    • クロスゾーン負荷分散 EC2の負荷に応じて、複数のAZに跨るEC2インスタンスに均等に負荷分散を行う。
    • 暗号化通信 SSL/TSL証明書をELBに設定することで、HTTPSTLS通信を行う。
    • スティッキーセッション セッション中に同じユーザから来たリクエストを継続して、同じEC2に送信する。
    • Connection Draining インスタンスが登録解除されるか、異常が発生した場合に、そのバックエンドインスタンスへの新規リクエスト送信を中止する。
    • ログ取得 ELBのログ取得を有効化する。ログは、S3パケットに収集される。

VPCピアリング

  • VPC間のネットワークを接続する。リージョンを跨いだVPCであっても、接続可能。

VPCエンドポイント

  • VPC内のAWSリソースが、VPC外のAWSサービスへの接続を可能にする仕組み。

AWS Transit Gateway

  • 複数のVPCVPCピアリングをハブ&スポークス方式で接続することができるサービス

ネットワークACLとセキュリティグループ

  • ネットワークACL

    • VPC/サブネット単位で、トラフィックの制御を行う
    • インバウンド設定だけでは、アウトバウンドの設定はされない
  • セキュリティグループ

    • サーバ単位で、トラフィックの制御を行う
    • インバウンドの設定を行えば、アウトバウンドも許可される

Storage関連

S3

  • 特徴
    • Http/Httpsでアクセス
    • ユニークな名称をもったパケットを作成し、オブジェクトを保存。
    • バージョニング可能
    • 最大5TBまでのアップロードが可能
    • 最低3箇所のAZ内に保存。
    • コスト
      • 容量/Request数に応じて課金
    • データ転送
    • 強い整合性モデルを採用しているので、データの同時更新が行われても、反映に誤差は生じない。
    • S3のデフォルト暗号化を利用すると、データの暗号化が行われる。暗号化キーの管理方法には以下のようなオプションがある。
      • S3が管理するキーによるサーバ側の暗号化(SSE-S3) S3に保存されるオブジェクトが、1意のキーで暗号化される。256 ビットの高度暗号化規格 (AES-256) GCM を使用してデータを暗号化する。キーの管理が不要。
      • AWS Key management Serviceに保存されているKMSキーによるサーバ側の暗号化(SSE-KMS) AWS KMSに設定した暗号化キーを利用した暗号化を実施。さらに監査機能を追加している。追加費用がかかる。
      • ユーザが指定下キーによるサーバ側の暗号化(SSE-C) ユーザーが指定したキーによるサーバ側の暗号化を行うことができる。
    • リージョン間をまたぐクロスリージョンレプリケーションの設定も可能。レプリケーションはオブジェクトの設定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)

  • 特徴
    • EC2のファイルシステムとして利用。
    • Ec2が停止しても、残る。
    • EC2とEBSは、1対多の関係。通常のファイルシステムのストレージと同様。
    • なお、Snapshotは、S3に保存される。
    • Raid1の状態。

EFS(Elalstic File Storage)

  • フルマネージド型共有File Storage
  • NFSで、Instance間で共有可能
  • 複数のAZ間で、レプリケーション
  • EFS Standard(通常向け)、EFS IA(Infrequent Access)低頻度向けがある。

Amazon FSx(Windows)

ストレージ性能

EC2

Amazon Data Lifecycle Manager(Amazon DLM)

  • EBSのスナップショットの作成、保存、削除の自動化が可能となる。

DATABASE

RDS (Relational DataBase Service)

Aurora

  • クラウド向けのRDBサービス
  • MySQL, PostgreSQLと互換あり。
  • 別リージョンに対して、リードレプリカを作成できる
  • AuroraのAuto Scaling
    • AuroraのAutoScalingは、CPU使用率やアクティブ接続数などをしきい値として、Auroraのレプリカの数を動的に変更させることができます。

DynamoDB

  • NoSQLのDB
  • コスト
  • 複数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に詰め込み、制御することができる。
  • 分散検索・分析エンジン。 ログ分析、フフテキスト検索、ビジネス分析などで利用。

Amazon Neptune

  • フルマネージド型のグラフデータベースサービス。

キャッシュ関連

ElasticCache

CloudFront

  • Amazonコンテンツ配信ネットワークCDN)
  • AWSのエッジロケーションに配置される。
  • 機能
    • SSLをCloudFrontで終端できる。CloudFrontで暗号解除可能。
    • ユーザ入力(PUT,POSTが可能)
    • 静的コンテンツや動画を置くことができる。
    • フェールオーバ-オプションが提供されており、オリジンサーバに、プライマリーとセカンダリ-を設定できる

メッセージ・キューイングサービス SQS ・SNSAmazon 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
    • ターゲット追跡スケーリングポリシーとスケジュールされたスケーリングを使用して、AWS Lambda プロビジョニングされた同時実行数をスケールできます。

      Amazon API Gateway

  • WebAPIの作成が可能。
  • よくある使われ方としては、Web APIとLamdaを組み合わせて使う。

    AWS Step Functions

  • LamdaとLamdaの連携、順序の制御などが可能。並列分岐も記述可能。サーバーレスのワークフロー。

モニタリング・履歴

CloudWatch

  • 使用状況のモニタリングサービス。以下のようなリソースが監視相性
    • メトリクス(システムのパフォーマンス情報) CPU、ディスクI/O、メモリの使用量など。
    • ログ
    • イベント
    • アラーム しきい値を設定して、AutoscalingやSNSに通知する。
  • 詳細ログを収集する場合は、CloudWathエージェントをサーバにInstallし、CloudWatch Logでログを収集する。
CloudTrail
  • APIコールやユーザのアクティ日地履歴を保存。ログはS3に保存。銀行などの監査で利用するログを収集。
VPCフローログ
  • VPC(EC2)の通信ログをCloudWatch、または、S3に配信する。

AutoScaling

  • 最小インスタンス〜最大インスタンスの間で自動的にキープする。条件に王子て、ScaleOut/In可能。
  • スケールポリシ 以下のようなスケールのポリシ−がある。

    • Simple Scaling 増減の上限、下限となるしきい値を1つだけ設定可能。 I.E CPU使用率が50%を超えたら、EC2を1つ追加。
    • Step Scaling 増減の上限、下限となるしきい値を複数設定可能。
  • 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 FirewallAmazon 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)

  • AWSサービスとユーザ間で利用するSSL証明書nお作成、管理ができるサービス。

SCPs(サービスコトロールポリシー)

  • 複数のAWSアカウントに対する権限の制御ができる。AWSアカウントまたは組織単位(OU)内のアカウントのグループに対してAWSサービスへの権限境界を設定できる。

アカウント・認証・認可

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)

  • VmwareやHyperVなどの仮想サーバを、オンプレからAWSマイグレーションするサービス。
  • SMSは廃止されているので、MGNを利用すること。

AWS DataSync

  • オンプレストレージとEFSやFSxなどのファイルシステム間で、データを転送するサービス。

AWS Application Discovery Service

  • オンプレミスデータセンター内のサーバーにエージェントをインストールすることで、データセンター内の利用状況を収集することができる。

Amazon EMR(Elastic MapReduce)

AWS IoT Core

  • バイスからデータを集め、AWS上のサービスにルーティングする。