> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ale.run/llms.txt
> Use this file to discover all available pages before exploring further.

# データベース

> エールでデータベースをデプロイし、デプロイされたDBと**他のサービスとの通信**およびDB管理ツールとの**TCP接続**について説明します。

<Info>
  PostgreSQL、MariaDB、Redisなどの DBを基本アプリケーションとして提供しています。基本アプリケーション以外のDBを使用する場合は、[プラグインのインストール](/ja/plugins)または[プラグインの開発](/ja/plugins)で直接追加することができます。
</Info>

<Warning>
  デプロイしたデータベースを停止または再デプロイした場合でもデータは保持されますが、**データベースサービスを削除するとデータも永続的に削除されます。**
</Warning>

***

## データベースのデプロイ

<Frame>
  <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ja/07_01.png" />
</Frame>

> ダッシュボードの <Icon icon="circle-plus" iconType="solid" size={15} color="2396F1" /> または `⌘ + K` でデプロイモーダルを開きます。次に、デプロイするデータベースを選択し、各設定フィールドに必要な値を入力してください。

<AccordionGroup>
  <Accordion title="基本設定">
    <Frame>
      <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ja/07_02.png" />
    </Frame>

    > バージョン、Root Passwordなどの設定値を指定できます。

    <Info>
      サービスごとに表示される**基本設定フィールド**は異なります。使用目的に応じて適切な値を入力してください。
    </Info>
  </Accordion>

  <Accordion title="詳細オプション">
    <Frame>
      <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ja/07_03.png" />
    </Frame>

    > データベース名、タイムゾーン設定など、追加の設定値を入力できます。

    <Info>
      詳細オプションはサービスによって異なりますので、使用目的に応じて適切な値を入力してください。
    </Info>
  </Accordion>

  <Accordion title="リソース設定とデプロイ">
    <Frame>
      <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ja/07_04.png" />
    </Frame>

    * **リソースタイプ**：[オンデマンドとスポットリソース](/ja/developers/resource#on-demand-spot)から選択

    * **CPU**：サービスで利用可能なvCPUの上限を設定。最小構成時は0.1 vCPUを割り当て

    * **メモリ**：サービスで利用可能なメモリの上限を設定

    * **ディスク**：データベースが使用するディスク容量を設定

    * **デプロイ**：`デプロイ`をクリック
  </Accordion>
</AccordionGroup>

<Info>
  リソース制限によりデプロイできない場合は、[スペースとリソースの管理ページ](/ja/operations/spaces#%E3%83%AA%E3%82%BD%E3%83%BC%E3%82%B9%E3%81%AE%E4%BB%98%E4%B8%8E)を参照してスペースにリソースを追加してください。
</Info>

<Tip>
  Rootパスワードの未設定時、自動生成されたパスワードは[設定タブのシークレットセクション](/ja/developers/database#root-password%E3%81%AE%E7%A2%BA%E8%AA%8D)で確認できます。
</Tip>

## 他のサービスとの通信

<Frame>
  <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ja/07_06.png" />
</Frame>

> 他のサービスと通信するための**接続情報（ホスト名：ポート番号）は、サービスページのリソースタブで確認**できます。

### 同一環境内のサービス

<Frame>
  <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ja/07_05.png" />
</Frame>

> 同じ環境内のサービス間では、サービス名とポートを使用してアクセスできます。

<Info>
  同じ画面内のサービスは同じ環境に属し、環境ごとに独立したネットワークで構成されているため、ファイアウォール設定は不要で、通信レイテンシーも最小限に抑えられます。
</Info>

<Tip>
  エールの作業単位である［スペース、プロジェクト、環境、サービス］についての詳細は、[環境管理ページ](/ja/developers/environment)をご参照ください。
</Tip>

### 他の環境または外部サービス

<Frame>
  <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ja/07_07.png" />
</Frame>

> サービスページリソースタブのイングレスアドレス（ホスト名：ポート番号）を使用して、他の環境または外部のサービスと通信できます。この場合、TCP外部接続の許可が必要です。

<AccordionGroup>
  <Accordion title="TCP外部接続許可" defaultOpen={true}>
    <Frame>
      <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ja/03_11.png" />
    </Frame>

    > 接続しようとしているデータベースが属する環境の設定タブで、TCP外部アクセスを許可することができます。

    <Tip>
      TCP外部接続の許可設定は環境単位で可能であり、設定した環境内のすべてのサービスに適用されます。サービス単位での個別設定はできません。
    </Tip>
  </Accordion>
</AccordionGroup>

### DB管理ツール

> [イングレスアドレス](/ja/developers/database#%E4%BB%96%E3%81%AE%E7%92%B0%E5%A2%83%E3%81%BE%E3%81%9F%E3%81%AF%E5%A4%96%E9%83%A8%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9)を使用して、ローカルコンピュータの管理ツールからデータベースにTCP接続できます。

<AccordionGroup>
  <Accordion title="MariaDB - MySQL Workbench">
    <Frame>
      <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ja/07_08.png" />
    </Frame>

    > 接続情報を入力した後、デプロイ時に設定したRoot Passwordを入力します。

    <Info>
      [MySQL Workbench Download](https://dev.mysql.com/downloads/workbench/)
    </Info>
  </Accordion>

  <Accordion title="PostgreSQL - pgAdmin">
    <Frame>
      <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ja/07_10.png" />
    </Frame>

    > Connectionタブで接続情報とデプロイ時に設定したUsername（デフォルト値**root**）、Root Passwordを入力してください。

    <Info>
      [pgAdmin Download](https://www.pgadmin.org/download/)
    </Info>
  </Accordion>

  <Accordion title="MongoDB - MongoDB Compass">
    <Frame>
      <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ja/07_11.png" />
    </Frame>

    > `New Connection`ボタンをクリックし、**Advanced Connection Options**下部のGeneralタブで**ポート番号を含むホスト名**をHostフィールドに入力してください。

    <Frame>
      <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ja/07_12.png" />
    </Frame>

    > Authenticationタブでデプロイ時に設定したUsername（デフォルト値**admin**）、Root Passwordを入力してください。

    <Info>
      [MongoDB Compass Download](https://www.mongodb.com/try/download/compass)
    </Info>
  </Accordion>

  <Accordion title="Redis - Redis Insight">
    <Frame>
      <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ja/07_13.png" />
    </Frame>

    > `Add Redis Database`ボタンをクリックし、接続情報を入力してください。

    <Info>
      [Redis Insight Download](https://redis.io/insight/)
    </Info>
  </Accordion>
</AccordionGroup>

<Tip>
  管理ツールからデータベースにTCP接続する場合は、[TCP外部接続を許可](/ja/developers/database#tcp)してください。
</Tip>

## データベースの管理

### リソースの設定変更

<Frame>
  <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ja/07_14.png" />
</Frame>

> サービスページの設定タブのデプロイ設定セクションで、ディスク、CPUなどのリソースを変更し、`デプロイ`ボタンで再デプロイすると、変更したリソースが適用されます。

<Tip>
  再デプロイ時に既存のデータは保持されます。
</Tip>

### Root Passwordの確認

<Frame>
  <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ja/07_16.png" />
</Frame>

> 設定タブの**シークレット**セクションで、データベースデプロイ時に設定したRoot Passwordを確認できます。

### データベースの削除

<Frame>
  <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ja/07_15.png" />
</Frame>

> サービスページ設定タブ下部の`サービスを削除`でデータベースを削除できます。

<Warning>
  データベースを削除すると、ディスクに保存されたデータは永続的に削除されます。
</Warning>
