スポンサーリンク
スポンサーリンク

Amazon AWSのEC2にファイル転送する方法【アップロードで意外とハマる】

Amazon AWSはステップバイステップのマニュアルが提供されていますが、日本語化は追いついていないトピックもあり、分かりにくい「EC2にファイルをアップロード(転送)する」手順

ノンプログラマでも分かるレベルに噛み砕いて、紹介します。

対象者のスペック

  • ノンプログラマ
  • Windows10使用、Linuxは分からない
  • Amazon AWS使用中。Blogをホストしている程度の知識。

やりたいこと

AWSを使って静的サイトを立ち上げたい。コマンド操作は不慣れなので極力WYSIWYGでアップロードを済ませたい。

スポンサーリンク

EC2のインスタンスを作る

インスタンスを新規に作成するとき。これはAWSのマニュアルどおりに作成すればOK。

インスタンスの作成

AWS EC2にファイルをアップロード(転送)EC2のインスタンス画面

ExDesignという名前でテスト用インスタンスを作成したところ。

チュートリアル上、プライベートキー(.pem)ファイルの作成がありますが、キーはEC2の認証を行うための大切なキーですので、適切な場所に保存しておきます。一度なくすとインスタンスの再構築が必要で、大変なことになります。

AWSのチュートリアルの「インスタンスの作成」まで完了します。「接続」がWindows使いのノンプログラマの方は紛らわしいため、以下に手順を詳しく記載します。

WinSCPでAWSのEC2に接続する

FTPクライアントWinSCPをインストール

インストールはご本家様等よりインストールいただく。私はこれは以前に使用したことがあったので、WinSCPがそのまま使いたかったので使用。コマンド画面に不慣れな場合は使いやすいかと思います。

キーの作成

WinSCPではAWSのプライベートキー形式(.pem)は使用できないのでPuTTY 形式(.ppk)形式に変換します。

  1. WinSCPを起動。
    WinSCPをインストールすると、変換に必要なツールの「PuTTYgen」もインストールされているので、それを利用します。
  2. サーバーへのログイン画面内の左下より「ツール」>「PuTTYgenを実行」を選択。AWS EC2にファイルをアップロード(転送)WinSCP
  3. 「Conversions」>「Import Key」を選択し、AWSのプライベートキー形式(.pem)を読み込み
  4. 「Save Private Key」をクリックしてPuTTY 形式(.ppk)にコンバート。
  5. PuTTY 形式(.ppk)に変換されているので任意の場所に保存。

WinSCPの接続設定

AWS EC2にファイルをアップロード(転送)WinSCP接続設定EC2へ

  1. WinSCPを起動して「新しいサイト」を選択。
  2. ホスト名に「パブリック DNS アドレス」を入力。
  3. ユーザー名に「ユーザー名」を入力。
    認証には生成したキー(ppk)を使用するため、パスワードの入力は不要です。
  4. 「設定(D)…」をクリックし「高度なサイトの設定」の画面を開く。
  5. 「SSH」→「認証」の設定で「秘密鍵」を選択。
    WinSCPのSSH設定
  6. 先ほど作成した「PuTTY 形式(.ppk)」を設定。
  7. 接続すると行きたいところですが、ひとまず設定を保存。

ディレクトリに権限を付与

Webサイトとして公開されるディレクトリのデフォルトは「 /var/www/html」なのでここにHTMLやらのファイルを入れる必要があります。

  1. Tera Termをダウンロードする
    ここだけはコマンドで操作したほうが早かったので、Tera Termを使います。
  2. 認証設定は、WinsCPと同じく「RSA/DSA/ECDSA/ED25519鍵を使う」で生成したppkを設定します。

ログインする

AWSで作成したインスタンスのオーナーは”ec2-user”ですが(Amazon Linux の場合)、デフォルトでは「 /var/www/html」へのアクセス権限がないため、”ec2-user”に書き込み権限を与えます。

  1. “ec2-user”をオーナーにする。
sudo chown -R ec2-user /var/www/html

AWS EC2にファイルをアップロード(転送)コマンド

サーバにファイルなどをアップロード

  1. WinSCRよりローカルからのファイルをドラッグ&ドロップで/var/www/htmlへアップロード。
    Tera Termでコマンド越しにアップロードしても良いのですが、筆者はコマンドに慣れていないのでWindowsライクなアップロード方法がやりやすいのです。

アップしたページを表示する

EC2のインスタンスのpublic IPをブラウザに入力すればindex.htmlが表示するはず、、だったのだが「How to fix error ‘This site can’t be reached’ 」が表示されました。これを解決するには次のとおり設定します。

  1. インスタンスのsecurity groupにHTTP TCP port80のアクセス許可を追加。
    AWS EC2にファイルをアップロード(転送)EC2画面HTTP
  2. 再度Public IPをたたく。
    やっと表示できました。

AWS EC2にファイルをアップロード(転送)表示された

 

おわりに

「EC2にファイルをアップロード(転送)する」手順をご紹介しました。

本当はAWSについてじっくり勉強してから利用開始すれば良いのですが、実践が勉強ということで、とりあえず使いはじめてしまいたい!ものですね。

PR プログラミング&Webデザイン奮闘記

なんだかんだでプログラミングまたはWebデザイン関係のスクールは3校ほど受講しました。
その質はばらつきが激しいと痛感。

3校の様子をレビューしますね。

通学型:料金は高いですが、対面なので先生は気合い入れて教えてくれるし、なにより同士となる生徒とのコミュニケーションは通学型でしか手に入らないと思いました。
仕事で悩みがあったのかいきなり泣き出す生徒さんに出会ったこともあり、そんな人間臭い出会いも良い思い出です。

オンライン型:オンライン型のスクールは私はこちら↓の侍エンジニア塾さんにお世話になりました。
私は当時、長期では通えなかったので侍エンジニア塾さんは1ヶ月コースがある点が良かったです。

私には都合が良いスクールでしたが契約する前に必ず体験を勧めます
詳しくは、以下の侍エンジニア塾さんの公式ページをご確認くださいね。

侍エンジニア塾での体験談は以下の記事でまとめています。
ご興味がある方は参考にしていただけると嬉しいです。

タイトルとURLをコピーしました