メインコンテンツまでスキップ

extend-nosql-database

Last updated on July 23, 2026

注釈:本資料はAI技術を用いて翻訳されています。

概要

Extend NoSQL Databaseを使用すると、Extend AppはデータをAmazon DocumentDB(MongoDB互換)データベースに保存できます。これは、独自のデータベースインフラストラクチャの構築・維持にともなう複雑さを解消する、マネージド型でスケーラブルなデータベースソリューションです。これにより、開発者は革新的な機能の構築に集中できます。

Extend NoSQL Databaseは、あらゆる種類のExtend Appにアタッチできます。これにより、永続的なデータストレージ機能を必要とする幅広いユースケースに対応できます。

Extend NoSQLクラスターのプロビジョニング

Extend NoSQLクラスターは、PublisherまたはStudioネームスペースレベルでプロビジョニングできます。

  1. Development Utilitiesメニューに移動し、Extend Database Integrationをクリックします。ニーズに応じてExtend NoSQL Databaseプロファイルを選択し、Create NoSQL Databaseボタンをクリックします。

    NoSQLクラスターページ

  2. クラスターがプロビジョニングされるまで数分待ちます。

    NoSQLクラスターのプロビジョニング

  3. クラスターがプロビジョニングされると、ステータスがAVAILABLEに変わります。

    NoSQLクラスターのプロビジョニング完了

  4. Extend AppをExtend NoSQL Databaseと統合するには、Setting up Extend NoSQL Database for your Extend Appセクションに進みます。

Extend NoSQLクラスターのデータベースプロファイルの更新

クラスターサイズを変更する必要がある場合は、データベースプロファイルを更新できます。この操作は、PublisherまたはStudioネームスペースレベルで実行できます。

  1. Extend Database Integrationメニューで、Editボタンをクリックします。

    NoSQLクラスターの更新

  2. ニーズに応じてExtend NoSQL Databaseプロファイルを選択し、Updateボタンをクリックします。

    NoSQLクラスターの更新プロファイル

  3. 確認ダイアログでUPDATEと入力して更新操作を確認し、Updateボタンをクリックします。

    NoSQLクラスターの更新確認

  4. クラスターが更新されるまで待ちます。

    NoSQLクラスターの更新中

  5. クラスターが更新されると、ステータスは再びAVAILABLEに戻ります。

    NoSQLクラスターの更新完了

Extend NoSQLクラスターの削除

不要になったクラスターは削除できます。削除は、ステータスがAVAILABLEの場合にのみ実行できます。この操作は、PublisherまたはStudioネームスペースレベルで実行できます。

  1. Extend Database Integrationメニューで、Delete Clusterボタンをクリックします。

    NoSQLクラスターの削除

  2. 確認ダイアログでDELETEと入力して削除を確認し、Delete Instanceボタンをクリックします。

    NoSQLクラスターの削除確認

  3. クラスターが削除されると、ページはExtend Database Integrationページに戻ります。

Extend AppでのExtend NoSQL Databaseの設定

この操作はGameネームスペースレベルで実行でき、NoSQLクラスターのステータスがAVAILABLEの場合にのみデータベースを作成できます。

  1. Extend Appの詳細画面で、NoSQL Databaseタブに切り替え、Add NoSQL Databaseボタンをクリックします。

    NoSQL Databaseタブ

  2. データベース名とパスワードを入力し、Addボタンをクリックします。

    NoSQL Database追加ポップアップ

  3. Database Summaryページの情報を確認します。

    NoSQL Databaseサマリー

    データベースのホスト、名前、ユーザー名、パスワードは、それぞれDOCDB_HOSTDOCDB_DATABASE_NAMEDOCDB_USERNAMEDOCDB_PASSWORDとして、Extend Appのシークレットと変数に自動的に追加されます。

