Amazon RDS への移行

DDD
リリース: 2024-09-18 20:06:37
オリジナル
453 人が閲覧しました

Migrating to Amazon RDS

Amazon RDS への移行に関するラボでは通常、既存のオンプレミスまたはクラウドでホストされているデータベースを Amazon のリレーショナル データベース サービス (RDS) に転送します。目標は、自動バックアップ、パッチ適用、モニタリング、スケーリングのための AWS のマネージド サービスを活用することで、データベース管理の運用負担を軽減することです。

目的:

  • AWS CLI を使用して、Amazon RDS MariaDB インスタンスを作成します。
  • EC2 インスタンス上の MariaDB データベースから Amazon RDS MariaDB インスタンスにデータを移行します。
  • Amazon CloudWatch メトリクスを使用して Amazon RDS インスタンスを監視します。

概要:

  • AWS CLI を使用した Amazon RDS インスタンスの作成
  • アプリケーション データを Amazon RDS インスタンスに移行する
  • Amazon RDS インスタンスを使用するようにウェブサイトを設定する
  • Amazon RDS データベースのモニタリング

アプリケーション データベースは、アプリケーション コードとともに Amazon Elastic Compute Cloud (Amazon EC2) Linux、Apache、MySQL、および PHP (LAMP) インスタンスで実行されます。このインスタンスは T3 小型インスタンス タイプを持ち、パブリック サブネットで実行されるため、インターネット クライアントは Web サイトにアクセスできます。 CLI ホスト インスタンスは同じサブネット内に存在し、AWS コマンドライン インターフェイス (AWS CLI) を使用してインスタンスの管理を容易にします。

AWS CLI を使用した Amazon RDS インスタンスの作成:

  • AWS CLI を設定します。
  • Amazon RDS インスタンスの構築に必要な次の前提条件コンポーネントを作成します。
  • Amazon RDS インスタンスのセキュリティ グループ ファイアウォール
  • 2 つのプライベート サブネットと 1 つのデータベース サブネット グループ
  • Amazon RDS MariaDB インスタンスを作成します。
  • AWS マネジメント コンソールの検索バーに「EC2」と入力して選択し、EC2 マネジメント コンソールを開きます。
  • ナビゲーションペインで、[インスタンス] を選択します。
  • インスタンスのリストから、CLI ホスト インスタンスを選択します。
  • [接続] を選択します。
  • [EC2 インスタンスの接続] タブで、[接続] を選択します。
  • 認証情報を使用して AWS CLI プロファイルを設定するには、EC2 Instance Connect ターミナルで次のコマンドを実行します。 「aws 構成」
  • ユーザーのアクセス キーとシークレット アクセス キーを入力します。
  • セキュリティ グループの作成: RDS インスタンスを保護するために CafeDatabaseSG をセットアップします。
  • インバウンド ルールの追加: CafeSecurityGroup のインスタンスからの MySQL リクエスト (TCP プロトコル、ポート 3306) のみを許可します。
  • プライベート サブネットの作成: 2 つのプライベート サブネット (CafeDB プライベート サブネット 1 と CafeDB プライベート サブネット 2) を確立します。
  • データベース サブネット グループの作成: RDS の CafeDB サブネット グループを定義し、プライベート サブネットに関連付けます。
  • CafeDatabaseSG セキュリティ グループを作成します: コマンドを実行: aws ec2 セキュリティグループの作成 --グループ名 CafeDatabaseSG --description "カフェ データベースのセキュリティ グループ" --vpc-id

出力: 今後使用するために GroupId をメモしておきます。

  • CafeDatabaseSG の受信ルールの作成:
    コマンドを実行:
    aws ec2 authorize-security-group-ingress
    --グループID
    --プロトコル tcp --ポート 3306
    --source-group

  • 受信ルールの確認:
    コマンドを実行:
    aws ec2 説明セキュリティグループ
    --query "SecurityGroups[*].[グループ名、グループID、IpPermissions]"
    --filters "Name=グループ名,Values='CafeDatabaseSG'"

  • CafeDB プライベート サブネット 1 を作成します
    コマンドを実行:
    aws ec2 サブネットの作成
    --vpc-id
    --cidr-block 10.200.2.0/23
    --availability-zone

