Amazon Web Services ブログ

Amazon RDS for Db2 の利用を開始する

IBM と AWS が協力して、AWS インフラストラクチャ上で稼働するフルマネージド型の Db2 データベースエンジンである Amazon Relational Database Service (Amazon RDS) for Db2 を提供したことをお知らせします。

IBM Db2 は、IBM が開発したエンタープライズグレードのリレーショナルデータベース管理システム (RDBMS) です。強力なデータ処理機能、強固なセキュリティー・メカニズム、スケーラビリティ、多様なデータ型のサポートなど、包括的な機能セットを備えています。Db2 は、その信頼性とパフォーマンスにより、さまざまなアプリケーションのデータを効果的に管理し、データ集約型のワークロードを処理する上で、多くの企業で定評のある選択肢です。Db2 は、IBM が1970年代から行ってきたデータストレージと構造化クエリ言語(SQL)に関する先駆的な取り組みに端を発しています。1983 年から商用化されており、当初はメインフレーム専用でしたが、後に Linux、UNIX、および Windows プラットフォーム (LUW) に移植されました。現在、Db2 はあらゆる業種の何千ものビジネスクリティカルなアプリケーションを支えています。

Amazon RDS for Db2 では、AWS マネジメントコンソールで数回クリックするか、AWS コマンドラインインターフェイス (AWS CLI) で 1 つのコマンドを入力するか、AWS SDK を使用して数行のコードを入力するだけで Db2 データベースを作成できるようになりました。インフラストラクチャの面倒な作業は AWS が行い、アプリケーションのスキーマやクエリの最適化など、より高レベルのタスクに時間を割くことができます。

Amazon RDS を初めて使用する方や、オンプレミスの Db2 のバックグラウンドをお持ちの方のために、Amazon RDS の利点を簡単にまとめてみましょう。

  • Amazon RDS は、現在オンプレミスで使用しているものと同じ Db2 データベースを提供しています。既存のアプリケーションはコードを変更せずに RDS for Db2 を利用することができます。
  • データベースはフルマネージド型のインフラストラクチャ上で稼働します。サーバーのプロビジョニング、パッケージのインストール、パッチのインストール、またはインフラストラクチャを運用可能な状態に維持する必要はありません。
  • データベースはフルマネージドです。インストール、マイナーバージョンアップグレード、毎日のバックアップ、スケーリング、高可用性は AWS が担当します。
  • インフラストラクチャは必要に応じてスケールアップおよびスケールダウンできます。データベースを停止して再起動するだけで、基盤となるハードウェアを変更して変化するパフォーマンス要件を満たすことも、最新のハードウェアを利用することもできます。
  • Amazon RDS では、高速で予測可能で一貫した I/O パフォーマンスを実現するように設計されたストレージタイプを選択できます。新しいワークロードや予測不可能なワークロードの場合は、ストレージを自動的にスケーリングするようにシステムを設定できます。
  • Amazon RDS はバックアップを自動的に実行し、数回クリックするだけで新しいデータベースに復元できます。
  • Amazon RDS は、可用性の高いアーキテクチャのデプロイに役立ちます。Amazon RDS は、異なるアベイラビリティーゾーン (アベイラビリティーゾーンは個別のデータセンターの集まり) にあるスタンバイデータベースにデータを同期的に複製します。マルチ AZ 配置で障害が検出されると、Amazon RDS は自動的にスタンバイインスタンスにフェイルオーバーし、データベースエンドポイントの DNS 名を変更せずにリクエストをルーティングします。この切り替えは、ダウンタイムが最小限に抑えられ、データ損失も発生しません。
  • Amazon RDS は AWS の安全なインフラストラクチャ上に構築されています。転送中のデータを TLS を使用して暗号化し、保存中のデータを AWS Key Management Service (AWS KMS) で管理されているキーを使用して暗号化します。これにより、FedRAMPGDPRHIPAAPCISOC など、会社または業界の規制に準拠したワークロードをデプロイできます。
  • 第三者監査人は、複数の AWS コンプライアンスプログラムの一環として Amazon RDS のセキュリティとコンプライアンスを評価します。Amazon RDS コンプライアンス検証の全リストを確認することができます。

