コンソールに「初期同期を完了しています」というメッセージが表示され、CloudEndure レプリケーションプロセスが 100% で停止するのはなぜですか?
最終更新日: 2020 年 12 月 7 日
CloudEndure Migration または CloudEndure Disaster Recoveryを使用しています。CloudEndure コンソールに「初期同期を完了しています」というメッセージが表示され、レプリケーションプロセスが 100% で停止します。この解決方法を教えてください。
簡単な説明
初期同期の最終段階でレプリケーションプロセスが 100% で停止すると、CloudEndure コンソールに以下の 2 つのメッセージが表示される可能性があります。
- 「初期同期を完了しています - バックログのフラッシュ中」
- 「初期同期を完了しています - 起動可能な最初のスナップショットの作成中」このエラーは、次の理由で発生することがあります。
解決方法
初期同期を完了しています - バックログのフラッシュ中
同期を開始するのに、バックログのフラッシュが完了するまで待ちます。
ソースマシンの書き込み頻度が非常に高い場合、バックログは時間の経過とともに増加する可能性があります。CloudEndure コンソールで、1 つまたは複数のマシンが、初期同期の完了中状態のまま停止することがあります。この問題が発生した場合は、次の手順を実行します。
1. レプリケーション速度をテストします。レプリケーション速度をテストした後、必要な帯域幅を計算し、その帯域幅をソースマシンに割り当てます。
2. [Replication Settings] の [Network bandwidth throttling] オプションが無効になっていることを確認します。設定でこのオプションを有効にする必要がある場合は、値を最低限必要な帯域幅に設定してください。詳細については、「[オプション] ネットワーク帯域幅スロットリングを有効にする」を参照してください。
3. Amazon CloudWatch メトリクスを使用して、レプリケーションサーバーのネットワーク/ディスク使用率を確認します。リソースがサーバーを制限する場合は、専用のレプリケーションサーバーを使用するか、HDDディスクの代わりに高速 SSD データディスクを使用するかを選択します。
特定のソースマシンが使用しているレプリケーションサーバーを確認するには、次の例に示すように、ソースマシン上で netstat コマンドを実行します。マシンがポート 1500 経由で接続するリモート IP を書き留めます。
$ netstat -anp | grep ":1500"
または、ソースマシン上の agent.log.0 ファイルを確認して 、使用中のレプリケーションサーバーを特定します。
$ sudo cat /var/lib/cloudendure/agent.log.0 | grep :1500 | tail -n 1
初期同期を完了しています - 起動可能な最初のスナップショットの作成中
この問題を解決するには、次の手順を実行します。
- CloudEndure ユーザーの AWS Identity and Access Management (IAM) ポリシーに、必要な Amazon Elastic Compute Cloud (Amazon EC2) API を実行するためのすべてのアクセス許可があることを確認します。
- レプリケーションサーバーがリージョン内の Amazon EC2 エンドポイントと通信していることを確認します。
- ネットワーク接続ブロッカーを特定します。
- [Replication Settings] で最近の変更を確認します。
- 正しいプロキシ設定を使用していることを確認してください。
- CloudEndure エージェントが正常に動作することを確認します。
- サービスクォータの問題をチェックします。
CloudEndure ユーザーの IAM ポリシーに、必要な Amazon EC2 API を実行するためのすべてのアクセス許可があることを確認する
サンプルポリシーについては、「IAM サンプルポリシー」を参照してください。または、AWS CloudTrail イベントの履歴を表示して、設定された CloudEndure IAM ユーザーの API エラーを確認します。
レプリケーションサーバーがリージョン内の Amazon EC2 エンドポイントと通信していることを確認する
1. ステージング領域と同じサブネットで、新しい Linux マシンを起動します。
2. 新しいマシンにログインしてから、次のコマンドを実行して接続をテストします。以下のコマンド例で、us-east-1 をお使いのリージョンに置き換えます。
$ dig ec2.us-east-1.amazonaws.com
$ telnet ec2.us-east-1.amazonaws.com 443
$ wget https://ec2.us-east-1.amazonaws.com
上記のコマンドのいずれかが失敗するなら、ネットワーク接続の問題が存在します。次のセクションに進みます。
ネットワーク接続ブロッカーを特定する
VPC、サブネット、セキュリティグループ、ネットワークアクセスコントロールリスト (ACL)、およびルートテーブルの設定が Replication Settings と一致していることを確認します。不一致があると、レプリケーションサーバーから Amazon EC2 エンドポイントへの通信がブロックされることがあります。
レプリケーションサーバーがパブリックサブネットで起動する場合は、次の手順を実行します。
1. セキュリティグループ、ネットワーク ACL、およびルートテーブルで、TCP ポート 443 で Amazon EC2 エンドポイントとの通信が行えることを確認します。
2. 以下のように、enableDnsHostnames 属性と enableDnsSupport 属性が VPC レベルで true に設定されていることを確認します。
$ aws ec2 describe-vpc-attribute --vpc-id vpc-a01106c2 --attribute enableDnsHostnames
$ aws ec2 describe-vpc-attribute --vpc-id vpc-a01106c2 --attribute enableDnsSupport
レプリケーションサーバーがプライベートサブネットで起動する場合は、次の手順を実行します。
1. セキュリティグループ、ネットワーク ACL、およびルートテーブルで、TCP ポート 443 で Amazon EC2 エンドポイントとの通信が行えることを確認します。
2. ルートテーブルで NAT ゲートウェイまたは NAT インスタンスを設定した場合は、TCP ポート 443 上の Amazon EC2 エンドポイントへのアウトバウンドトラフィックが正しく流れることを確認します。
3. アウトバウンドトラフィックがトランジットゲートウェイまたは仮想プライベートゲートウェイを通過するように設定した場合は、ルートテーブルでアウトバウンドトラフィックが TCP ポート 443 のリージョン Amazon EC2 エンドポイントに到達することが許可されていることを確認します。
4. 内部のファイアウォールまたは外部のファイアウォールが通信をブロックしているかどうかを確認します。
5. VPC にインターフェイス VPC エンドポイントがある場合は、プライベートネットワークを介して TCP ポート 443 の Amazon EC2 エンドポイント間で通信が行われることを確認してください。これを行うには、以下を実行します。
VPC エンドポイントに関連付けられたセキュリティグループで、TCP ポート 443 のレプリケーションインスタンスからの受信トラフィックが許可されていることを確認します。
enableDnsHostnames 属性と enableDnsSupport 属性が VPC レベルで true に設定されていることを確認します。また、VPC インターフェイスエンドポイントで PrivateDnsEnabled 値が true に設定されていることを確認します。
$ aws ec2 describe-vpc-attribute --vpc-id vpc-a01106c2 --attribute enableDnsHostnames
$ aws ec2 describe-vpc-attribute --vpc-id vpc-a01106c2 --attribute enableDnsSupport
$ aws ec2 describe-vpc-endpoints --vpc-endpoint-ids vpce-088d25a4bbf4a7abc
Replication Settings で最近の変更を確認する
CloudEndure Event Log から Replication Settings を追跡できます。例えば、[Staging Area Tags] フィールドに無効なタグが挿入されているか確認します。使用できる文字の一覧については、「タグの制限」を参照してください。
正しいプロキシ設定を使用していることを確認する
1. レプリケーションサーバーでプロキシサーバーを使用する場合は、プロキシの設定で、TCP ポート 443 でリージョン別の Amazon EC2 エンドポイントとの通信が行えることを確認します。
2. SSL インターセプトおよび認証の許可リストに console.cloudendure.com が含まれていることを確認します。詳細については、「AWS のレプリケーション設定の定義」の「プロキシの定義 」セクションを参照してください。
CloudEndure エージェントが正常に動作することを確認する
ソースマシンでCloudEndure エージェントが正常に動作することを確認します。発生する可能性のあるエラーを CloudEndure エージェントログで確認して、問題を特定できます。
Amazon EC2 サービスクォータの問題をチェックする
サービスクォータの問題、または API スロットリングとレート制限の問題により、CloudEndure が起動可能な最初の復旧スナップショットを作成できない場合があります。CloudTrail イベント履歴をチェックして、サービスクォータまたはスロットリングの問題が存在するかどうかを確認します。
詳細については「Amazon EC2 サービスクォータ」を参照してください。</p