> ## 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.

# 環境

> 環境ごとに分離されたネットワークが構成され、以下の設定や管理が可能です。

<AccordionGroup>
  <Accordion title="サービス名をホスト名として参照し通信">
    <Frame>
      <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ja/07_05.png" />
    </Frame>

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

    <Tip>
      詳細については、[サービス間通信ページ](/ja/developers/connect)をご参照ください。
    </Tip>
  </Accordion>

  <Accordion title="Dev、QA、Staging、Prodなどの多環境の管理">
    <Frame>
      <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ja/04_03.png" />
    </Frame>

    > 業務で使用される1つまたは複数の環境（Dev、QA、Staging、Prodなど）を1つのプロジェクトで管理できます。
  </Accordion>

  <Accordion title="YAMLファイルのドラッグ＆ドロップ方式による簡単な環境の複製">
    <video autoPlay muted loop playsInline className="w-full aspect-video" src="https://storage.googleapis.com/files.cloudtype.io/ale-docs/developers/images/ja/clone_jp.mp4" />

    > 現在の環境で実行中のすべてのサービスのデプロイ設定が含まれたYAMLファイルをダウンロードし、新しい環境でドラッグ＆ドロップ方式で適用できます。

    <Tip>
      詳細については、[環境の複製ページ](/ja/developers/replication)をご参照ください。
    </Tip>
  </Accordion>

  <Accordion title="シークレット管理">
    <video autoPlay muted loop playsInline className="w-full aspect-video" src="https://storage.googleapis.com/files.cloudtype.io/ale-docs/developers/images/ja/secret_jp.mp4" />

    > 設定タブのシークレットセクションに共通変数およびシークレットを保存し、選択した環境のサービスで活用できます。
  </Accordion>

  <Accordion title="ファイアウォール設定">
    <Frame>
      <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ja/03_11.png" />
    </Frame>

    > 他の環境、プロジェクトまたは他のサービスなど、環境外部からリモートでアクセスできるようにTCP外部アクセスを許可できます。設定タブのファイアウォールセクションでこの設定を有効にすると、すべてのIPへのアクセスが許可されるため、注意が必要です。
  </Accordion>
</AccordionGroup>

<Note>
  環境はKubernetesクラスター上のNamespaceに相当します。
</Note>

<Info>
  エールのスペース、プロジェクト、環境、サービスなどの全体構造は、以下をご参照ください。
</Info>

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

<br />