restore や import などのネイティブの Db2 ツールや AWS Database Migration Service (AWS DMS) を使用して、既存のオンプレミスの Db2 データベースを Amazon RDS に移行できます。AWS DMS では、データベースを 1 回の操作で移行することも、継続的に移行することもできますが、その間は、お客様が移行を決めるまで、アプリケーションがソースデータベースのデータを更新し続けます。

Amazon RDS は、Amazon RDS 拡張モニタリングAmazon CloudWatch など、データベースインスタンスをモニタリングするための複数のツールをサポートしています。また、IBM Data Management ConsoleIBM DSMtop を引き続き使用することもできます。

それでは、その仕組みを見ていきましょう
私はいつも、新しいサービスを実際に動かしてみて、その仕組みを学びたいと思っています。Db2 データベースを作成し、IBM が提供する標準ツールを使用して接続してみましょう。この記事を読んでいる皆さんのほとんどは、IBM Db2 のバックグラウンドを持ち、Amazon RDS についてあまり知らないと思います。

まず、Db2 データベースを作成します。そのためには、AWS マネジメントコンソールの Amazon RDS ページに移動し、Create database を選択します。このデモでは、ほとんどのデフォルト値をそのまま使用します。ただし、ここではすべてのセクションを紹介し、検討しなければならない重要な構成ポイントについてもコメントします。

Amazon RDS が提供する複数のデータベースエンジンの中から Db2 を選択しています。

Db2 用 RDS-データベースの作成-ステップ 1ページを下にスクロールして、IBM Db2 Standard とエンジンバージョン 11.5.9 を選択します。Amazon RDS は、必要に応じてデータベースインスタンスに自動的にパッチを適用します。Amazon RDS データベースメンテナンスの詳細については、こちらをご覧ください。

Production を選択します。Amazon RDS は、高可用性と高速で一貫したパフォーマンスを実現するように調整されたデフォルト設定をデプロイします。

Db2 用 RDS-DB の作成-ステップ 2

DB2 用 RDS-データベースを作成-マルチ AZ デプロイ

Settings で、RDS インスタンスに名前を付け(これは Db2 カタログ名ではありません!)、 マスターユーザー名パスワード を選択します。

Instance configuration で、データベースを実行するノードのタイプを選択します。これにより、仮想サーバーのハードウェア特性 ( vCPU 数、メモリ量など) が定義されます。アプリケーションの要件に応じて、IBM Db2 Standard インスタンスに最大 32 個の vCPU と 128 GiB の RAM を備えたインスタンスを割り当てることができます。IBM Db2 Advanced インスタンスを選択すると、最大 128 個の vCPU と 1 TiB の RAM を備えたインスタンスを割り当てることができます。このパラメーターは費用に直接影響します。

Db2 用 RDS-データベース作成-設定

Db2 用 RDS-データベースを作成-インスタンス設定

Storage では、 Amazon Elastic Block Store (Amazon EBS) ボリュームのタイプ、サイズ、IOPS とスループットを選択します。このデモでは、デフォルトで提示されている値を受け入れます。これも費用に直接影響する一連のパラメーターです。

Db2 用 RDS-DB の作成-ステップ 4

Connectivity で、データベースをデプロイする VPC ( AWS の用語では VPC はプライベートネットワーク) を選択します。Public accessNo を選択して、データベースインスタンスに自分のプライベートネットワークからのみアクセスできるようにします。このオプションで Yes を選択すると、インターネットからRDSに直接アクセスできるようになるため注意が必要です。

VPC セキュリティグループを選択する場所でもあります。セキュリティグループは、どの IP アドレスまたはネットワークがデータベースインスタンスにアクセスでき、どの TCP ポートにアクセスできるかを定義するネットワークフィルターです。アプリケーションが Db2 データベースに接続できるように、必ず TCP 50000 が開いているセキュリティグループを選択または作成してください。

Db2 用 RDS-データベースの作成-ステップ 5

他のオプションはすべてデフォルト値のままにします。ページの一番下にある Additional configuration セクションを開くことが重要です。ここで Initial database name を指定できます。ここで Db2 データベースの名前を指定しない場合、そのインスタンスにデータベースが作成されないため、既存の Db2 データベースバックアップを復元する必要があります。

