AWS Database Migration Service(1)DMSの概要

Database Migration Service

DMSは、2つのデータストア(データエンドポイント)間のデータ移行を行うツールであり、オンプレミスからAWSへのデータ移行を実現できる。データエンドポイントのうちの1つはAWS上にある必要があるため、 オンプレ間のデータ移行には利用できない 。このサービスを利用することで、1回限りの移行と、それ以降の継続的な変更のレプリケートを実現できる。DMSは、 ハードウェアのデプロイ管理(パッチの適用、エラーレポート)モニタリング を自動で管理し、設定プロセス開始後わずか数分で使用で使用を開始することができる。また、ワークロードに応じて移行先のリソースをスケールアップ/スケールダウンさせることもできる。

DMSは様々なデータベースに対応しており、 AWS Schema Conversion Tool (AWS SCT) を利用することで、データベーススキーマを新しいプラットフォームに変換できる。

また、フェールオーバ機能も提供しており、プライマリレプリケーションサーバが停止した場合、最小のダウンタイムで、バックアップレプリケーションサーバに処理を引き継ぐことが出来る。

DMSの動作

DMSはソースデータストアに接続した上でデータを読み取り、ターゲットスタオが利用できるように データのフォーマット を行う。その後、ターゲットストアにデータのロードを行う。 この処理は通常メモリ内で行われるが、大きなトランザクションの場合は、ディスクへのバッファリングが必要となる場合もある 。操作としては、

  1. レプリケーションサーバを作成
  2. データエンドポイントの作成
  3. 移行タスクの作成

の順で行う。

レプリケーションインスタンス

レプリケーションサーバは、レプリケーションタスクを実行するEC2インスタンスを指す。レプリケーションサーバ1台で複数の処理を行うことが可能である。 DMSはCPUとメモリを大量に消費するため、多数のテーブルが関与する場合や複数のレプリケーションタスクを実行する場合には、大きなインスタンスを使用することが望ましい 。マルチAZ配置にすることで、高可用性ならびにフェールオーバ機能が提供される。この場合、レプリケーションインスタンスのスタンバイレプリカに常時データがレプリケートされる。Microsoftのライセンスを使用する場合には、 ライセンス込みのインスタンスを利用することも、ライセンス持ち込み(BYOL)することも可能 である。

また、移行タスクは、

  1. 既存データの全ロード
  2. キャッシュされた変更の適用
  3. 継続的なレプリケーション

というフェーズで構成される。なお、全ロード処理が開始された時点から、データベースの変更を検知し始めるので、 テーブル毎にロード処理開始時刻が異なると、変更検知を行うポイントも異なることに注意が必要 である。また、レプリケーション時にはデータの同期にはいくらかの遅延が発生する。このレプリケーションタスクは、「全ロード」「全ロード+CDC」「CDCのみ」から選択することが可能である。

同じエンジン間の以降の場合は、エンジンのネイティブツールにより、スキーマのインポート/エクスポートが行われる。異なるエンジン間の場合には、AWS Schema Conversion Tool (AWS SCT)が使用される。なお、効率的にデータ移行するために、 セカンダリインデックス , 非プライマリキーの制約 , データデフォルト は作成されない。

また、様々なデータベースをサポートしているが、サポート対象のバージョンに制約がある場合があるので確認が必要。

ベストプラクティス

