リモート環境への安全な接続
Secure Shell (SSH)は、リモートサーバーおよびシステムに安全にログインするために使用される共通プロトコルです。 SSH を使用してリモート環境にアクセスし、Adobe Commerce アプリケーションを管理してリモート環境ログにアクセスできます。 Adobeでは、SSH 公開鍵を使用したセキュア FTP (sFTP)接続のみをサポートしています。 FTP 接続はサポートされていません。
SSH キーペアの生成
プロジェクトのソースコードと環境にアクセスする必要があるすべてのマシンとワークスペースに、SSH キーペアを作成します。 SSH キーを使用すると、GitHub に接続してソースコードを管理したり、クラウドサーバーに接続したりできます。ユーザー名やパスワードを常に指定する必要はありません。 SSH キーペアの作成について詳しくは、SSH を使用した GitHub への接続を参照してください。
- 公開鍵 は、サイト、SSH および sFTP へのアクセスに安全に使用できます。
- 秘密鍵 は、ワークステーションでは非公開のままです。
SSH 公開鍵をアカウントに追加
クラウドインフラストラクチャアカウント上のAdobe Commerceに SSH 公開鍵を追加した後、アカウント上のすべてのアクティブな環境を再デプロイして鍵をインストールします。
Cloud CLI または Cloud Console のいずれかの方法を使用して、アカウントに SSH キーを追加できます。
Cloud CLI を使用して SSH キーを追加する
-
ローカルワークステーションで、をプロジェクトディレクトリに変更します。
-
プロジェクトへのログイン
code language-bash magento-cloud login
-
公開鍵を追加します。
code language-bash magento-cloud ssh-key:add ~/.ssh/id_rsa.pub
note tip |
---|
TIP |
Cloud CLI コマンド ssh-key:list および ssh-key:delete を使用して、SSH キーの一覧表示および削除を行うことができます。 |
Cloud Console を使用して SSH キーを追加する
新規プロジェクトに SSH キーを追加するには:
-
Cloud Console にログインします。
-
「No SSH key」をクリックします。 このアイコンはコマンドフィールドの右側にあり、プロジェクトに SSH キーが含まれていない場合に表示されます。
-
SSH 公開鍵の内容をコピーして「公開鍵」フィールドに貼り付けます。
-
残りのプロンプトに従います。
クラウドプロファイルに SSH キーを追加するには:
-
Cloud Console にログインします。
-
右上のアカウントメニューで、「マイプロファイル」をクリックします。
-
SSH キー ビューで、「公開鍵を追加」をクリックします。
-
SSH キーを追加 フォームで、キーに タイトル を入力し、「キー」フィールドに SSH 公開鍵を貼り付けます。
-
保存 をクリックします。
リモート環境への接続
magento-cloud
CLI または SSH コマンドを使用して、リモート環境に接続できます。 magento-cloud
の CLI コマンドは、Starter および Pro 統合環境でのみ使用できます。
Cloud CLI の使用
リモート統合環境にログインするには:
-
ローカルワークステーションで、をプロジェクトディレクトリに変更します。
-
そのプロジェクト内の環境をリストします。
code language-bash magento-cloud environment:list -p <project-ID>
-
SSH を使用してリモート環境にログインします。
code language-bash magento-cloud ssh -p <project-ID> -e <environment-ID>
SSH コマンドの使用
この Cloud Console には、各環境の Web および SSH アクセス・コマンドのリストが含まれています。
SSH コマンドをコピーするには:
-
Cloud Console にログインします。
-
すべてのプロジェクト リストからプロジェクトを選択します。
-
環境を選択します。
-
「SSH」をクリックします。
-
「SSH」タブで、「コピー」ボタンをクリックして、SSH コマンド全体をクリップボードにコピーします。
-
ターミナルを開き、SSH コマンドを貼り付けて接続を作成します。
code language-bash ssh abcdefg123abc-branch-a12b34c--mymagento@ssh.us-2.magento.cloud
code language-bash |
---|
|
sFTP
クラウドインフラストラクチャー上のAdobe Commerceでは、SSH 認証を使用した sFTP (セキュア FTP)を使用した環境へのアクセスをサポートしています。 sFTP 用の SSH キー認証をサポートするクライアントを使用し、SSH 公開キーを使用します。 SSH 公開鍵をターゲット環境に追加する必要があります。 スターター環境および Pro 統合環境の場合は、 を使用して追加 Cloud Console できます。
読み取り専用の sFTP 接続はサポートされていま ん。sFTP アクセスは、デフォルトで 書き込み 権限で提供されます。
sFTP の設定時には、SSH アクセス環境のコマンドから次の情報を使用します:<project-id>-<environment-id>--<app-name>@ssh<cloud-host>
- ユーザー名:SSH アクセス先にある
@
より前のすべてのコンテンツ。 - パスワード:sFTP のパスワードは必要ありません。 sFTP アクセスでは、SSH キー認証を使用します。
- ホスト:SSH アクセス権での
@
以降のすべてのコンテンツ。 - ポート:22 (デフォルトの SSH ポート)。
- SSH 秘密鍵:必要に応じて、秘密鍵の場所を sFTP クライアントに指定します。 デフォルトでは、秘密鍵は
~/.ssh
ディレクトリに保存されます。
クライアントによっては、sFTP の SSH 認証を完了するために、追加のオプションが必要になる場合があります。 選択したクライアントのドキュメントを確認します。
スターター環境と Pro 統合環境 の場合は、 特定のディレクトリにアクセスするための mount
ールを追加する」ことも検討してください。 .magento.app.yaml
ファイルにマウントを追加します。 書き込み可能なディレクトリのリストについては、 プロジェクト構造を参照してください。 このマウントポイントは、これらの環境でのみ機能します。
Pro ステージング環境および実稼動環境 の場合、環境に SSH アクセスできない場合は、Adobe Commerce サポートチケットを送信して、sFTP アクセスおよび特定のフォルダー(pub/media
など)にアクセスするためのマウントポイントをリクエストする必要があります。
SSH トンネリング
SSH トンネリングを使用すると、ローカル開発環境からサービスに対して、サービスがローカルであるかのように接続できます。 トンネリングを行う前に、SSH を設定します。
ターミナルアプリケーションを使用してログインし、コマンドを発行します。
magento-cloud login
を使用してトンネルが開いているかどうかを確認します。
magento-cloud tunnel:list
トンネルを構築するには、 アプリケーション名を知っている必要があります。 アプリケーション名は、CLI を使用して確認できます。
magento-cloud apps
SSH トンネルのセットアップ
magento-cloud tunnel:open -e <environment-ID> --app <app-name>
たとえば、mymagento
という名前のアプリケーションを使用して、プロジェクトの sprint5
ブランチへのトンネルを開くには、次のように入力します
magento-cloud tunnel:open -e sprint5 --app mymagento
応答の例:
SSH tunnel opened on port 30004 to relationship: redis
SSH tunnel opened on port 30005 to relationship: database
Logs are written to: /home/magento_user/.magento/tunnels.log
List tunnels with: magento-cloud tunnels
View tunnel details with: magento-cloud tunnel:info
Close tunnels with: magento-cloud tunnel:close
トンネルに関する情報を表示するには:
magento-cloud tunnel:info -e <environment-ID>
サービスへの接続
SSH トンネルを確立すると、ローカルで実行されているかのようにサービスに接続できます。 例えば、データベースに接続するには、次のコマンドを使用します。
mysql --host=127.0.0.1 --user='<database-username>' --pass='<user-password>' --database='<name>' --port='<port>'