このセクションには、Amazon RDS 自動バックアップのパラメータも含まれています。時間枠とバックアップの保持期間を選択できます。

デフォルトをすべてそのまま使用して、Create database を選択します。

Db2 用 RDS-データベースの作成-ステップ 6

数分後、データベースが使用可能となります。

データベースインスタンスの Endpoint の DNS 名を選択し、同じネットワーク上で稼働している Linux マシンに接続します。IBM Web サイトからダウンロードした Db2 クライアントパッケージをインストールしたら、次のコマンドを入力してデータベースに接続します。ここでは、Amazon RDS 固有のものは何もありません。

db2 catalog TCPIP node blognode remote awsnewsblog-demo.abcdef.us-east-2.rds-preview.amazonaws.com server 50000
db2 catalog database NEWSBLOG as blogdb2 at node blognode authentication server_encrypt
db2 connect to blogdb2 user admin using MySuperPassword
Bash

接続したら、人気の Db2Tutorial Web サイトからサンプルデータセットとスクリプトをダウンロードします。作成したばかりのデータベースに対してスクリプトを実行します。

wget https://www.db2tutorial.com/wp-content/uploads/2019/06/books.zip
unzip books.zip 
db2 -stvf ./create.sql 
db2 -stvf ./data.sql 
db2 "select count(*) author_count from authors"
Bash

RDS for Db2 - result of query

ご覧のとおり、データベースの接続と使用に関しては、Amazon RDS に固有のものはありません。私は標準の Db2 ツールとスクリプトを使用しています。

注意点
Amazon RDS for Db2 では、お客様自身の Db2 ライセンスを持ち込む必要があります。Db2 インスタンスを起動する前に、IBM customer ID とサイト番号を入力する必要があります。

そのためには、カスタム DB パラメータグループを作成し、起動時にデータベースインスタンスにアタッチします。DB パラメータグループは、1 つ以上の DB インスタンスに適用されるエンジン設定値のコンテナとして機能します。Db2 パラメータグループには、IBM Db2 ライセンス固有のパラメータが 2 つあります。それは IBM Customer Number (rds.ibm_customer_id) と IBM サイト番号 (rds.ibm_site_id) です。

RDS for IBM Db2 - Parameter Group
IBM サイト番号がわからない場合は、IBM営業に連絡して、最新の資格証明(PoE)、請求書、または販売注文のコピーを入手してください。これらの書類にはすべて、サイト番号が記載されているはずです。

価格と使用可能状況
Amazon RDS for Db2 は、中国と GovCloud を除くすべての AWS リージョンでご利用いただけます。

Amazon RDS の価格はオンデマンドで、初期費用やサブスクリプションはありません。お支払いいただくのは、データベースが稼働している時間単位で、さらに、1 か月あたりにプロビジョニングされたデータベースストレージ、使用したバックアップストレージ、およびプロビジョニングした IOPS の数を加えた金額です。Amazon RDS for Db2 の料金ページには、リージョンごとの料金の詳細が記載されています。先に述べたように、Amazon RDS for Db2 ではお客様自身の Db2 ライセンスを持参する必要があります。

Amazon RDS を既にご存知であれば、アプリケーション開発者が新しいデータベースエンジンを利用できるようになったことを喜ぶでしょう。オンプレミスの世界から来ているなら、Amazon RDS が提供するシンプルさと自動化を気に入るはずです。

Amazon RDS for Db2 のドキュメントページには、さらに多くの詳細が記載されています。さあ、今すぐ Amazon RDS for Db2 で初めてのデータベースをデプロイしてください。

— seb

セバスチャン・ストルマック

Sébastien Stormacq

セブは、80年代半ばに初めてコモドール64に触れて以来、コードを書いてきました。彼は、情熱、熱意、顧客支援、好奇心、創造性を密かに融合させて、AWS クラウドの価値を引き出すようビルダーを鼓舞しています。彼の関心はソフトウェアアーキテクチャ、開発者ツール、モバイルコンピューティングです。彼に何かを売りたいなら、その商品にAPIがあることを確認してください。Twitter @sebsto で彼をフォローしてください。

翻訳はソリューションアーキテクトの山根 英彦が担当しました。原文はこちらです。