DMSのパフォーマンスは、ネットワークスループットなどのいくつかの要因に影響される。パフォーマンスを向上させるためには、以下の手法を用いることができるかどうかの検討を行う。

  • 適切なインスタンスサイズ(CPU,メモリ等を含む)の決定
  • マルチAZインスタンスの使用
  • 複数テーブルの並列ロード(標準では 8テーブルを同時にロード
  • バックアップとトランザクションログ記録の無効化
  • 複数タスクの使用

なお、移行処理がソースデータベースに負荷を与えている場合には、移行するタスク数やテーブル数を減らす必要が生じる。また、ターゲットデータベースのボトルネックを減らすためには、以下の手法の検討を行う。

  • 不要なトリガの無効化
  • 初期ロード時はセカンダリインデックスを無効化
  • RDSの場合、バックアップとマルチAZを一時的に無効化
  • RDS以外の場合、ログ記録の一時的な無効化

また、これ以外にもDMSを利用される際の奨励される作業として、

  • Amazon CloudWatchを使用したメトリクスのモニタリング
  • Amazon SNSを介したイベントの通知

などが存在する。

レプリケーションインスタンス

DMSは、東京リージョン(ap-northeast-1), 大阪リージョン(ap-southeast-1)共に使用可能。 開発やプロトタイプにはT系インスタンス、異なるエンジン間の移行など負荷の高いワークロードが想定される場合にはC系インスタンスを、高スループットのトランザクションが想定されるシステムの移行には、R系インスタンスの利用が望ましい 。T系インスタンスで無制限モードを有効化すると、長時間に渡ってCPU使用率が高い状態が継続した場合でも、追加の費用が課金されて作業を継続できる。レプリケーションインスタンス内のエンジンは、手動でアップグレードすることができる。ただし、 ダウングレードは出来ない

インスタンスサイズの決定に際しては、使用可能なメモリ量の合計が重要 な考慮事項となる。また、キャッシュとログを格納するスディスク容量を十分確保しておくと、パフォーマンスも向上する。ディスクストレージの決定に際しては以下の項目を考慮する。

  • テーブルサイズ
  • DMLのアクティビティ
  • トランザクションサイズ
  • 移行の合計サイズ
  • タスクの数
  • ラージオブジェクト

なお、一般的には、 デフォルトのストレージ設定で問題が生じることはない

すべてのレプリケーションインスタンスには、週次のメンテナンスウインドウが用意されており、その期間内に利用可能なシステムの変更が適用される。ほとんどのメンテナンスは、 設定した30分のメンテナンスウインドウ期間中に終了 する。 メンテナンスウインドウを設定しなかった場合は、ランダムに指定した曜日にメンテナンスが実行 される。

AWS認定ソリューションアーキテクト – プロフェッショナルに合格するまで【ネットワーク篇】

AWS認定ソリューションアーキテクトプロフェッショナル試験合格に向けての資料集。以下の資料を何度も読み込んで、手を動かしながら実践を繰り返すことが合格の近道となる。移行と転送 および ネットワーク サービスの詳細はこちら。

カテゴリ サービス名
コンピューティング EC2, ECS, Lambda, Batch, Elastic Beanstalk
ストレージ S3, EFS, Storage Gateway
データベース RDS, DynamoDB, ElastiCache, Redshift
移行と転送 Database Migration Service, Application Discovery Service, Migration Hub, Server Migration Service, Snowball
ネットワーク VPC, CloudFront, Route53, API Gateway, Direct Connect
開発者用ツール CodeCommit, CodeBuild, CodeDeploy, CodePipeline
管理とガバナンス Organizations, Config, CloudWatch, Auto Scaling, CloudFormation, CloudTrail, Config, OpsWorks, Systems Manager
分析 Athena, EMR, CloudSearch, Elasticsearch, Kinesis, QuickSight
セキュリティとコンプライアンス IAM, RAM, Cognito, GuardDuty, Inspector, CloudHSM, AD&SSO, WAF&Shield
モバイル Amplify, Mobile Hub
アプリケーション統合 SNS, SQS

移行と転送

AWS Database Migration Service

AWS Database Migration Serviceは、RDBのAWSへの移行 を支援するサービス。本サービスを利用することで、短期間で安全にデータベースを移行することができる。また、移行作業中も オンプレミス上のデータベースは使用可能なまま、レプリケーションが継続される ため、ダウンタイムを最小限に抑えることができる。同種のデータベースだけでなく 異なるデータベースプラットフォーム間の移行も可能 。異種間の移行では、まず AWS Schema Conversion Tool を用いてスキーマの移行を行い。次に AWS Database Migration Service を利用してデータの移行を行う。これらの仕組みを利用することで、オンプレミス上の本番環境をもとにAWS上に開発環境を作成するなどのシナリオを実行できる。また、AWS上の異なるデータベースを AWS Database Migration Service を用いて統合することもできる。AWS Schema Conversion Tool に加えて、 Workload Qualification Framework を用いることで、mワークロードの評価や移行手順のレコメンドを受けることもできる。

AWS Application Discovery Service

AWS Application Discovery Serviceは、クラウド移行を支援するために、ホスト名、IPアドレス、CPUなどのインフラ情報に加えて、サーバのパフォーマンス情報など、オンプレミス上のデータを収集するサービスである。収集されたデータは暗号化形式で保存され、CSV等でエクスポートすることもできる。また、TCOの計算に使用したり、AWS Migration Hub でも利用できる。エージェントモードエージェントレスモード が存在する。エージェントレスモードは、VMWare上の環境で動作する。一方、非VMWare環境の場合や、詳細情報等を取得したい場合には、Application Discovery Agent をインストールする。

なお、クラウドへの移行方式にはいくつかの一般的手法が存在し、移行コストが低いものから順に、「Retain」(= 現状維持) 、「Retire」(= 廃止) 、「Re-host」(= 単純移行) 、「Re-purchase」(= アプリケーションの新規導入) 、「Re-platform」(= アプリケーションの一部改修) 、「Refactor」(= アプリケーションの修正や再構築) と呼ばれる。

AWS Server Migration Service

AWS Server Migration Serviceは、オンプレミスのワークロードを簡単にAWSに移行できる エージェントレス サービス。VMware vSphere、Windows Hyper-V、 Microsoft Azure などのデータをレプリケートし、AMIの作成を行う。

AWS Server Migration Service Connector と呼ばれる、VMware vCenter上で稼働する仮想マシンを稼働させることで、VMware vCenter のインベントリ情報をキャプチャすることができる。

AWS Migration Hub

AWS Migration Hubを用いることで、上述のサービスを横断的追跡することができ、それぞれのタスクのメトリクスや進捗状況を確認することができる。

AWS Storage Gateway(1)Storage Gatewayの概要

Storage Gateway

Storage Gatewayは、 オンプレミスからクラウドストレージに対してアクセスを提供 する ハイブリッドストレージサービス 。Storage Gatewayを使用することで、ストレージ管理を簡素化し掛かるコストを低減することができる。クラウドへのデータ移行のみならず、バックアップアーカイブDR などにも活用できる。

Storage Gatewayは、

  • テープゲートウェイ
  • ファイルゲートウェイ
  • ボリュームゲートウェイ

の3タイプで構成され、NFS、SMB、iSCSI などの標準ストレージプロトコルでクラウドストレージにアクセスできる。クラウドストレージにデータを保存することで、AWSの他のサービスを活用して保存したデータの処理を行うことができる。Storage Gatewayは、 VMware ESXi などで実行するVMとして、もしくは ハードウェアアプライアンス として オンプレミス上にデプロイ される。EC2上で動作させることも可能

テープゲートウェイ

iSCSI ベースの 仮想テープライブラリVTL)として使用することができる。データは、 S3 もしくは Gracier に保存することができる。主要なバックアップアプリケーションとの互換性があり、データのバックアップやアーカイブに使用することができる。ゲートウェイはそのデータをローカルに保存した後、S3に 非同期的にアップロード する。

