ホームページをAWSで作ろう:Amazon Lightsail
以前から、たびたびホームページをAWSで作りたいとの相談を頂いていました。
ただ、VPSなんかが月額900円とかで使えるなかで、従量制でもあるAWSは意外と費用がかかります。
※くまプレスも月額500円で提供しています。
そんなこんなで、ガッツリとして運用費用もある場合は除くとして、個人店舗のスタートアップなどの場合、ホームページ作成費用も含めてそれなりの負荷となってしまうと思い、あまりお勧めしていませんでした。
ところが今回、「Amazon Lightsail」ってサービスと出会いました。
な、なんと月額$3.5USD(だいたい370円)くらいから利用できます。
今回は、LAMPの環境を作りたかったので、そちらを選択して環境作成をしていきます。
目次
環境を作ります!
さて作っていきましょう。
とりあえず、1ヶ月は無料で利用できます(^^)
あ、この前に「今すぐ無料サインアップ」から、AWSへサインアップをしておいてください。
1)コンソールからログインしましょう!
2)インスタンスを作成しましょう!
このロボット君ですが、コチョコチョ動いてくれます(^^)
ボタンをクリックするとインスタンスの作成を開始します!
今回はLAMP環境を構築するので、「LAMP(PHP7)」を選択しています。
※LAMP Bitnami 認定 7.4.7
Bitnami 認定の PHP 7.x 付き LAMP は PHP アプリケーションの開発とデプロイを大幅に簡略化します。これには、最新バージョンの PHP 7.x、Apache、MySQL と、phpMyAdmin、一般的な PHP フレームワーク Zend、Symfony、CodeIgniter、CakePHP、Smarty およびLaravel が含まれています。その他の事前設定されたコンポーネントと PHP モジュールには、FastCGI、ModSecurity、SQLite、Varnish、ImageMagick、xDebug、Xcache、OpenLDAP、Memcache、OAuth、PEAR、PECL、APC、GD および cURL が含まれます。これはデフォルトで安全で、複数のアプリケーションをサポートし、それぞれに独自の仮想ホストおよびプロジェクトディレクトリを備えています。Let’s Encrypt SSL 証明書は、自動設定スクリプトによってサポートされています。
3)インスタンスを操作しましょう!
「インスタンスの作成」をクリックするとしばらくクルクルしてから下記の画面が表示されます。
4)管理画面です
インスタンスがこのようにできました。
このままで、パブリックIPをブラウザで見たらこんな感じに表示されます。
sshでつないでみましょう!
出来上がったインスタンスにsshでつないでみます。
それには2つの方法があります。
1つ:管理画面から「SSHを使用して接続」をクリックして接続します。
2つ:クライアント、、外部のPCからsshで接続します。
ここでは2つ目の外部のPCからsshで接続する方法を記載します。
1)プライベートキーをダウンロードします。
このインスタンスを デフォルト (ap-northeast-1) キーペアを使用するように設定しました。
デフォルトのプライベートキーは、アカウントページ からダウンロードできます。
ってなってますんで、アカウントページから素直にダウンロードしましょう!
“ダウンロード”をクリックするとLightsailDefaultKey-ap-northeast-1.pemってのがダウンロードされてきます。
2)sshで接続します。
※私はMacを使ってるんで、その方法を記載します。
キーファイルを格納するディレクトリを作成し、キーファイルを ~/.ssh に移動させます。
$ mkdir -m 700 ~/.ssh
$ mv なんたらで .sshディレクトリに移動させてください(^^;
$ chmod 600 LightsailDefaultKey-ap-northeast-1.pem
これで、準備は完了
$ ssh username@xxx.xxx.xxx.xxx -i .ssh/LightsailDefaultKey-ap-northeast-1.pem
これで ssh で接続します。
Timezoneを変更してみます。
このLinuxですが、Debian GNU/Linuxで、当然ながら英語モードです。
$ date
ってしたら、〜 UTC ってなります(^^;
やっぱり、JST って表示してほしいんで、Timezoneを変更してみます。
$ /etc
$ ls -al | grep localtime
lrwxrwxrwx 1 root root 27 Jun 24 20:26 localtime -> /usr/share/zoneinfo/Etc/UTC
$ sudo rm -f /etc/localtime
$ sudo ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
$ date
Sun 06 Sep 2020 02:20:02 AM JST
再起動とかすることなく変わってくれました。
ロケールを日本語環境にしてみましょう
初期ではロケール環境はこんな感じ。
$ echo $LANG
en_US.UTF-8
$ locale
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_CTYPE=”en_US.UTF-8″
LC_NUMERIC=”en_US.UTF-8″
LC_TIME=”en_US.UTF-8″
LC_COLLATE=”en_US.UTF-8″
LC_MONETARY=”en_US.UTF-8″
LC_MESSAGES=”en_US.UTF-8″
LC_PAPER=”en_US.UTF-8″
LC_NAME=”en_US.UTF-8″
LC_ADDRESS=”en_US.UTF-8″
LC_TELEPHONE=”en_US.UTF-8″
LC_MEASUREMENT=”en_US.UTF-8″
LC_IDENTIFICATION=”en_US.UTF-8″
LC_ALL=en_US.UTF-8
これを日本語の”jp_JP.UTF-8″に変更します。
dpkg-reconfigureコマンドで変更します。
$ sudo dpkg-reconfigure locales
“en_US.UTF-8 UTF-8″の[*]をスペースキーで外します。
“ja_JP.UTF-8 UTF-8″を探して、スペースキーで[*]をつけます。
<OK>へTABキーでカーソルを移動させて、エンターキーを押します。
カーソルキーで、”ja_JP.UTF-8″を選択します。
<OK>へTABキーでカーソルを移動させて、エンターキーを押します。
コマンドが終了して下記のように表示されます。
$ sudo dpkg-reconfigure locales
Generating locales (this might take a while)…
ja_JP.UTF-8… done
Generation complete.
*** update-locale: Error: invalid locale settings: LC_ALL=en_US.UTF-8 LANGUAGE=en_US.UTF-8 LANG=ja_JP.UTF-8
エラーが出てますね。。。
とりあえず、一度 ssh で入りなおしましょう。
$ echo $LANG
ja_JP.UTF-8
$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=ja_JP.UTF-8
LANGUAGE=en_US.UTF-8
LC_CTYPE=”en_US.UTF-8″
LC_NUMERIC=”en_US.UTF-8″
LC_TIME=”en_US.UTF-8″
LC_COLLATE=”en_US.UTF-8″
LC_MONETARY=”en_US.UTF-8″
LC_MESSAGES=”en_US.UTF-8″
LC_PAPER=”en_US.UTF-8″
LC_NAME=”en_US.UTF-8″
LC_ADDRESS=”en_US.UTF-8″
LC_TELEPHONE=”en_US.UTF-8″
LC_MEASUREMENT=”en_US.UTF-8″
LC_IDENTIFICATION=”en_US.UTF-8″
LC_ALL=en_US.UTF-8
あら??LANGだけしか変わってないorz
一筋縄では。。。。(><)
どうやら、日本語のパッケージがないって感じです。。
$ sudo apt install task-japanese locales-all
$ sudo localectl set-locale LANG=ja_JP.UTF-8 LANGUAGE=”ja_JP:ja” LC_ALL=”ja_JP.UTF-8″
$ locale
LANG=ja_JP.UTF-8
LANGUAGE=ja_JP:ja
LC_CTYPE=”ja_JP.UTF-8″
LC_NUMERIC=”ja_JP.UTF-8″
LC_TIME=”ja_JP.UTF-8″
LC_COLLATE=”ja_JP.UTF-8″
LC_MONETARY=”ja_JP.UTF-8″
LC_MESSAGES=”ja_JP.UTF-8″
LC_PAPER=”ja_JP.UTF-8″
LC_NAME=”ja_JP.UTF-8″
LC_ADDRESS=”ja_JP.UTF-8″
LC_TELEPHONE=”ja_JP.UTF-8″
LC_MEASUREMENT=”ja_JP.UTF-8″
LC_IDENTIFICATION=”ja_JP.UTF-8″
LC_ALL=ja_JP.UTF-8
ようやく。。。(^^)
日本語パッケージ入れてから、dpkg-reconfigure locales したら、良かったのかなぁ。。(^^;
管理者のパスワード
アプリケーションパスワードは、デプロイメントプロセス中にランダムに生成され、サーバー上のファイルに保存されます。
このパスワードは次のように表示できます。
1)コンソールに ssh などでログインします。
2)$ cat bitnami_application_password
MySQLのrootパスワードなどに利用されています。
終わりに向かって。。。
今回キーファイルはデフォルトを使用しました。
AWSはリージョンごとに最大100個のキーを保存できます。
別のキーファイルが必要なら作成してください(^^)
さて、DNSなんかのネットワーク周りの設定に続きます!