View a markdown version of this page

ベストプラクティスとトラブルシューティング - AWS 変換

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ベストプラクティスとトラブルシューティング

モダナイゼーションプロセスにおけるベストプラクティス、一般的な問題とその解決策。

ECS アプリケーションログ

CloudWatch ログ

  • すべての ECS コンテナログは CloudWatch Logs に自動的に送信されます

  • ロググループの CloudWatch コンソールでログにアクセスする

  • ロググループの命名形式: /aws/ecs/{application-name}

  • 各コンテナインスタンスは、グループ内に新しいログストリームを作成します。

ログの表示

AWS コンソール経由:

  • CloudWatch > Log Groups に移動する

  • アプリケーションのロググループを選択する

  • 関連するログストリームを選択してコンテナログを表示する

CLI AWS の使用:

aws logs get-log-events --log-group-name /aws/ecs/your-app-name --log-stream-name your-stream-name

一般的なログの場所

  • アプリケーションログ: CloudWatch Logs

  • ECS サービスイベント: ECS コンソール > クラスター > サービス > イベントタブ

  • コンテナのヘルス/ステータス: ECS コンソール > クラスター > サービス > タスクタブ

データベース接続管理

アプリケーションはデータベース接続設定に環境変数を使用します

接続の問題が発生した場合:

  • 環境変数の現在の接続設定を確認する

  • 必要に応じてデータベース接続文字列を変更するように環境変数を更新する

  • 接続文字列の変更は、アプリケーションを再デプロイすることなく、環境変数の更新を通じて行うことができます。

データベース接続の問題

問題: AWS 変換を SQL Server に接続できない

解決方法:

  • AWS Transform と SQL Server 間のネットワーク接続を検証する

  • セキュリティグループのルールで適切なポートアクセスを確認する (1433)

  • Secrets Manager でデータベース認証情報を確認する

  • 作成したユーザーを使用してデータベースのアクセス許可をテストする

  • SQL Server が混合モード認証用に設定されていることを確認します。

  • シークレットに必要なタグがあることを確認する (プロジェクト: atx-db-modernization、所有者: database-connector)

ファイアウォールとセキュリティグループの問題

問題: 接続タイムアウトまたは「データベースに到達できません」エラー

根本原因: セキュリティグループまたはネットワーク ACLsブロックする

解決方法:

  1. セキュリティグループ設定の検証:

    • SQL Server セキュリティグループに、DMS Schema Conversion セキュリティグループからのポート 1433 を許可するインバウンドルールがあることを確認します。

    • ソースが IP アドレスではなくセキュリティグループ ID (sg-0123456789abcdef0 など) であることを確認します。

    • DMS Schema Conversion セキュリティグループがインスタンスプロファイルで正しく指定されていることを確認します。

    • 競合する拒否ルールがないことを確認します。

  2. ネットワーク ACLs:

    • サブネットレベルのネットワーク ACLsポート 1433 でインバウンドトラフィックを許可することを確認する

    • ネットワーク ACLsリターントラフィックのアウトバウンドエフェメラルポートを許可していることを確認する

    • データベースサブネットと DMS サブネットネットワーク ACLs

  3. VPC 設定の確認:

    • DMS Schema Conversion インスタンスと SQL Server が同じ VPC にあるか、適切な VPC ピアリングがあることを確認します。

    • ルートテーブルがサブネット間のトラフィックを許可することを確認する

    • ファイアウォールアプライアンスがトラフィックをブロックしていないことを確認する

  4. 接続のテスト:

    • DMS Schema Conversion と同じサブネットでテスト EC2 インスタンスを起動する

    • DMS Schema Conversion と同じセキュリティグループをアタッチする

    • telnet または SQL Server Management Studio を使用して SQL Server への接続をテストする

    • テストが成功した場合、問題は AWS 変換設定です。失敗した場合、問題はネットワーク/ファイアウォールです。

よくある間違い: ポート 1433 から 0.0.0.0/0 (すべてのソース) を開くことはセキュリティ上のリスクです。セキュリティグループベースのアクセスコントロールを常に使用して、DMS Schema Conversion セキュリティグループのみにアクセスを制限します。

スキーマ変換の問題

問題: スキーマ変換で多くのアクション項目が表示される

解決方法:

  • 変換レポートのアクション項目を確認する

  • 影響に基づいて優先順位を付ける

  • 複雑な SQL 変換に Amazon Q Developer を使用する

  • ガイダンスについては AWS 、 サポートにお問い合わせください。

  • 複雑なデータベースの段階的アプローチを検討する

アプリケーション変換の問題

問題: アプリケーション変換の構築に失敗する

解決方法:

  • 変換レポートのビルドエラーを確認する

  • 必要に応じてプライベート NuGet フィードを設定する

  • 必要に応じてパッケージリファレンスを更新する

  • Windows 固有の依存関係を確認する

  • 変換ログで詳細なエラーを確認する

データ移行の問題

問題: データ移行の検証が失敗する

解決方法:

  • 特定の障害の検証レポートを確認する

  • データ型マッピングを確認する

  • ID 列の設定を確認する (GENERATED BY DEFAULT と GENERATED ALWAYS)

  • 計算された列式を確認する

  • 複雑なデータ問題については、 AWS サポートにお問い合わせください。

リソースクリーンアップの問題

問題: 変換ジョブがリソースエラーで失敗する

解決方法:

  • 既存の DMS リソース (移行プロジェクト、データプロバイダー、インスタンスプロファイル) を確認する

  • 失敗したリソースまたは不完全なリソースを以前の試行からクリーンアップする

  • シークレットの削除がスケジュールされていないことを確認する

  • DMS と Aurora PostgreSQL のサービスクォータを確認する

  • クリーンアップで問題が解決しない場合は、 AWS サポートにお問い合わせください。

デプロイに関する問題

問題: 変換されたアプリケーションが Aurora PostgreSQL に接続できない

解決方法:

  • PostgreSQL の接続文字列形式を確認する

  • セキュリティグループのルールを確認する

  • Secrets Manager でデータベース認証情報を検証する

  • SSL/TLS が正しく設定されていることを確認します。

  • psql または pgAdmin を使用して接続をテストする

追加のヘルプの取得

AWS サポートに連絡するときは、以下を提供してください。

  • 変換ジョブ ID

  • AWS アカウント ID

  • リージョン

  • エラーメッセージとスクリーンショット

  • 変換ログ ( AWS 変換コンソールで使用可能)