教材の内容に関係のない質問や教材とは異なる環境・バージョンで進めている場合のエラーなど、教材に関係しない質問は推奨していないため回答できない場合がございます。
その場合、teratailなどの外部サイトを利用して質問することをおすすめします。教材の誤字脱字や追記・改善の要望は「文章の間違いや改善点の指摘」からお願いします。
本パートではCloud9を利用して開発環境を構築する手順を記載しています。
Cloud9はアプリケーション開発やデータベースなどをクラウド環境で利用できるサービスです。Cloud9を使えば、簡単にプログラミング開発環境を構築できます。
Cloud9を使うためにはAWSアカウントが必要になります。
AWSアカウントを既にお持ちの場合は、AWSにログインしてください。
AWSのアカウントを持っていない場合は、下記のリンクからAWSアカウントを作成してください。
AWSアカウント作成の流れに関しては公式のリンクが非常に分かりやすいのでこちらを参考にしてください。
ここ数ヶ月でLaravelで使用する各composer module(あらかじめ作られた便利なパーツ)の容量が大きくなってしまったようで、cloud9のディスクスペースが足りないようです。
そのため、Cloud9で開発を行うためには月額100〜200円程度の追加ディスクを導入していただく必要がございます。
Cloud9の料金が気になる方はお使いのPCにローカル開発環境を構築する方法もありますので、難易度は上がりますがそれらでも結構です。
お手数ですが、以下のどちらかの方法でご対応いただければ幸いです。
概ね1ヶ月=1GB/20円程度でボリュームを増やすことができます。
そのため、一番良いのはディスクを増やしていただくのが良いかと考えていますので、ご検討ください。
Cloud9ディスクスペースの増やし方は当パートの最後に記載しております。
もしくはお使いのPCにローカル環境を構築していただく方法もありますので、料金が気になる場合はこちらでご対応いただければ幸いです。
■ Windows
Laravel Windowsでの開発環境構築
■ Mac
Laravel MacOSでの開発環境構築
AWSアカウントを作成したら、AWSにログインしてください。
ログインは下記のリンクからログインできます。
ログインができたら下記のような画面に遷移します。
もし右上の 東京 と書かれている部分が別の物になっていた場合は赤い囲いの部分をクリックして 東京 を選択するようにしてください。
この選択肢はリージョンと呼ばれる物になり、物理的なサーバーが置いてある位置を指定する内容です。日本で使う前提であれば、距離的に近い東京リージョンを選択しておくことをおすすめしています。
次に、画面中央付近にある検索ボックスから「Cloud9」と入力すると、Cloud9の開発環境を作成するためのページに遷移します。
Cloud9の開発環境を作成
ではCloud9の開発環境を作成していきます。下記の画面にある「Create environment」をクリックしてください。
次にNameのフォームの箇所にアプリ名を入力します。今回は BookReviews というサービスを作成していくので BookReviews と入力して、 Next step をクリックしてください。
次に下記の画像のような画面に遷移します。この画面では「Amazon Linux」を選択して「Next step」をクリックしてください。
次に下記の画像のような画面に遷移します。この画面ではそのまま「Create environment」を入力してください。
すると下記の画像のように表示されていればCloud9の環境構築ができています。(下記の画面が表示されるまでに1~2分かかることがあります。)
LaravelはインデントをTabに設定するのが基本ルールなので、Cloud9の設定を変更していきます。
インデントの設定を変更するには、右上の歯車アイコンをクリックし、「Soft Tabs」のチェックを外しておきましょう。
現状でも開発を進めることはできますが、Cloud9の見た目をかっこよくしたい方は読み進めてください。
※)必ずしもテーマを設定する必要はありません。テーマを設定したい人だけ設定してください。
テーマはヘッダーにある「View」の「Themes」で設定できます。例えば、下記の動画のように「Classic Dark」を選択すると、ダークなデザインになります。
今回はシェルスクリプトファイル(ターミナルで動作するスクリプトファイル)を作成してディスクを増やしていきます。
まずはdfコマンドで現状のディスクサイズを確認しておきましょう。
Copied!$ df -h
約10GBのディスクが確認できました。
次に以下のコマンドでリサイズ用のファイルを作成してください。
Copied!$ touch resize.sh
resize.shが作成できたら、Cloud9上で開き、下記の内容をコピー&ペーストしてください。
Copied!
#!/bin/bash
# Specify the desired volume size in GiB as a command-line argument. If not specified, default to 20 GiB.
SIZE=${1:-20}
# Get the ID of the environment host Amazon EC2 instance.
INSTANCEID=$(curl http://169.254.169.254/latest/meta-data/instance-id)
# Get the ID of the Amazon EBS volume associated with the instance.
VOLUMEID=$(aws ec2 describe-instances \
--instance-id $INSTANCEID \
--query "Reservations[0].Instances[0].BlockDeviceMappings[0].Ebs.VolumeId" \
--output text)
# Resize the EBS volume.
aws ec2 modify-volume --volume-id $VOLUMEID --size $SIZE
# Wait for the resize to finish.
while [ \
"$(aws ec2 describe-volumes-modifications \
--volume-id $VOLUMEID \
--filters Name=modification-state,Values="optimizing","completed" \
--query "length(VolumesModifications)"\
--output text)" != "1" ]; do
sleep 1
done
#Check if we're on an NVMe filesystem
if [ $(readlink -f /dev/xvda) = "/dev/xvda" ]
then
# Rewrite the partition table so that the partition takes up all the space that it can.
sudo growpart /dev/xvda 1
# Expand the size of the file system.
# Check if we are on AL2
STR=$(cat /etc/os-release)
SUB="VERSION_ID=\"2\""
if [[ "$STR" == *"$SUB"* ]]
then
sudo xfs_growfs -d /
else
sudo resize2fs /dev/xvda1
fi
else
# Rewrite the partition table so that the partition takes up all the space that it can.
sudo growpart /dev/nvme0n1 1
# Expand the size of the file system.
# Check if we're on AL2
STR=$(cat /etc/os-release)
SUB="VERSION_ID=\"2\""
if [[ "$STR" == *"$SUB"* ]]
then
sudo xfs_growfs -d /
else
sudo resize2fs /dev/nvme0n1p1
fi
fi
1行目の #!/bin/bash
も必要なので、気をつけてください。
ペーストができたら、必ず保存を忘れずに実行してください。
作成できたら、シェルのウィンドウで次のコマンドを実行します。 実行時に、何GBまで増やすかを指定します。今回は20GBまで増やしてみます。
Copied!$ sh resize.sh 20
では最後にディスクが拡張されたことを確認しましょう。
Copied!$ df -h
Copied!ec2-user:~/environment $ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 483M 60K 483M 1% /dev
tmpfs 493M 0 493M 0% /dev/shm
/dev/xvda1 20G 8.7G 11G 45% /
このような結果がターミナルから返ってくればディスクの拡張が無事に完了しています。
以上でCloud9のセットアップが終了し、今回のパートは終了です。
お疲れさまでした。
次に下記の画像のような画面に遷移します。この画面ではそのまま「Create environment」を入力してください。
お世話になります。
現在の状況では、「Create environment」をクリックしてみるとLinux2がデフォルトで選択されています。
教材ではLinuxとなっているので前提が異なります。
この辺、混乱があるかと思います。