出力: 将来使用するために SubnetId をメモしておきます。

  • CafeDB プライベート サブネット 2 の作成
    コマンドを実行:
    aws ec2 サブネットの作成
    --vpc-id
    --cidr-block 10.200.10.0/23
    --availability-zone
    出力: 今後使用するために、SubnetId をメモしておきます。

  • DB サブネット グループの作成
    コマンドを実行:
    aws rds create-db-subnet-group
    --db-subnet-group-name "CafeDB サブネット グループ"
    --db-subnet-group-description "カフェ用 DB サブネット グループ"
    --サブネット ID
    --tags "キー=名前、値= CafeDatabaseSubnetGroup"

  • CafeDBInstance を作成します

次のコマンドを実行して、指定された構成で MariaDB インスタンスを作成します。
コマンドを実行:
aws rds create-db-instance
--db-instance-identifier CafeDBInstance
--エンジン mariadb
--エンジン バージョン 10.5.13
--db-instance-class db.t3.micro
--allocated-storage 20
--availability-zone
--db-subnet-group-name "CafeDB サブネット グループ"
--vpc-セキュリティグループ ID
-- 公開アクセス不可
--マスターユーザー名 root --マスターユーザーパスワード 'Re:Start!9'

キー設定:

  • DB インスタンス識別子: CafeDBInstance
  • エンジン: MariaDB (バージョン 10.5.13)
  • インスタンスクラス: db.t3.micro
  • 割り当てられたストレージ: 20 GB
  • セキュリティグループ: CafeDatabaseSG
  • ユーザー名: root
  • パスワード: Re:Start!9
    データベース インスタンスの作成には最大 10 分かかる場合があります。

  • DB インスタンスのステータスを監視します

作成コマンドを実行した後、次のコマンドを実行してデータベースのステータスを監視します。
コマンドを実行:

aws rds 記述-db-instances
--db-instance-identifier CafeDBInstance
--query "DBInstances[*].[Endpoint.Address,AvailabilityZone,PreferredBackupWindow,BackupRetentionPeriod,DBInstanceStatus]"

注目すべき内容: このコマンドは、エンドポイント アドレス、アベイラビリティ ゾーン、バックアップ ウィンドウ、保持期間、インスタンスのステータスなどの情報を返します。
最初はステータスが作成中と表示され、その後、変更、バックアップを経て、最終的に利用可能になります。

  • データベースのステータスが「利用可能」と表示されるまで、数分ごとに status コマンドの実行を続けます。 コマンドを実行: aws rds 説明データベースインスタンス --db インスタンス識別子 CafeDBInstance --クエリ "DBInstances[*].[DBInstanceStatus]"

Amazon RDS インスタンスへのアプリケーション データの移行:

  • EC2 インスタンス (CafeInstance) に接続します
  • ターミナルで次のコマンドを実行して、ローカルの Cafe_db データベースのバックアップを作成します。
    コマンドの実行:
    mysqldump --user=root --password='Re:Start!9'
    --databases カフェ_db --add-drop-database >カフェデータベースバックアップ.sql

  • バックアップ ファイルを確認します
    less コマンドを使用して、バックアップの内容を確認できます:
    コマンドの実行:
    少ないcafedb-backup.sql

矢印キーまたは Page Up/Down を使用して移動し、q を使用して終了します。

  • バックアップを Amazon RDS データベースに復元します
    次のコマンドを実行して、バックアップを RDS インスタンスに復元します。実際の RDS インスタンスのエンドポイントに置き換えます:
    コマンドを実行
    mysql --user=root --password='Re:Start!9'
    --host=

  • データ移行を確認する
    RDS インスタンスへの対話型 MySQL セッションを開きます:
    コマンドの実行:
    mysql --user=root --password='Re:Start!9'
    --host=
    カフェデータベース