Extend AppとExtend NoSQL Databaseの接続

  1. MongoDB v2ドライバーをExtend Appに追加します。

    次のgo getコマンドを実行して、MongoDBドライバーの最新バージョンを取得します。

    go get go.mongodb.org/mongo-driver/v2/mongo

    その後、go mod tidyコマンドを実行することを推奨します。

    go mod tidy
  2. MongoDB v2ドライバーを設定して、NoSQL Databaseに接続します。DOCDB_HOSTDOCDB_USERNAMEDOCDB_PASSWORDDOCDB_CA_CERT_FILE_PATH環境変数を使用して接続文字列を構築します。

    import (
    ...
    "go.mongodb.org/mongo-driver/v2/mongo"
    "go.mongodb.org/mongo-driver/v2/mongo/options"
    ...
    )

    ...

    docdbHost := os.Getenv("DOCDB_HOST")
    docdbUsername := os.Getenv("DOCDB_USERNAME")
    docdbPassword := os.Getenv("DOCDB_PASSWORD")
    docdbCaCertFilePath := os.Getenv("DOCDB_CA_CERT_FILE_PATH")

    connectionString := fmt.Sprintf("mongodb://%s:%s@%s/?tls=true&tlsCAFile=%s", docdbUsername, docdbPassword, docdbHost, docdbCaCertFilePath)

    client, err := mongo.Connect(options.Client().
    ApplyURI(connectionString).
    SetRetryWrites(false).
    SetMinPoolSize(5).
    SetMaxPoolSize(30))

    ...
    important

    Amazon DocumentDBとの互換性のため、SetRetryWritesfalseに設定する必要があります。

    important

    クラスターではデフォルトでTLSが有効になっています。オプションtlstrueに設定する必要があります。 TLS証明書は自動的に追加され、DOCDB_CA_CERT_FILE_PATH環境変数で公開されます。

  3. MongoDBデータベースに接続し、それを使用してドキュメントの挿入、更新、検索、削除を行います。データベース名にはDOCDB_DATABASE_NAME環境変数を使用します。

    ...

    docdbDatabaseName := os.Getenv("DOCDB_DATABASE_NAME")

    database := client.Database(docdbDatabaseName)

    ...
    ヒント

    ドキュメントの挿入、更新、検索、削除の方法については、MongoDB Go Driverチュートリアルを参照してください。

Extend TCP TunnelingによるExtend NoSQL Databaseへのアクセス

Extend Helper CLIを介したExtend TCP Tunnelingを使用して、ローカル開発環境からExtend NoSQL Databaseに接続できます。この操作は、NoSQLクラスターのステータスがAVAILABLEの場合にのみ実行できます。

  1. Extend Helper CLIが設定されていることを確認します。次に、それと共に使用するIAMクライアントに次の権限を追加します。

    • AGS Private Cloudをご利用の場合:
      • ADMIN:NAMESPACE:{namespace}:EXTEND:TUNNEL [READ]
    • AGS Public Cloudをご利用の場合:
      • Extend > TCP Tunneling (Read)
  2. NoSQL DatabaseタブからResource Name情報をコピーします。 NoSQL Databaseトンネル

  3. Extend Helper CLIを使用して、Extend NoSQL DatabaseへのExtend TCP Tunnelingを開始します。ステップ2のResource Name情報を--resource-nameオプションパラメータとして渡します。

    extend-helper-cli tunnel --resource-name <Resource Name> --namespace <namespace> --local-port <port>
    important

    システムクロックが同期していない場合、認証が失敗する可能性があります。コマンドを実行する前に、ローカル時刻が正確であることを確認してください。

    ヒント

    NoSQL DatabaseタブのTunnel Command情報から完全なコマンドをコピーすることもできます。

  4. https://truststore.pki.rds.amazonaws.com/global/global-bundle.pemからAWS DocumentDB TLS証明書をダウンロードしていることを確認してください(TLSが有効になっており、接続には証明書が必要です)。

  5. MongoDBクライアント(MongoDB Compass、Studio 3T、mongoshなど)を使用して、ステップ3で指定したローカルポートを介してExtend NoSQL Databaseに接続します。データベースの設定時に記録したデータベース名、ユーザー名、パスワードを使用します。接続文字列は次のようになります。

    mongodb://<username>:<password>@localhost:<port>/<database-name>?serverSelectionTimeoutMS=10000&tls=true&tlsCAFile=<path-to-certs-file>&tlsAllowInvalidHostnames=true
    important

    接続文字列にserverSelectionTimeoutMS=10000オプションを必ず含めてください。含めない場合、接続に問題が発生する可能性があります。それでも接続に問題がある場合は、10000より大きい値を試してください。

    オプションtlsAllowInvalidHostnames=trueは、localhost経由で接続されたTLSを許可するために使用されます。

サンプル

以下のサンプルExtend Appは、Extend NoSQL Databaseにデータを保存するExtend Service Extensionのギルドサービスです。

git clone https://github.com/AccelByte/extend-service-extension-with-mongodb-go.git

オブザーバビリティ

Grafana の可観測性ダッシュボードを通じて、NoSQLクラスターのパフォーマンスを監視できます。このダッシュボードは、CPU使用率、レイテンシ、IOPS、データベース接続数などの主要なパフォーマンス指標を表示するパネルを提供し、ボトルネックの特定とアプリケーションのデータベース使用状況の最適化を可能にします。

  1. NoSQL Databaseタブで、Database Dashboardボタンをクリックします。

    NoSQL Databaseオブザーバビリティ

  2. Grafana のサインインページが新しいタブで開きます。Sign in with Admin Portal ボタンをクリックして、AccelByteの認証情報でログインします。

    NoSQL Databaseオブザーバビリティ用のGrafanaサインインページ

  3. ログインが完了すると、ダッシュボードが表示されます。

    GrafanaのNoSQL Databaseオブザーバビリティダッシュボード