質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.32%
コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

3回答

269閲覧

EC2インスタンス間でファイル転送を行いたい

pomi8915

総合スコア1

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2025/03/14 10:14

実現したいこと

EC2インスタンス間でファイル転送を行いたい

発生している問題・分からないこと

2つ作成したEC2のインスタンス間でファイル転送を行いたい。
調べるとscpコマンドが一般的そうだが、必要な設定や実行内容等が調べても良くわからなかった為教えていただきたいです。もし有識者の方いらっしゃれば。
必要な情報等あればコメントください。

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

ローカル環境とEC2でのファイルコピーの参考サイトは複数見つかったが、
EC2インスタンス間でのファイルコピーは参考サイトが見つからずの状態です。

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2025/03/14 13:37

それぞれのEC2の用途と、コピーしたいファイルの種類・用途はどのようなものでしょうか。 (状況によっては、「EC2に置く」以外の手段のほうが合理的かもしれないです)
hqf00342

2025/03/14 23:34

OSは何でしょうか?
pomi8915

2025/03/16 08:38

OSはLinuxです。 プログラム(主にphp)のリリース時にscpを使用したファイルコピーを行いたいと思っているため、 種類・用途はそれぞれですね。 EC2同士でファイル転送できる状態にするための設定が分かればよいのかなと思っています。情報足りておらずすみません。
maisumakun

2025/03/16 09:31

> プログラム(主にphp)のリリース時にscpを使用したファイルコピーを行いたいと思っているため、 AWSには、CodeBuildのようなデプロイ処理向けのサービスも存在します。自前でEC2に組まないといけないものなのでしょうか。
novelistory

2025/03/17 05:39

SCPコマンドでファイル転送したいEC2(Aサーバー、Bサーバー)間でSSHコマンドで相互に接続(AサーバーからBサーバー、BサーバーからAサーバー)が可能なのであれば、SCPコマンドによるファイル転送も可能かと思われます。 もし現状SSH接続ができないという場合は、現在いただいている情報からは判断が付かないため、AWSの構成概要※等をご記載いただくと、答えが得られやすくなるかと思います。 ※構成概要  例えば……  EC2は同一AWSアカウント or 別アカウント?  同一VPC or 別VPC?  同一サブネット or 別サブネット?  セキュリティグループの設定は?  NACLの設定は?  ルートテーブルの設定は?  各EC2のOSのFirewall設定は? 等々……
guest

回答3

0

話が漠然としています

これでは状況が特定できません。scpということから、ネットワーク経由でファイル転送したいということはわかりますが、それだけでは不明点が多いです。EC2同士が互いにファイル転送できる状態にあるかすらわかりません。

投稿2025/03/16 04:37

HogeAnimalLover

総合スコア4853

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

いろいろな解決方法が考えられますが、scp を使うのであれば、SSH-Agentの導入を検討してみると良いと思います。

また、scp を行うには、TCP/22 の通信が許可されていて、実際に通信可能であることが前提になります。VPCの構成や、Security Group が適切に設定されていることを確認してください。

SSH-Agent はローカルのクライアント環境にセットアップする必要があります。環境や使用するツールによって違うので、一度ご自身で調べてみてください。

SSH-Agentを使うと次のようなことができます。

  1. ローカル環境の SSH-Agent に秘密鍵を登録(複数の秘密鍵を登録可能)
  2. ローカル→EC2 への SSH する際に SSH-Agent を使ってログインできる
    ※この際、SSH-Agentに登録した秘密鍵がリモートホストに転送されます(Agent forwarding)
  3. Agent forwarding によってリモート環境で ssh や scp を実行する際に SSH-Agent に登録した秘密鍵を使える

OpenSSHの場合は次のように操作可能です。

# クライアント環境でSSH-Agentに秘密鍵を登録 (client)$ ssh-add path/to/private/key # BastionホストにSSHログイン (client)$ ssh -A user@bastion #-A で Agent forwarding を有効化 # BastionホストからPrivateノードにSSHログイン (basionhost)$ ssh user@privatenode

もし、パスワードを要求される場合は、Agent forwarding が正しく機能していません。

  • bastion ホストの sshd_config: AllowAgentForwarding を yes に設定する。
  • クライアント側の ~/.ssh/config: bastion ホストへの接続設定で ForwardAgent yes が設定されていること確認します。
  • 接続コマンド: ssh -A オプションを使用していることを確認します。

SSHが可能ということは、同じ方法で scp を実行できます。

# ローカル環境でSSH-Agentに秘密鍵を登録 (local)$ ssh-add path/to/private/key # ローカルからBastionホストにSSHログイン (local)$ ssh -A user@bastion #-A で Agent forwarding を有効化 # BastionホストからPrivateノードにscpファイル転送 (basionhost)$ scp ./path/to/source/file user@privatenode:/path/to/distination/

OpenSSH以外では Putty でも同じようなことが出来ると思います。Teratermでも出来るような気がしますがが、あいにく把握しておりません。

投稿2025/03/20 00:14

take88

総合スコア1477

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

scpに話を限定するなら、ローカルとEC2の間でも、EC2とEC2の間でも同じです。

ただ、コメントの部分を読むに恐らくデプロイをしたいんだと思いますが、それはただファイル置くだけで済むかは不明(多くの場合それだけでは済まない)ので、まずやることを整理したほうが良いのではないかと思います。

投稿2025/03/17 05:35

yu_1985

総合スコア7619

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.32%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問