MySQL セッションに入ったら、次の SQL クエリを実行して、product テーブルのデータを確認します。
SQL
コマンドの実行:
製品から * を選択;

返されたデータが元のデータベースと一致することを確認してください。

  • MySQL セッションを終了します データを確認した後、次のように入力して MySQL セッションを終了します。 コマンドを実行 終了

注: 今後のタスクのために SSH ウィンドウを開いたままにしておきます。

Amazon RDS インスタンスを使用するようにウェブサイトを設定する

  • AWS Systems Manager を開きます
    AWS マネジメントコンソールの検索バーで「Systems Manager」を検索します。
    システムマネージャーに移動します。

  • パラメータストアへのアクセス
    左側のナビゲーションペインで、[パラメータストア] を選択します。

  • /cafe/dbUrl パラメータを編集します
    [私のパラメータ] リストから、/cafe/dbUrl を選択します。
    [編集] を選択してパラメータ値を変更します。

  • データベース URL を更新します
    [パラメーターの詳細] ページで、既存の値を RDS インスタンス データベース エンドポイント アドレスに置き換えます。
    形式は次のようになります:
    コマンドの実行:

cafedbinstance.xxxxxxx.us-west-2.rds.amazonaws.com

「変更を保存」をクリックしてパラメータを更新します。

  • ウェブサイトをテストする

新しいブラウザウィンドウを開き、前に保存した CafeInstanceURL (例: http://ec2-xx-xx-xx-xx.compute-1.amazonaws.com) を貼り付けます。
カフェのウェブサイトのホームページが読み込まれるはずです。

  • データベース接続を確認する ウェブサイトの「注文履歴」タブに移動します。 表示されている注文数を確認してください。これは、移行前のローカル データベースの番号と一致する必要があります。

Amazon RDS データベースのモニタリング

  • Amazon RDS コンソールを開きます
    AWS マネジメント コンソールで、「RDS」を検索します。
    RDS 管理コンソールに移動します。

  • データベースを選択します
    左側のナビゲーションペインで、[データベース] を選択します。
    リストから、cafedbinstance を選択します。
    データベースに関する詳細情報が表示されます。

  • モニタリング指標の表示
    [監視] タブをクリックします。
    このタブには、次のような主要な指標が表示されます。

  1. CPU使用率
  2. データベース接続
  3. 無料ストレージスペース
  4. 空きメモリ
  5. 書き込みIOPS
  6. ReadIOPS
  • データベース接続メトリックの監視
    DatabaseConnections グラフを探します。必要に応じて、指標グラフの 2 ページまたは 3 ページに移動します。
    このグラフは、アクティブなデータベース接続の数を追跡します。

  • RDS データベースに接続します
    CafeInstance ターミナル ウィンドウで次のコマンドを実行して MySQL セッションを開きます:
    コマンドを実行
    mysql --user=root --password='Re:Start!9'
    --host=
    カフェデータベース

RDS インスタンスのエンドポイントに置き換えます。

  • SQL クエリを実行する MySQL セッション内で次の SQL クエリを実行して、製品テーブルからデータを取得します。 SQL コマンドの実行: 製品から * を選択;

クエリは製品テーブルからデータを返す必要があります。

  • データベース接続グラフを確認します
    RDS コンソールで、DatabaseConnections グラフをクリックします。
    これで、対話型 SQL セッションからのアクティブな接続が 1 つ表示されるはずです。
    グラフが更新されない場合は、1 分待ってから [更新] をクリックしてください。

  • MySQL セッションを閉じます
    CafeInstance ターミナル ウィンドウで、MySQL セッションを終了します。

コマンドを実行
終了

  • 切断後の接続を監視する
    1 分間待ってから、RDS コンソールの DatabaseConnections グラフを更新します。
    接続数は 0 と表示されるはずです。

  • 他の指標を調べる
    [監視] タブでグラフを確認することで、CPUUtilization、FreeStorageSpace、WriteIOPS、ReadIOPS などの追加のメトリクスを調べることができます。

以上がAmazon RDS への移行の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!