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
33
問題解決に役立つ数理工学
recruitengineers
PRO
11
2.8k
Curiosity & Persistence
recruitengineers
PRO
2
190
結果的にこうなった。から見える メカニズムのようなもの。
recruitengineers
PRO
1
400
成長実感と伸び悩みからふりかえる キャリアグラフ
recruitengineers
PRO
1
180
リクルートの オンプレ環境の未来を語る
recruitengineers
PRO
3
340
LLMのプロダクト装着と独自モデル開発
recruitengineers
PRO
1
350
新規検索基盤でマッチング精度向上に挑む! ~『ホットペッパーグルメ』の開発事例 ビジネス編
recruitengineers
PRO
3
190
新規検索基盤でマッチング精度向上に挑む! ~『ホットペッパーグルメ』の開発事例 技術編
recruitengineers
PRO
2
250
Other Decks in Technology
See All in Technology
Observability infrastructure behind the trillion-messages scale Kafka platform
lycorptech_jp
PRO
0
130
Prox Industries株式会社 会社紹介資料
proxindustries
0
170
Кто отправит outbox? Валентин Удальцов, автор канала Пых
lamodatech
0
260
Model Mondays S2E02: Model Context Protocol
nitya
0
180
VISITS_AIIoTビジネス共創ラボ登壇資料.pdf
iotcomjpadmin
0
140
Amazon S3標準/ S3 Tables/S3 Express One Zoneを使ったログ分析
shigeruoda
2
380
CI/CDとタスク共有で加速するVibe Coding
tnbe21
0
230
【TiDB GAME DAY 2025】Shadowverse: Worlds Beyond にみる TiDB 活用術
cygames
0
820
Microsoft Build 2025 技術/製品動向 for Microsoft Startup Tech Community
torumakabe
1
200
2年でここまで成長!AWSで育てたAI Slack botの軌跡
iwamot
PRO
2
140
Claude Code Actionを使ったコード品質改善の取り組み
potix2
PRO
2
1.1k
BrainPadプログラミングコンテスト記念LT会2025_社内イベント&問題解説
brainpadpr
0
150
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.3k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
GitHub's CSS Performance
jonrohan
1031
460k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.8k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
How to train your dragon (web standard)
notwaldorf
92
6.1k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
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