ファイルゲートウェイ

ファイルゲートウェイを使用することで、 NFS および SMB プロトコルを使用して S3 にファイルを保存できる。ファイルゲートウェイは、S3に 非同期でデータを更新 し、データはS3上で SSE-S3 で暗号化される。

ローカルキャッシュ を利用することで、最近アクセスしたデータへの底レイテンシーアクセスとコストの低減が可能になる。

ボリュームゲートウェイ

ボリュームゲートウェイを用いることで、 iSCSI プロトコルを使用している ブロックストレージ をオンプレミスのアプリケーションに提供する。このデータはボリュームの スナップショット としてバックアップして、 EBSスナップショット として保存できる。バックアップは、スケジューラを使うことも、 AWS Buckup を使用することもできる。スナップショットは、差分のみが保存されるため料金を最低限に抑えることができる。ボリュームゲートウェイは、Stored Volume 型と Chached Volume 型に分類される。ボリュームゲートウェイを使用してDR対策を実現できる。

Stored Volume

データ全体をローカルに保存 した上で、非同期コピー を用いて S3ボリュームへのコピーEBSスナップショットの作成 ができる。ボリュームは、 1 GiB~32 TiBの間で設定でき、最大32個のボリュームがサポートされる。 データはオンプレミスに置いておきたいが、バックアップはAWSに置いておきたい という場合に最適。ローカルのディスクは、DAS もしくは SAN ディスクとしてオンプレミスから利用可能。データを復元する場合は、EBSスナップショットをゲートウェイストレージ上に復元できる。また、EC2にEBSボリュームとしてアタッチすることもできる。

