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 を選択します。
データベースに関する詳細情報が表示されます。モニタリング指標の表示
[監視] タブをクリックします。
このタブには、次のような主要な指標が表示されます。
- CPU使用率
- データベース接続
- 無料ストレージスペース
- 空きメモリ
- 書き込みIOPS
- 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 サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











WebアプリケーションにおけるMySQLの主な役割は、データを保存および管理することです。 1.MYSQLは、ユーザー情報、製品カタログ、トランザクションレコード、その他のデータを効率的に処理します。 2。SQLクエリを介して、開発者はデータベースから情報を抽出して動的なコンテンツを生成できます。 3.MYSQLは、クライアントサーバーモデルに基づいて機能し、許容可能なクエリ速度を確保します。

INNODBは、レドログと非論的なものを使用して、データの一貫性と信頼性を確保しています。 1.レドログは、クラッシュの回復とトランザクションの持続性を確保するために、データページの変更を記録します。 2.Undologsは、元のデータ値を記録し、トランザクションロールバックとMVCCをサポートします。

他のプログラミング言語と比較して、MySQLは主にデータの保存と管理に使用されますが、Python、Java、Cなどの他の言語は論理処理とアプリケーション開発に使用されます。 MySQLは、データ管理のニーズに適した高性能、スケーラビリティ、およびクロスプラットフォームサポートで知られていますが、他の言語は、データ分析、エンタープライズアプリケーション、システムプログラミングなどのそれぞれの分野で利点があります。

MySQLの基本操作には、データベース、テーブルの作成、およびSQLを使用してデータのCRUD操作を実行することが含まれます。 1.データベースの作成:createdatabasemy_first_db; 2。テーブルの作成:createTableBooks(idintauto_incrementprimarykey、titlevarchary(100)notnull、authorvarchar(100)notnull、published_yearint); 3.データの挿入:InsertIntoBooks(タイトル、著者、公開_year)VA

Innodbbufferpoolは、データをキャッシュしてページをインデックス作成することにより、ディスクI/Oを削減し、データベースのパフォーマンスを改善します。その作業原則には次のものが含まれます。1。データ読み取り:Bufferpoolのデータを読む。 2。データの書き込み:データを変更した後、bufferpoolに書き込み、定期的にディスクに更新します。 3.キャッシュ管理:LRUアルゴリズムを使用して、キャッシュページを管理します。 4.読みメカニズム:隣接するデータページを事前にロードします。 BufferPoolのサイジングと複数のインスタンスを使用することにより、データベースのパフォーマンスを最適化できます。

MySQLは、Webアプリケーションやコンテンツ管理システムに適しており、オープンソース、高性能、使いやすさに人気があります。 1)PostgreSQLと比較して、MySQLは簡単なクエリと高い同時読み取り操作でパフォーマンスが向上します。 2)Oracleと比較して、MySQLは、オープンソースと低コストのため、中小企業の間でより一般的です。 3)Microsoft SQL Serverと比較して、MySQLはクロスプラットフォームアプリケーションにより適しています。 4)MongoDBとは異なり、MySQLは構造化されたデータおよびトランザクション処理により適しています。

MySQLは、テーブル構造とSQLクエリを介して構造化されたデータを効率的に管理し、外部キーを介してテーブル間関係を実装します。 1.テーブルを作成するときにデータ形式と入力を定義します。 2。外部キーを使用して、テーブル間の関係を確立します。 3。インデックス作成とクエリの最適化により、パフォーマンスを改善します。 4.データベースを定期的にバックアップおよび監視して、データのセキュリティとパフォーマンスの最適化を確保します。

MySQLは、データストレージ、管理、分析に適した強力なオープンソースデータベース管理システムであるため、学習する価値があります。 1)MySQLは、SQLを使用してデータを操作するリレーショナルデータベースであり、構造化されたデータ管理に適しています。 2)SQL言語はMySQLと対話するための鍵であり、CRUD操作をサポートします。 3)MySQLの作業原則には、クライアント/サーバーアーキテクチャ、ストレージエンジン、クエリオプティマイザーが含まれます。 4)基本的な使用には、データベースとテーブルの作成が含まれ、高度な使用にはJoinを使用してテーブルの参加が含まれます。 5)一般的なエラーには、構文エラーと許可の問題が含まれ、デバッグスキルには、構文のチェックと説明コマンドの使用が含まれます。 6)パフォーマンスの最適化には、インデックスの使用、SQLステートメントの最適化、およびデータベースの定期的なメンテナンスが含まれます。
