ラボの概要
あなたは、小規模なクラウドソーシングプラットフォームを開始し、利用者が現在のイベントに基づいてコンテンツを制作できるモバイルおよびウェブアプリケーションのポートフォリオを構築するとします。最初は、アプリケーションを補強するため、Amazon EC2 インスタンスで実行されている MySQL データベースを使用しました。ビジネスの成長に伴い、データベース要件を管理し、データベースをホストする際に直面したいくつかの課題に対処するために、よりスケーラブルなソリューションを探し始めました。市場で販売されている製品を分析した後、あなたは、増え続けるワークロードに対処するため Amazon Aurora を使用することを決めました。
新しいアプリケーションの開発中、あなたは、Aurora データベースからデータを取得する際にパフォーマンスが低下することに気付きました。あなたは、この問題はクエリの不十分な設計に関連している可能性があると考えます。そこで、Amazon Aurora のさまざまなツールを使用し、問題のあるクエリを特定してクエリを最適化することにしました。
Amazon Aurora は、クラウド向けに構築され、MySQL および PostgreSQL との互換性があるリレーショナルデータベースエンジンです。Aurora は Amazon Relational Database Service (Amazon RDS) を使用したフルマネージドサービスで、ハードウェアのプロビジョニング、データベースのセットアップ、パッチ適用、バックアップといった時間のかかる管理タスクが自動化されます。Aurora は、最新の、専用の分散ストレージシステム上に構築されています。すべてのデータは異なる 3 つの AWS アベイラビリティーゾーンに分散され、数百のストレージノードに分散されて、ゾーンごとに 2 つのコピーを持ちます。Aurora MySQL (および PostgreSQL) との互換性があるデータベースエンジンは、高速の分散ストレージを利用するようにカスタマイズされています。
このラボでは、IMDb のデータセットを使用して Amazon RDS Aurora クラスターをテストします。スロークエリログと Amazon RDS Performance Insights を使用してクエリの評価を行います。次に、クエリを微調整し、パフォーマンスの向上を評価します。また、Amazon Aurora クラスターのリードレプリカにオートスケーリングを設定してピーク負荷によるパフォーマンスへの影響を軽減する方法についても学習します。このアクティビティの最中に、ワークロードのデータベースパフォーマンスを最適化する際に使用できるさまざまなパラメータを確認します。
目標
このラボを修了すると、以下のことができるようになります。
- Amazon RDS でスロークエリログを有効にし、パフォーマンスの低い MySQL クエリを調査する
- Amazon RDS Performance Insights を使用してパフォーマンスを調査する
- ベストプラクティスを使用して MySQL クエリを最適化する
- Aurora リードレプリカのオートスケーリング機能を使用して負荷の急な増加に対処する
前提条件
このラボの前提条件は以下のとおりです。
-
Microsoft Windows、macOS X、Linux (Ubuntu、SuSE、Red Hat) のいずれかが搭載されている Wi-Fi 対応ノートパソコンが使用できること
注意 受講者ガイドは iPad やタブレット端末でも閲覧できます (ラボ環境へのアクセスには使用できません)。
-
Microsoft Windows ユーザーの場合は、コンピュータへの管理者アクセス
-
Chrome、Firefox、Internet Explorer 9 (これより前のバージョンの Internet Explorer はサポート対象外) などのインターネットブラウザ
-
PuTTY などの SSH クライアント
-
MySQL データベースの構文とオペレーションに関する知識
所要時間
このラボの所要時間は約 90 分です。