Chached Volume

プライマリデータをS3 に保存し、 頻繁に利用するデータをローカルに保存 する。ボリュームは、 1 GiB~32 TiBの間で設定でき、最大32個のボリュームがサポートされる。ゲートウェイストレージ上には、cache storageupload buffer が作成される。データを復元する場合は、EBSスナップショットをゲートウェイストレージ上に復元できる。また、EC2にEBSボリュームとしてアタッチすることもできる。

AWS認定ソリューションアーキテクト – プロフェッショナルに合格するまで【分析篇】

AWS認定ソリューションアーキテクトプロフェッショナル試験合格に向けての資料集。以下の資料を何度も読み込んで、手を動かしながら実践を繰り返すことが合格の近道となる。分析 サービスの詳細はこちら。

カテゴリ サービス名
コンピューティング EC2, ECS, Lambda, Batch, Elastic Beanstalk
ストレージ S3, EFS, Storage Gateway
データベース RDS, DynamoDB, ElastiCache, Redshift
移行と転送 Database Migration Service, Application Discovery Service, Migration Hub, Server Migration Service, Snowball
ネットワーク VPC, CloudFront, Route53, API Gateway, Direct Connect
開発者用ツール CodeCommit, CodeBuild, CodeDeploy, CodePipeline
管理とガバナンス Organizations, Config, CloudWatch, Auto Scaling, CloudFormation, CloudTrail, Config, OpsWorks, Systems Manager
分析 Athena, EMR, CloudSearch, Elasticsearch, Kinesis, QuickSight
セキュリティとコンプライアンス IAM, RAM, Cognito, GuardDuty, Inspector, CloudHSM, AD&SSO, WAF&Shield
モバイル Amplify, Mobile Hub
アプリケーション統合 SNS, SQS

Amazon CloudSearch

AWS認定ソリューションアーキテクト – プロフェッショナルに合格するまで【管理&ガバナンス篇】

AWS認定ソリューションアーキテクトプロフェッショナル試験合格に向けての資料集。以下の資料を何度も読み込んで、手を動かしながら実践を繰り返すことが合格の近道となる。管理ガバナンス に関するサービスはこちら。

カテゴリ サービス名
コンピューティング EC2, ECS, Lambda, Batch, Elastic Beanstalk
ストレージ S3, EFS, Storage Gateway
データベース RDS, DynamoDB, ElastiCache, Redshift
移行と転送 Database Migration Service, Application Discovery Service, Migration Hub, Server Migration Service, Snowball
ネットワーク VPC, CloudFront, Route53, API Gateway, Direct Connect
開発者用ツール CodeCommit, CodeBuild, CodeDeploy, CodePipeline
管理とガバナンス Organizations, Config, CloudWatch, Auto Scaling, CloudFormation, CloudTrail, Config, OpsWorks, Systems Manager
分析 Athena, EMR, CloudSearch, Elasticsearch, Kinesis, QuickSight
セキュリティとコンプライアンス IAM, RAM, Cognito, GuardDuty, Inspector, CloudHSM, AD&SSO, WAF&Shield
モバイル Amplify, Mobile Hub
アプリケーション統合 SNS, SQS

AWS認定ソリューションアーキテクト – プロフェッショナルに合格するまで【セキュリテイ&コンプライアンス篇】

AWS認定ソリューションアーキテクトプロフェッショナル試験合格に向けての資料集。以下の資料を何度も読み込んで、手を動かしながら実践を繰り返すことが合格の近道となる。セキュリテイコンプライアンス に関するサービスはこちら。

カテゴリ サービス名
コンピューティング EC2, ECS, Lambda, Batch, Elastic Beanstalk
ストレージ S3, EFS, Storage Gateway
データベース RDS, DynamoDB, ElastiCache, Redshift
移行と転送 Database Migration Service, Application Discovery Service, Migration Hub, Server Migration Service, Snowball
ネットワーク VPC, CloudFront, Route53, API Gateway, Direct Connect
開発者用ツール CodeCommit, CodeBuild, CodeDeploy, CodePipeline
管理とガバナンス Organizations, Config, CloudWatch, Auto Scaling, CloudFormation, CloudTrail, Config, OpsWorks, Systems Manager
分析 Athena, EMR, CloudSearch, Elasticsearch, Kinesis, QuickSight
セキュリティとコンプライアンス IAM, RAM, Cognito, GuardDuty, Inspector, CloudHSM, AD&SSO, WAF&Shield
モバイル Amplify, Mobile Hub
アプリケーション統合 SNS, SQS

