【ITニュース解説】How to Configure BigAnimal
2025年09月24日に「Dev.to」が公開したITニュース「How to Configure BigAnimal」について初心者にもわかりやすく解説しています。
ITニュース概要
BigAnimalはPostgreSQLのクラウドサービス。本記事は、その設定手順を初心者向けに解説する。アカウント登録後、クラウドを選びクラスターを作成。ネットワーク、セキュリティ、高可用性、バックアップ、監視まで、主要な設定項目が理解できる。
ITニュース解説
BigAnimalは、PostgreSQLという広く使われているデータベースを、クラウド上で簡単に構築・運用できるようにするサービスである。このサービスを利用することで、ユーザーはサーバーの準備やデータベースソフトウェアのインストールといった複雑な作業を自分でしなくても、すぐにPostgreSQLデータベース環境を利用開始できる。この解説では、BigAnimalを使ってPostgreSQLデータベースの環境、専門的には「クラスタ」と呼ばれるものを構築する際に行う設定の手順と、それぞれの設定が持つ意味について、システムエンジニアを目指す初心者の皆さんにも分かりやすく説明する。
まず、BigAnimalのサービスを利用するには、専用のウェブサイトBigAnimal.comにアクセスし、アカウントを新規作成するか、既に持っているEDB(EnterpriseDB)の認証情報を使ってログインする必要がある。EDBはPostgreSQLをベースとしたエンタープライズ向けのデータベースソリューションを提供している企業だ。アカウント作成後には、オプションとして自身のAWS(Amazon Web Services)またはAzure(Microsoft Azure)のクラウドサブスクリプションを連携させることが可能だ。これは、もしデータベースクラスタをBigAnimalの管理下ではなく、ユーザー自身のAWSやAzureアカウント内で直接稼働させたい場合に選択する項目である。自分のアカウント内で稼働させることで、リソースの管理をより詳細に行えたり、既存のクラウド環境との統合が容易になったりするメリットがある。
次に、データベースの「クラスタ」を作成する作業に入る。クラスタとは、単一のデータベースだけでなく、それを構成する複数のサーバーや、安定稼働を支える関連する仕組み全体を指す言葉である。データベースを安定稼働させ、かつ高速に利用するためには、一台のコンピュータだけでなく、複数のコンピュータが連携して働くクラスタという構成が一般的に採用される。クラスタを作成する際には、いくつかの重要な選択と設定を行う。
最初に、クラスタを稼働させるクラウドプロバイダーとして、AWSかAzureのいずれかを選択する。これは、どのクラウドサービス基盤上にデータベース環境を構築するかを決めるということだ。 次に、「デプロイメントタイプ」を選択する。この項目は、データベースクラスタの管理方法に関わる。「EDBアカウント」を選択すると、BigAnimalがクラスタの管理やメンテナンスを全て担当する、いわゆる「フルマネージド」な形態で利用できるため、運用管理の手間を大幅に削減できる。一方、「自分のアカウント」を選択すると、クラスタはユーザー自身のAWSやAzureアカウント内に作成され、利用するリソースの料金も直接ユーザーのクラウド請求に反映されるため、より細かなリソース管理やコストコントロールが可能になる。
さらに、「Postgres Type」を選択する。これは、利用するPostgreSQLの種類を決める。「PostgreSQL」は、標準的なオープンソース版のPostgreSQLデータベースである。これに対し、「EPAS(EDB Postgres Advanced Server)」は、PostgreSQLをベースに、Oracleデータベースとの互換性機能や高度なセキュリティ機能など、エンタープライズ向けの追加機能が組み込まれたバージョンだ。利用目的やシステムに求められる機能に応じて、適切なタイプを選択する必要がある。 その後、「インスタンスサイズ」を選ぶ。これは、データベースサーバー一台あたりの性能を設定するもので、具体的には仮想CPU(vCPU)の数やメモリ(RAM)の容量を指定する。インスタンスサイズは、データベースの処理能力や同時に扱えるデータ量に直接影響するため、想定される負荷に合わせて適切なサイズを選ぶことが重要となる。 「ストレージ」では、データベースが利用するディスクの種類と容量を設定する。SSDを選択することで、高速なデータ読み書きが可能となり、データベースの応答性能が向上する。「オートスケーリング」を有効にすれば、データ量が増加した場合にストレージ容量が自動的に拡張されるため、容量不足の心配が軽減される。 最後に「ノード数」を設定する。ノードとは、クラスタを構成する個々のサーバーのことだ。開発用途であれば一台のノードでも十分な場合が多いが、本番環境のように高い可用性(システムが常に利用可能であること)が求められる場合は、3台以上のノードを設定することが強く推奨される。これは、仮に一台のサーバーに障害が発生しても、他のサーバーが処理を引き継ぎ、サービスが継続して利用できる状態を保つためである。
クラスタの基本的な構成を決めたら、次に「ネットワーキングとセキュリティ」の設定を行う。これは、データベースへのアクセス方法と、その安全性を確保するための極めて重要な設定である。 まず、データベースクラスタが稼働する仮想ネットワーク(AWSではVPC、AzureではVNet)と「リージョン」、つまり物理的にサーバーが置かれる地域を選択する。これは、ネットワークの遅延、データの保管場所に関する法規制、災害対策などを考慮して決定する項目だ。 ネットワーキングでは、「Public endpoint(パブリックエンドポイント)」と「private-only(プライベートのみ)」のいずれかを選択する。パブリックエンドポイントを選択すると、インターネット経由でデータベースにアクセスできるようになるが、プライベートのみを選択すると、指定された仮想ネットワーク内からのみアクセス可能となり、セキュリティが向上するため、通常はこちらが推奨される。 セキュリティ設定では、「IP allowlist(IP許可リスト)」または「VPC peering(VPCピアリング)」を設定する。IP許可リストは、特定のIPアドレスを持つコンピューターからのみデータベースへのアクセスを許可する機能で、不正なアクセスを防ぐために非常に効果的である。VPCピアリングは、異なるVPC(仮想ネットワーク)間を安全に接続し、プライベートなネットワーク経由でデータベースにアクセスできるようにする技術だ。 認証については、PostgreSQLが提供する通常のユーザー名とパスワードによる認証だけでなく、オプションでSSO(Single Sign-On:シングルサインオン)との統合も可能である。SSOを利用することで、他のシステムとの認証連携が容易になり、ユーザー管理の効率化に繋がる。
最後に、「Advanced Configuration(高度な設定)」を行う。これにより、データベースの可用性や運用の柔軟性をさらに高めることができる。 「高可用性(High Availability:HA)」の設定では、データベースのレプリケーション(データの複製)方式を選択する。レプリケーションとは、データを複数のノードに複製することで、一部のノードに障害が発生してもサービスを継続できるようにする仕組みだ。「Synchronous replication(同期レプリケーション)」は、データが全ての複製先に書き込まれたことを確認してから処理を完了するため、データの整合性が非常に強く、データが失われるリスクが極めて低い。しかし、その分、処理の完了に時間がかかり、パフォーマンスに影響が出る可能性がある。一方、「Async replication(非同期レプリケーション)」は、データの書き込みが完了したと同時に処理を進めるため、パフォーマンスは高いが、ごく稀にデータの一部が失われる可能性がゼロではない。どちらを選択するかは、データの重要性やシステムに求められる性能要件によって異なる。 「Backups(バックアップ)」は、データ保護のための最も重要な機能である。BigAnimalでは、自動バックアップがデフォルトで有効になっていることが多い。さらに、「PITR(Point-in-Time Recovery)」の設定を行う。これは、WAL(Write-Ahead Log)というデータベースの変更履歴を継続的にアーカイブすることで、データベースを過去の任意の時点に復元できるようにする機能だ。これにより、誤ったデータ操作やシステム障害が発生した場合でも、特定の時点までデータを巻き戻して復旧できるため、データの安全性が格段に高まる。 「Monitoring(監視)」では、「metrics export(メトリクスエクスポート)」を有効にする。これは、データベースの稼働状況(CPU使用率、メモリ使用量、ディスクI/Oなど)に関するデータを外部の監視ツール(PrometheusやGrafanaなど)に送信できるようにする設定である。これらのデータを可視化・分析することで、システムの異常を早期に検知し、適切な対策を講じることが可能となり、データベースの安定稼働に貢献する。
このように、BigAnimalでPostgreSQLクラスタを設定する際には、クラウドプロバイダーの選択から始まり、デプロイメントタイプ、Postgresの種類、サーバーの性能、ネットワーク設定、セキュリティ対策、さらには高可用性やバックアップ、監視といった高度な運用設定まで、多岐にわたる項目を慎重に決めていくことになる。これらの設定一つ一つが、構築するデータベースの性能、可用性、セキュリティ、そして運用のしやすさに直接影響するため、それぞれの意味を理解し、目的と要件に合わせて適切に選択することが、安定したデータベースシステムを構築するための鍵となる。