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

extend-nosql-database

Last updated on September 15, 2026

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

注記

AGS CLI は AGS 向けの統一コマンドラインツールであり、Extend と AMS のツールも含まれるようになりました。このページの手順は現在も有効です。統合ツールの詳細は AGS CLI のドキュメント を参照してください。

概要​

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_HOST、DOCDB_DATABASE_NAME、DOCDB_USERNAME、DOCDB_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_HOST、DOCDB_USERNAME、DOCDB_PASSWORD、DOCDB_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との互換性のため、SetRetryWritesはfalseに設定する必要があります。

    important

    クラスターではデフォルトでTLSが有効になっています。オプションtlsはtrueに設定する必要があります。 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オブザーバビリティダッシュボード