LoginSignup
0
0

More than 1 year has passed since last update.

サーバへのファイル送信をAWS上だけで完結させる

Last updated at Posted at 2022-04-02

SSHのポート番号と聞くと、昔大学院卒の同期に年齢を聞かれ「22」と答えたら、「SSHのポート番号じゃん」と言われたのを今でも思い出します。

それはさておき、サーバにファイルを送るためには、SCPコマンドを利用してという手順があると思いますが、利用できるポートが限られる場面も少なからずあるかと思います。

私はMacを利用しているのですが、通常なら以下の手順を取ります。

  1. ターミナル起動
  2. scp -i [キーペアパス] [ローカルファイルパス] ec2-user@[IPアドレス]:[サーバのパス]でファイルのアップロード
    (WindowsならTera Termを使うことが多いかと思います)

ただ、先日これを行おうとしたところ、ポート番号の問題で許可されませんでした。
その時の代替案として、S3とSystems Managerを利用して解決しましたので、備忘として残しておきます。

前提

  • EC2を利用して、Webサーバを公開している
  • PCのローカル環境からscpやsshは都合上できない
  • AWSは割と強めの権限を持っていて、ロールの付与権限などもある

大まかな手順としては以下です。

  1. S3にサーバで利用するファイルをアップロード
  2. EC2にSystems Managerとの接続ができるようなロールを付与
  3. System Managerに入り、S3からファイルをダウンロードするコマンドを実行し、EC2にダウンロード

S3のバケットとファイル準備

バケット名が被らないように設定を行います。バケットの設定は初期状態のままで問題ありませんでした。
(パブリックアクセスも全てブロックのまま)
スクリーンショット 2022-04-02 13.24.30.png

その後、必要なファイルをドラッグ&ドロップなどでアップロードすれば完了です。

EC2にSystem Managerとの接続ができるようなロールを付与

  1. EC2の画面より、対象のEC2を選択し、[IAMロールを変更]をクリック
    スクリーンショット 2022-04-02 13.33.25.png

  2. 遷移した画面よりロールの作成に飛べますので、そのまま新しいロールを作成します。
    スクリーンショット 2022-04-02 13.36.12.png

  3. EC2を選択し次へ
    スクリーンショット 2022-04-02 13.37.51.png

  4. 検索窓より、ssmと入力し[AmazonEC2RoleforSSM]を選択
    スクリーンショット 2022-04-02 13.39.19.png

  5. その後わかりやすいロール名を記載して完了

System ManagerよりEC2へアクセス

  1. System Managerに入り[セッションマネージャー]を選択
    スクリーンショット 2022-04-02 13.44.16.png

  2. セッションの開始を押す
    スクリーンショット 2022-04-02 13.47.40.png

  3. サーバが起動している場合は、以下のように表示がされるため選択して[セッションを開始する]を押す
    スクリーンショット 2022-04-02 13.47.54.png

  4. 以下のような画面に遷移するため、cliを利用してaws s3 ls s3://バケット名バケット内のファイルを確認
    スクリーンショット 2022-04-02 13.53.51.png
    (Amazon linuxなら、特に何も作業せずAWS cliの利用ができました。)

  5. sudo suで管理者権限になり、作業が行えるディレクトリに移動し、ダウンロードコマンドを実行
    aws s3 cp s3://バケット名/index.html ./ #現在いるディレクトリにコピー
    スクリーンショット 2022-04-02 14.05.38.png

  6. 必要に応じてmvを行いディレクトリの移動などをさせれば完了です。

平日は結構遅くまで仕事をしていることが多く、勉強したり記事を書くのは休日になることが多いのですが、
やはり奥さんから「休みの意味知ってる?」と煽られますのでぷよぷよしてきます。

参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0