【AWS】KUSANAGIでWordPress構築したサイトにFTP接続する【EC2】

こんにちは!フリーランスWebディレクター兼エンジニアののせっちです。

改修案件でAWSを使ったワードプレス案件のFTP接続でめちゃくちゃハマったので、備忘録を兼ねたメモです。

全ての条件に当てはまるわけではないのでその点はご了承ください。

前提条件

今回の改修案件は下記の環境でした。

  • サーバーはAWSのEC2
  • KUSANAGI for AWSでワードプレス構築済み
  • キーペア(pemファイル)はクライアント(リテラシー低め)が持っている。

理解しておくべきこと

  • AWSのFTP接続には一手間必要(エックスサーバー、さくらサーバーなどのように簡単にはいかない)
  • KUSANAGIは更に一手間必要
  • キーペアが必要
  • ターミナルの知識が必要

EC2 x KUSANAGI for AWSでFTP接続する手順

まず大枠の手順を確認します。

  1. AWSにログイン → EC2 → インスタンス → 接続を選択
  2. SSH スタンドアロン接続(ここでpemファイルが必要)
  3. ターミナルでcentosにSSH接続
  4. rootに移動し、kusanagi.pemの中身をcatコマンドで確認&コピー
  5. ローカルでkusanagi.pemファイルを作成
  6. FTPクライアント(Filezilla等)でSFTP接続、鍵ファイルにkusangi.pemを指定

AWS、EC2、AWSでのワードプレス構築の知識ゼロの人へ

まずは自分でAWSアカウント(無料)作成して、EC2でインスタンスを作成 → ワードプレス構築までやってみることがオススメです。

こちらの記事で動画付きでわかりやすく解説していただいているので超絶オススメです。公式と合わせて確認するといいと思います。

AWS EC2でWordPressサイトを構築する方法と料金形態を徹底解説!

https://blog.codecamp.jp/wordpress-aws-ec2

【公式】Amazon Lightsail で WordPress インスタンスを起動して設定する

https://aws.amazon.com/jp/getting-started/tutorials/launch-a-wordpress-website/

また、インスタンスに接続するユーザー名には色々と種類があり、パスワードは公開鍵を用いるということも覚えておきましょう

OS種別ユーザー名
Amazon Linuxec2-user
RHEL 5rootまたはec2-user
SUSE Linuxrootまたはec2-user
Ubuntuubuntu
CentOScentos

SSHスタンドアロンで接続する場合は基本的にrootになっていると思います。

ただ、kusanagiを使う場合はcentosで接続する必要があります。

他のユーザー名ではpermission deniedとなるはずです。

下記を理解しておきましょう!

  • EC2でインスタンスを作成し、ワードプレスをインストールする
  • インスタンスにSSH接続するためには、キーペア(pemファイル)が必要
  • ターミナルを使ってSSH接続する

AWS for Kusanagiの知識ゼロの人へ

こちらは公式がわかりやすいです。

公式ドキュメントの最初から、ワードプレスのインストールまで確認しましょう。

また、推奨するセキュリティ対応の中にはKusanagiでrootユーザーに切り替える方法も書かれているので読んでおくことをオススメします。

KUSANAGIの初期設定

https://kusanagi.tokyo/document/kusanagi-init/

KUSANAGIのプロビジョニング

https://kusanagi.tokyo/document/kusanagi-provision/

WordPressのインストール

https://kusanagi.tokyo/document/wp-install/

推奨するセキュリティ対応

https://kusanagi.tokyo/document/security/

下記を理解しましょう

  • Kusanagiを使った初期設定からワードプレスのインストールまで
  • SSH接続する際はcentosで
  • KusanagiにSSH接続後、$ sudo su – でrootユーザーに切り替える。(ここにkusanagi.pemがある)

AWSにログイン → EC2 → インスタンス → 接続を選択

手順通りにやるだけです。割愛します。

SSH スタンドアロン接続

インスタンスから接続を選択したら、下記3つの選択肢が出ます。

  • スタンドアロン SSH クライアント 
  • セッションマネージャー 
  • EC2 Instance Connect (ブラウザベースの SSH 接続) 

スタンドアロンSSHクライアントを選択

説明文の手順通りにやるのですが、ここでキーペアが必要になります。

あなたがこのサイトの管理者ではなく、キーペアをもっていない場合は、

  • 管理者(キーペアを持っている人)に依頼してユーザーを増やしてもらい、pemファイルを新たに作成してもらう
  • 管理者が持っているキーペア(pemファイル)を共有してもらう

上記いずれかの方法が必要です。

管理者が持っているキーペア(pemファイル)を共有してもらう方法はセキュリティの観点から非推奨ではありますが、クライアントのリテラシーが低い場合、作ってもらうのはほぼ無理ゲーですので、もらうしかない場合もあるでしょう。

ユーザーを増やす場合は、

“EC2 ユーザーを追加”等でググればたくさん記事が出てきます。

ターミナルでcentosにSSH接続

先ほどのpemファイルを chmod400 ***.pem でパーミッションを変更したら、実際にSSH接続していきます。

このとき、kusanagiの場合”root”ではなく、”centos”でログインします。

rootに移動し、kusanagi.pemの中身をcatコマンドで確認&コピー

centosにログインできたら、sudo su – コマンドでルートユーザーに切り替えます。

ここでlsコマンドでリスト表示、kusanagi.pemがあることを確認します。

catコマンドを使い、kusangi.pemの中身を確認しましょう。

$ cat kusangi.pem

これで、kusanagi.pemの中身が表示されますので、BEGIN…からEND…まで全てコピぺで、ローカルにkusanagi.pemを作成しましょう。

-----BEGIN RSA PRIVATE KEY-----

#PRIVATE KEYが書かれている

-----END RSA PRIVATE KEY-----

FTPクライアント(Filezilla等)でSFTP接続、鍵ファイルにkusangi.pemを指定

いよいよFTP接続をしていきます。

Fillezillaの場合

  • プロトコル:SFTP – SSH File Transfer Protcol
  • ホスト:IPアドレス(EC2の『IPv4 パブリック IP』を指定)
  • ログオンタイプ:鍵ファイル
  • ユーザー:kusanagi
  • 鍵ファイル:参照から”kusangi.pem”を選択

公式にもFTP接続の方法がありますが、当ブログでは公開鍵を使う方法を紹介しました。

FAQ(Kusanagi)

https://kusanagi.tokyo/faq/

これで、FTP接続することができます。

お疲れ様でした。

この記事を書いた人

のせっち

福岡県出身。早稲田大学卒。創業100年の鉄鋼商社でバンコク駐在最年少抜擢。毎日擦り切れるまで働かなくても幸せに生きている人々を見てフリーランスになりました。
現在は、主にバンコクでWeb制作、物販を中心に生きています。