リモート環境への安全な接続
Secure Shell (SSH)は、リモートサーバーやシステムに安全にログインするために使用される一般的なプロトコルです。 SSHを使用して、リモート環境にアクセスし、Adobe Commerce アプリケーションを管理したり、リモート環境のログにアクセスしたりできます。 Adobeでは、SSH公開鍵を使用したSecure FTP (sFTP)接続のみがサポートされます。 FTP接続はサポートされていません。
SSH キーペアの生成
プロジェクトのソースコードと環境へのアクセスを必要とするすべてのマシンとワークスペースにSSH キーペアを作成します。 SSH キーを使用すると、GitHubに接続してソースコードを管理し、ユーザー名とパスワードを頻繁に入力することなくクラウドサーバーに接続できます。 SSH キーペアの作成について詳しくは、SSHを使用したGitHubへの接続を参照してください。
- 公開鍵は、サイト、SSH、およびsFTPへのアクセスに安全に提供できます。
- 秘密鍵はワークステーション上で非公開のままです。
アカウントにSSH公開鍵を追加する
Adobe Commerce on cloud infrastructure アカウントにSSH公開鍵を追加または更新した後、アカウント上のすべてのアクティブな環境🔗を再デプロイして鍵をインストールします。
アカウントにSSH キーを追加するには、Cloud CLIまたはCloud Consoleのいずれかの方法を使用します。
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 コマンドは、スターター環境と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 アクセス権がない場合は、sFTP アクセスをリクエストするためにAdobe Commerce サポートチケット を送信し、特定のフォルダーへのアクセス用のマウントポイント(例: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>'
MySQL資格情報の取得
環境変数$MAGENTO_CLOUD_RELATIONSHIPSのdatabase プロパティからMySQL ログイン資格情報を取得します。 ローカル環境またはリモート環境で情報を取得する手順については、 サービス関係を参照してください。