Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWS研修 Amazon RDS
Search
Recruit
PRO
August 18, 2021
Technology
2
8.4k
AWS研修 Amazon RDS
2021年度リクルート エンジニアコース新人研修の講義資料です
Recruit
PRO
August 18, 2021
Tweet
Share
More Decks by Recruit
See All by Recruit
Javaで作る RAGを活用した Q&Aアプリケーション
recruitengineers
PRO
1
150
問題解決に役立つ数理工学
recruitengineers
PRO
13
2.8k
Curiosity & Persistence
recruitengineers
PRO
2
200
結果的にこうなった。から見える メカニズムのようなもの。
recruitengineers
PRO
1
420
成長実感と伸び悩みからふりかえる キャリアグラフ
recruitengineers
PRO
1
200
リクルートの オンプレ環境の未来を語る
recruitengineers
PRO
3
370
LLMのプロダクト装着と独自モデル開発
recruitengineers
PRO
1
380
新規検索基盤でマッチング精度向上に挑む! ~『ホットペッパーグルメ』の開発事例 ビジネス編
recruitengineers
PRO
3
210
新規検索基盤でマッチング精度向上に挑む! ~『ホットペッパーグルメ』の開発事例 技術編
recruitengineers
PRO
2
270
Other Decks in Technology
See All in Technology
インフラ寄りSREの生存戦略
sansantech
PRO
5
1.6k
MobileActOsaka_250704.pdf
akaitadaaki
0
150
IPA&AWSダブル全冠が明かす、人生を変えた勉強法のすべて
iwamot
PRO
2
170
DatabricksにOLTPデータベース『Lakebase』がやってきた!
inoutk
0
120
Claude Code に プロジェクト管理やらせたみた
unson
6
4.5k
Delta airlines Customer®️ USA Contact Numbers: Complete 2025 Support Guide
deltahelp
0
820
関数型プログラミングで 「脳がバグる」を乗り越える
manabeai
2
200
ビズリーチが挑む メトリクスを活用した技術的負債の解消 / dev-productivity-con2025
visional_engineering_and_design
3
7.9k
CRE Camp #1 エンジニアリングを民主化するCREチームでありたい話
mntsq
1
140
United airlines®️ USA Contact Numbers: Complete 2025 Support Guide
unitedflyhelp
0
330
ゼロからはじめる採用広報
yutadayo
3
970
データグループにおけるフロントエンド開発
lycorptech_jp
PRO
1
110
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Into the Great Unknown - MozCon
thekraken
40
1.9k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
How to train your dragon (web standard)
notwaldorf
96
6.1k
Statistics for Hackers
jakevdp
799
220k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
Agile that works and the tools we love
rasmusluckow
329
21k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
It's Worth the Effort
3n
185
28k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Transcript
Amazon RDS 株式会社リクルート クラウドアーキテクトグループ
Amazon RDSとはなにか • AWSが提供するリレーショナルデータベースのマネージドサービスです • トランザクションが必要とされるサービスで主に利⽤します。 2 Region VPC Private
subnet Public subnet この部分を提供
Amazon RDSのメリット • 構築・運⽤・拡張が容易なリレーショナルデータベース(RDB)の提供 1. 構築 • GUIやAPI(APIに基づくCLIやSDK)から容易にデータベースを構築可能 2. 運⽤
• ⾃動バックアップなど様々な運⽤⽀援機能の提供 • AWSマネージドなレイヤの提供による各種作業の削減 3. 拡張 • インスタンスサイズの変更や、リードレプリカの提供の容易化などによる性能⾯での拡張の容易化 3 GUIを使ったデータベースの構築 AWSマネージドなレイヤの提供による各種作業の削減 C C ( 2 C / ) ( ! B E D E D C C ( 2 C / ) ( ! B E D E D C C ( 2 C / ) ( ! B E D E D
Amazon RDS利⽤上の注意点 マネージドサービスなので必ずしも全ての要件に対応できるわけではない。 要件によってはon EC2を検討する必要がある (基本的にはシステムを作る際にはDB on EC2を避けられるようアーキテクチャを設計したい) • 提供しているソフトウェアバージョンに制限が存在
• 新しいバージョン、古いバージョンのものは提供されていない事がある • OSへのログインやファイルシステムへのアクセスはできない • その他、DBのソフトウェア毎に細々とした制限が存在 • e.g. DBのrootユーザアクセスができないなど 5
Amazon RDSで提供している主要なデータベース・ソフトウェア • OSSリレーショナルデータベース • 商⽤リレーショナルデータベース • AWS独⾃のリレーショナルデータベース 6 Aurora
with MySQL Compatibility Aurora with PostgreSQL Compatibility
Amazon RDSで提供している主要なデータベース・ソフトウェア • OSSリレーショナルデータベース • 商⽤リレーショナルデータベース • AWS独⾃のリレーショナルデータベース 7 Aurora
with MySQL Compatibility Aurora with PostgreSQL Compatibility 個別のデータベースソフトウェアの機能については説明せず、 RDSの中で提供されている各種機能について解説します
RDSで提供されている各種機能について RDSで提供されている各種機能は基本的にアプリケーションの機能を提供するもの ではなく、システム全体としての⾮機能を向上させるための機能が⼤多数です 以降は、下記内容について解説します。 1. ⾼可⽤性を実現するための仕組み 2. ⾼性能を実現するための仕組み 3. ⾼い運⽤性を実現するための仕組み
4. ⾼いセキュリティを実現するための仕組み 8
⾼可⽤性を実現するための仕組み • マルチAZ配置 • 複数のAZにインスタンスを配置し、 AZ障害やインスタンス障害時に即座に切り替えができるようになる 9
マルチAZ配置の仕組み 10 Region Availability Zone1 Availability Zone2 Availability Zone3 プライマリ
インスタンス スタンバイ インスタンス スタンバイ インスタンス 同期レプリケーション RDSではプライマリインスタンスから各AZに準備されたスタンバイインスタンス*1にレプリケーションを⾏います。 インスタンスやAZ障害時はスタンバイインスタンスがプライマリインスタンスに昇格して処理を継続します。 *1 AWS利⽤者からは不可視なインスタンスです。 Region Availability Zone1 Availability Zone2 Availability Zone3 プライマリインスタンス リードレプリカ リードレプリカ RDS Auroraではプライマリインスタンス障害やAZ障害時には、リードレプリカがプライマリインスタンスに昇格して 処理を継続します。(通常のRDSとAuroraではデータのレプリケーションが異なることに起因) どちらかが昇格 どちらかが昇格
⾼性能を実現するための仕組み • スケールアップ • インスタンスのCPU・メモリ・IO性能を向上させることで性能をスケールさせる • リードレプリカの提供・リードレプリカのオートスケール • 読み込み処理をプライマリインスタンス以外にも分散することで性能をスケールさせる*1 *1ただし、⾮同期レプリケーションな点に注意。
11 Region Availability Zone1 Availability Zone2 Availability Zone3 プライマリ インスタンス リード レプリカ リード レプリカ ⾮同期レプリケーション 書込処理 /同期読込が必要な処理 読込処理 特定の条件をトリガーに してリードレプリカの数 を増減させることも可能
⾼い運⽤性を実現するための仕組み • ⾃動バックアップと容易なリカバリ • 毎⽇指定した時間にバックアップとしてのスナップショットを取得 • GUIベースのバックアップからのリカバリ(ポイントインタイムリカバリも可能) • バックトラックを使った⾼速な巻き戻し •
オペレーションミスなどに伴うデータ破損を瞬時に復旧 • メンテナンスウィンドウを使った⾃動メンテナンス • DBソフトウェアのパッチ適⽤やバージョンアップの⾃動実⾏ (任意のタイミングで⼿動でトリガーすることも可能) • CloudWatch連携 • CloudWatchへのメトリクス・ログの連携によるモニタリング環境構築の容易化 12
⾼いセキュリティを実現するための仕組み • VPC対応 • VPCの仕組みをもちいたネットワークアクセス制御を実現できる • インスタンス暗号化 • インスタンス内のデータやバックアップの透過的暗号化の容易な実現 他にも多くの仕組みあり
13
RDSのまとめ • マネージドサービスなので⼀部の作業はAWSにアウトソースすることができま す。ただしマネージドになった分、制限は多少存在します。 • 構築や運⽤を容易化するための様々な⽀援機能が提供されています。 • それ以外は通常のリレーショナルデータベースと同じくDDL, DMLを使った操作 が可能です。
14
[補⾜] Auroraについて よく知られている商⽤・OSSのデータベースとは別にAWSではAuroraと呼ばれる リレーショナルデータベースが提供されています。 Auroraは 1. MySQLまたはPostgreSQLとの互換性をもつ 2. クラウド環境に即したアーキテクチャ を持つリレーショナルデータベースです。
リクルート内でもAWSでシステム構築時に利⽤する機会が多いので、 通常のRDSとの違いを中⼼に解説します。 15 アーキテクチャなどについては、過去のAWS re:Inventの動画などを参照してください。 https://www.youtube.com/watch?v=GwEtiRZR4g4 や https://www.youtube.com/watch?v=Ul-j5fKfv2k
AuroraとRDSの注意すべき違い Auroraにおける • パラメータが2種類存在します • DBクラスタパラメータグループ • 単⼀のAuroraクラスタ全体に適⽤されるパラメータ • DBパラメータグループ
• Auroraクラスタを構成する個々のインスタンスに適⽤されるパラメータ • 動的なストレージ確保 • 通常のRDSではストレージのサイズを指定する形になっているが、Auroraの場合はストレージのサイズ は実際の使⽤量に応じて動的に変更*1されます *1 MySQL互換かPostgreSQL互換かによってストレージのリサイズの条件(特にストレージボリューム縮⼩)は異なるので注意が必要です RDSでストレージを縮⼩したい場合は https://aws.amazon.com/jp/premiumsupport/knowledge-center/rds-db-storage-size/ を参照 • DBアクセスのためのエンドポイントの取扱 • 読み書き両⽅が可能なクラスターエンドポイントと、リードレプリカへのアクセスのための 読み取りエンドポイントの2種類がデフォルトで存在 参考)https://dev.classmethod.jp/articles/readreplica-ha-route53/ 16