カテゴリー
サインイン 新規登録

間違いや改善の指摘

内容の技術的な誤り・誤字脱字やミスのご報告・解説やトピックの追記/改善のご要望は教材をさらに良くしていく上でとても貴重なご意見になります。

少しでも気になった点があれば、ご遠慮なく投稿いただけると幸いです🙏

実際には誤りではなく勘違いであっても、ご報告いただけることで教材のブラッシュアップにつながります。

質問ポリシー①

教材受講者みなさんのスムーズな問題解決のために、心がけていただきたいことがあります。

教材の内容に関する質問を投稿しましょう

教材の内容に関係のない質問や教材とは異なる環境・バージョンで進めている場合のエラーなど、教材に関係しない質問は推奨していないため回答できない場合がございます。

その場合、teratailなどの外部サイトを利用して質問することをおすすめします。教材の誤字脱字や追記・改善の要望は「文章の間違いや改善点の指摘」からお願いします。

0-2

環境構築(Windows, Mac共通)

本パートではCloud9を利用して開発環境を構築する手順を記載しています。

Cloud9とは

Cloud9はアプリケーション開発やデータベースなどをクラウド環境で利用できるサービスです。Cloud9を使えば、簡単にプログラミング開発環境を構築できます。

AWSアカウントを取得

Cloud9を使うためにはAWSアカウントが必要になります。

AWSアカウントを既にお持ちの場合は、AWSにログインしてください。

AWSのアカウントを持っていない場合は、下記のリンクからAWSアカウントを作成してください。

AWSアカウント作成の流れに関しては公式のリンクが非常に分かりやすいのでこちらを参考にしてください。

2020年11月追記:アップデートに伴い、ディスクスペースの追加が必要になりました

ここ数ヶ月でLaravelで使用する各composer module(あらかじめ作られた便利なパーツ)の容量が大きくなってしまったようで、cloud9のディスクスペースが足りないようです。

そのため、Cloud9で開発を行うためには月額100〜200円程度の追加ディスクを導入していただく必要がございます。

Cloud9の料金が気になる方はお使いのPCにローカル開発環境を構築する方法もありますので、難易度は上がりますがそれらでも結構です。

お手数ですが、以下のどちらかの方法でご対応いただければ幸いです。

概ね1ヶ月=1GB/20円程度でボリュームを増やすことができます。
そのため、一番良いのはディスクを増やしていただくのが良いかと考えていますので、ご検討ください。

Cloud9ディスクスペースの増やし方は当パートの最後に記載しております。

AWS ディスクの料金表

もしくはお使いのPCにローカル環境を構築していただく方法もありますので、料金が気になる場合はこちらでご対応いただければ幸いです。

■ Windows
Laravel Windowsでの開発環境構築

■ Mac
Laravel MacOSでの開発環境構築

AWSにログイン

AWSアカウントを作成したら、AWSにログインしてください。

ログインは下記のリンクからログインできます。

AWSコンソール

ログインができたら下記のような画面に遷移します。

Image from Gyazo

もし右上の 東京 と書かれている部分が別の物になっていた場合は赤い囲いの部分をクリックして 東京 を選択するようにしてください。

Image from Gyazo

この選択肢はリージョンと呼ばれる物になり、物理的なサーバーが置いてある位置を指定する内容です。日本で使う前提であれば、距離的に近い東京リージョンを選択しておくことをおすすめしています。

次に、画面中央付近にある検索ボックスから「Cloud9」と入力すると、Cloud9の開発環境を作成するためのページに遷移します。

Image from Gyazo

Cloud9の開発環境を作成
ではCloud9の開発環境を作成していきます。下記の画面にある「Create environment」をクリックしてください。

Image from Gyazo

次にNameのフォームの箇所にアプリ名を入力します。今回は BookReviews というサービスを作成していくので BookReviews と入力して、 Next step をクリックしてください。

Image from Gyazo

次に下記の画像のような画面に遷移します。この画面では「Amazon Linux」を選択して「Next step」をクリックしてください。

Image from Gyazo

次に下記の画像のような画面に遷移します。この画面ではそのまま「Create environment」を入力してください。

Image from Gyazo

すると下記の画像のように表示されていればCloud9の環境構築ができています。(下記の画面が表示されるまでに1~2分かかることがあります。)

Image from Gyazo

Cloud9のインデントを設定

LaravelはインデントをTabに設定するのが基本ルールなので、Cloud9の設定を変更していきます。

インデントの設定を変更するには、右上の歯車アイコンをクリックし、「Soft Tabs」のチェックを外しておきましょう。

Image from Gyazo

Cloud9のテーマを設定

現状でも開発を進めることはできますが、Cloud9の見た目をかっこよくしたい方は読み進めてください。

※)必ずしもテーマを設定する必要はありません。テーマを設定したい人だけ設定してください。

テーマはヘッダーにある「View」の「Themes」で設定できます。例えば、下記の動画のように「Classic Dark」を選択すると、ダークなデザインになります。

Image from Gyazo

Cloud9のディスクを増やす

今回はシェルスクリプトファイル(ターミナルで動作するスクリプトファイル)を作成してディスクを増やしていきます。

まずはdfコマンドで現状のディスクサイズを確認しておきましょう。

Copied!
$ df -h

約10GBのディスクが確認できました。

Image from Gyazo

次に以下のコマンドでリサイズ用のファイルを作成してください。

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 も必要なので、気をつけてください。

Image from Gyazo

ペーストができたら、必ず保存を忘れずに実行してください。

作成できたら、シェルのウィンドウで次のコマンドを実行します。 実行時に、何GBまで増やすかを指定します。今回は20GBまで増やしてみます。

Copied!
$ sh resize.sh 20

このような表示になれば完了です。
Image from Gyazo

では最後にディスクが拡張されたことを確認しましょう。

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のセットアップが終了し、今回のパートは終了です。

お疲れさまでした。

現在のパート (2)
全パート (83)
みんなで助け合おう!
現在のパートのディスカッション 全2件
0-2
NONAKA 2021-03-24
そのままだとLinux2が選択されます。

次に下記の画像のような画面に遷移します。この画面ではそのまま「Create environment」を入力してください。

お世話になります。

現在の状況では、「Create environment」をクリックしてみるとLinux2がデフォルトで選択されています。

教材ではLinuxとなっているので前提が異なります。
この辺、混乱があるかと思います。

0-2
ozet1001 2021-01-01
AWSの料金について

本講座で、AWSの料金はどれくらいかかるのでしょうか。
また、無料で使用する方法があれば教えていただきたいです。