セキュリティ & コンプライアンス

AWS Identity and Access Management

AWS Resource Access Manager

AWS認定ソリューションアーキテクト – プロフェッショナルに合格するまで【モバイル&アプリケーション統合篇】

AWS認定ソリューションアーキテクトプロフェッショナル試験合格に向けての資料集。以下の資料を何度も読み込んで、手を動かしながら実践を繰り返すことが合格の近道となる。モバイルサービス ならびに アプリケーション統合 サービスはこちら。

カテゴリ サービス名
コンピューティング EC2, ECS, Lambda, Batch, Elastic Beanstalk
ストレージ S3, EFS, Storage Gateway
データベース RDS, DynamoDB, ElastiCache, Redshift
移行と転送 Database Migration Service, Application Discovery Service, Migration Hub, Server Migration Service, Snowball
ネットワーク VPC, CloudFront, Route53, API Gateway, Direct Connect
開発者用ツール CodeCommit, CodeBuild, CodeDeploy, CodePipeline
管理とガバナンス Organizations, Config, CloudWatch, Auto Scaling, CloudFormation, CloudTrail, Config, OpsWorks, Systems Manager
分析 Athena, EMR, CloudSearch, Elasticsearch, Kinesis, QuickSight
セキュリティとコンプライアンス IAM, RAM, Cognito, GuardDuty, Inspector, CloudHSM, AD&SSO, WAF&Shield
モバイル Amplify, Mobile Hub
アプリケーション統合 SNS, SQS

AWS CloudHSM(1)CloudHSMの概要

AWS CloudHSM

AWS CloudHSMは、業界標準のAPIや規格に準拠したクラウドベースのハードウェアセキュリティモジュールで、これを用いることでクラウドで安全に 暗号化キーを生成、保管 できる。AWSのサービスの中では、AWS KMS(Key Management Service)と似た機能を有するが、CLoudHSMはシングルテナント構成で、共通鍵だけでなく 秘密鍵も保管できる 。また、AWS KMSのCMK(カスタマーキー)をCloudHSMで保管することも可能である。

AWS Resource Access Manager(1)RAMの概要

AWS Resource Access Manager

AWS RAMを利用すると、プロビジョニングもしくは管理されたリソースを 他のAWSアカウントと共有することができる 。サポートしてるAWSリソースは以下の通り。

  • Amazon Aurora(クラスタ)
  • AWS CodeBuild(プロジェクトとレポートグループ)
  • Amazon EC2(サブネット、TransitGatewayなど)
  • Amazon EC2 Image Builder
  • AWSライセンスマネージャー(ライセンス)
  • AWSリソースグループ
  • Amazon Route 53

Organaizations内のアカウント間でこれらのリソースを共有する場合は、invitationは送信されない 。EC2リソースを共有する場合、アカウント毎に同一リージョンのアベイラビリティゾーンの名称が異なる可能性がある。このため、正確にリソースの場所を特定するためには、 AZ ID を使用する。

AWS(6)コストと請求

Billing and Cost Management

Billing and Cost Management には、コストの見積もりと計画閾値を超えた場合のアラームの受信 を含め以下のような機能を有する。

機能 内容
グラフによるコスト分析 Cost Explorer による表示
予算 Cost Explorer による追跡と SNS通知
支払い通貨 通貨の指定
レポート レポートのS3出力( Organizationsマスターアカウントのみ

Billing and Cost Management では、以下のページが用意されている。

名称 用途と機能
請求情報とコスト管理ダッシュボード 使用状況の確認, ダッシュボード
Cost Explorer AWS 使用量を追跡および分析
Bugets 予算の管理
Bugets Reports
Cost & Usage Reports レポートのS3出力
請求書 現在の料金の確認
注文と請求書 過去の支払い履歴の確認

| 予算 | 使用状況の確認, 予算の管理 |