<AccordionGroup>
  <Accordion title="スペース">
    > スペースは、運用システムでリソースを割り当てられる最上位の作業単位です。スペースの所有者は、[チームメンバーを招待し](/ja/developers/space#%E3%83%81%E3%83%BC%E3%83%A0%E3%83%A1%E3%83%B3%E3%83%90%E3%83%BC%E3%81%AE%E7%AE%A1%E7%90%86)、割り当てられたリソースを複数のプロジェクトに分けて使用できます。
  </Accordion>

  <Accordion title="プロジェクト">
    > プロジェクトは、環境の集合として使用される表示名です。これは、ダッシュボードユーザーが管理しやすくするための名称であり、1つまたは複数の環境（Dev、QA、Staging、Prodなど）を1つのプロジェクトで管理できます。
  </Accordion>

  <Accordion title="環境">
    > 環境はKubernetesクラスター上のNamespaceに相当します。Namespaceごとに分離されたネットワークが構成され、[同一環境（Namespace）内のサービス間では、サービス名をホスト名として参照し通信できます。](/ja/developers/connect#%E5%86%85%E9%83%A8%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E9%96%93%E9%80%9A%E4%BF%A1)よく使用する環境変数の値は環境単位で[シークレットとして保存し、管理および適用できます。](/ja/developers/env)
  </Accordion>

  <Accordion title="サービス">
    > サービスはDeploymentに相当します。サービスごとに[ターミナルによるアクセス](/ja/developers/log)が可能で、[カスタムドメインを接続](/ja/developers/domain)できます。サービスのデプロイ方法については、[エールでデプロイページ](/ja/developers/deploy)をご参照ください。
  </Accordion>
</AccordionGroup>

***

## 環境の作成

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

> プロジェクト作成時に`main`という名前の環境が同時に作成されます。

<Info>
  プロジェクトに属さない環境を単独で作成することはできません。プロジェクトは**環境(Namespace)の集まり**として使用される**表示名**であり、ユーザーの管理の利便性のための名称です。
</Info>

## 環境の情報

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

> 上部は選択された環境が属するプロジェクト名、リソース情報と環境セレクターで構成されています。下部の情報タブで環境内のサービスの照会と管理ができます。

<AccordionGroup>
  <Accordion title="サービス">
    <Frame>
      <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ja/03_04.png" />
    </Frame>

    > 稼働中のサービスをカード形式で照会・管理でき、サービスカードのボタンでウェブアクセス、ログ照会、およびターミナルアクセスなどが実行できます。

    * **開始( <Icon icon="play" size={15} color="000" /> ) / 停止( <Icon icon="stop" size={15} color="000" /> )** : サービスの開始と停止

    * **ログ/ターミナル( <Icon icon="terminal" size={15} color="000" /> )** : 実行ログ、デプロイログの照会またはターミナルアクセス

    * **リポジトリ( <Icon icon="github" size={15} color="000" /> )** : ソースコードリポジトリへのアクセス

    * **アクセス** : 割り当てられたドメインを通じたサービスアクセス（ウェブサービス）

    * **リンクコピー** : TCP接続用のホストおよびポート番号のコピー（データベース）

    * **ユーザープロフィール** : 該当サービスをデプロイしたユーザーの照会

    * **スポット** : [スポットリソース](/ja/developers/resource#on-demand-spot)でデプロイされたサービスであることを表示

    * **<Icon icon="plus" size={15} color="9fa3a5" />** : 新しいサービスをデプロイできるモーダルを開く

    * **サービスステータス** : デプロイ中、ビルド中、実行中などのサービスの状態表示
  </Accordion>

  <Accordion title="イベント">
    <Frame>
      <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ja/03_07.png" />
    </Frame>

    > サービスによってKubernetesクラスターで発生したイベントを照会できます。

    <Info>
      時間経過によりイベントが表示されなくなることがあります。
    </Info>
  </Accordion>

  <Accordion title="設定">
    #### 環境が属するプロジェクトの情報

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

    * **プロジェクト名** : 2文字以上20文字以下の英小文字と数字の組み合わせで設定できます。

    * **プロジェクトID** : エールシステム内部で使用されるプロジェクトの固有の値です。

    * **表示名** : ユーザーがプロジェクトを識別するために使用する名称で、英数字だけでなく日本語を含むその他の言語の文字や特殊文字も設定可能です。

    #### 環境情報

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

    * **環境名** : プロジェクトに属する環境を区別するために使用される名前です。

    * **環境ID** : エールシステム内部で使用される環境の固有の値です。

    * **クラスター** : サービスがデプロイされているクラスターの情報です。
  </Accordion>
</AccordionGroup>

## 環境の追加

### 空の環境として作成

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

> 右上の環境セレクターで新規環境の作成をクリックし、空の環境を選択します。名前とデプロイされるクラスターを決定した後、`作成`をクリックすると新しい環境が作成されます。

### 環境を複製して作成

<video autoPlay muted loop playsInline className="w-full aspect-video" src="https://storage.googleapis.com/files.cloudtype.io/ale-docs/developers/images/ja/addenv_jp.mp4" />

> サービスがデプロイされている環境を元の環境として選択すると、選択された環境のすべてのサービスが複製された新しい環境が作成されます。

<Info>
  元の環境を複製する機能で開発環境(dev)、本番環境(prod)、QA環境(qa)を簡単に構築できます。自動生成されたサービスは停止状態で、**すべて開始**機能で簡単に実行できます。
</Info>

<Tip>
  環境を複製して新しい環境を作成する際、既存の環境に保存されたシークレットは複製されません。[シークレット管理ページ](/ja/developers/environment#5)を参照してシークレットを新たに保存してください。
</Tip>

## 環境の管理

### 環境の切り替え

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

> 右上の環境セレクターをクリックすると、作成された他の環境に切り替えることができます。

<Info>
  メイン環境を除く環境には固有の色が付与されます。環境の色でデプロイまたは修正するサービスが属する環境を確認してください。
</Info>

### YAMLダウンロードと適用

<video autoPlay muted loop playsInline className="w-full aspect-video" src="https://storage.googleapis.com/files.cloudtype.io/ale-docs/developers/images/ja/clone_jp.mp4" />

> 現在の環境で実行中のすべてのサービスのデプロイ設定が含まれたYAMLファイルをダウンロードし、新しい環境でドラッグ＆ドロップ方式で適用できます。

<Info>
  YAML形式のデプロイスクリプトファイルを活用すると、簡単にプロジェクト全体を複製できます。関連するガイドは[環境の複製ページ](/ja/developers/replication)をご参照ください。
</Info>

### デフォルト環境の設定

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

> 設定タブの環境情報メニューで`デフォルト環境として設定`を押して特定の環境をデフォルト環境として設定できます。プロジェクトアクセス時にデフォルト環境にアクセスされるため、**更新が頻繁な環境をデフォルト環境として設定してください。**

### 環境の削除

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

> 設定タブ下部の`環境削除`で環境を削除できます。

<Info>
  プロジェクト内に環境が1つだけ存在する場合は`プロジェクトを削除する`として表示され、プロジェクトと共に環境も削除されます。
</Info>

## シークレット管理

<video autoPlay muted loop playsInline className="w-full aspect-video" src="https://storage.googleapis.com/files.cloudtype.io/ale-docs/developers/images/ja/secret_jp.mp4" />

> 設定タブのシークレットセクションで、右側の<Icon icon="plus" size={15} color="9fa3a5" />アイコンをクリックしてシークレットを保存し、**選択された環境のサービスで活用**できます。

<Info>
  シークレット値はドラッグ＆ドロップ方式で簡単に適用できます。サービスデプロイ時の環境変数適用に関するガイドは[シークレット管理ページ](/ja/developers/env)をご参照ください。
</Info>

<Tip>
  シークレットは環境単位で保存および共有できます。
</Tip>

## ファイアウォール設定

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

> 他の環境、プロジェクトまたは他のサービスなど、環境外部からリモートでアクセスできるようにTCP外部アクセスを許可できます。設定タブのファイアウォールセクションでこの設定を有効にすると、すべてのIPへのアクセスが許可されるため、注意が必要です。

<Info>
  プロジェクト外部のサービスまたはローカルコンピュータとの通信に関するガイドは[サービス間通信ページ](/ja/developers/connect)をご参照ください。
</Info>
