ハピタス登録で1,000円分になるURL
AWSのアイコン
あった。アセットパッケージ。
右下の「アセットパッケージ」からダウンロードできた(2024/3/3)。
大量に入っておるな。
これで自宅サーバの機能が分かりやすくなる。アイコンって大事。
こんなのも発掘。
ハピタス登録で1,000円分になるURL
インバウンドとアウトバウンドルール設定したのになぜかCloud9に接続できん…かなりの試行錯誤と苦労の末うまくいった!
以下メモ。
セキュリティグループでインバウンドのルール編集してポート8080を開放してやる。
サブネットでもポート開放してやらなきゃいけない。
cloud9$ php artisan serve --host=0.0.0.0 --port=8080
--host=0.0.0.0 が正しい。
これを付け忘れてserveしちゃうと 127.0.0.1 で待ち受けしてしまうのでAWS外のネットワークから到達できない。
ここまでの手順を文字ベースで解説してるAWS公式のドキュメント。
分かりにくすぎる。画面にしてくれ。
こんかいウチでうまく行かなかった原因は 127.0.0.1 で実行しちゃってたことだった。0.0.0.0 で起動して解消した。
ハピタス登録で1,000円分になるURL
自宅サーバやってると初見でも全く迷わず触ることができる。クラウドプラクティショナー?だっけか、受けてみるか。
前回接続したパブリックIPv4アドレスが今回接続したら変わってしまっていた。動的IPらしい。これじゃ毎回SSHできないじゃないか。
検索窓で「vpc」を検索して
真ん中あたりの「VPC」に入る
左メニューから「Elastic IP」
ここで「グローバル静的IPアドレス」を選べば一発でグローバルIPを割り当ててくれるのかもしれないけど、今回は「AmazonのIPv4アドレスプール」をあえて選択してみた。
右上「Elastic IP アドレスを割り当てる」をポチ
割り当たった
「AmazonのIPv4アドレスプール」に割り当たったパブリックPublicなIPを、VPCの内部アドレス(プライベートIP)に関連付け(紐付け)する
自宅サーバから接続
自宅サーバbash$ ssh ec2-user@今回のElasticIP
おっしゃ繋がった。
AWS資格(クラウドプラクティショナー?とか)の動画見てみたけど、ほぼ常識クイズじゃん…勉強とかいるんかねこれ。
ハピタス登録で1,000円分になるURL
$ curl -sS https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/local/bin/composer
$ composer create-project laravel/laravel cms --prefer-dist
ハピタス登録で1,000円分になるURL
前回の続き。
右上「Cloud9 で開く」
VIM mode あるんだ。是非使いたい。
この記事どおりに進める。
Go To Your Dashboard
「ec2」で検索。
右上が「オハイオ」リージョンになってる素晴らしい。利用料がちょっと安いはず。
セキュリティグループをクリック。
インバウンドルールを編集。
自宅サーバのIPアドレス 12.3.45.67/32 にした。CIDRとは何で、どう設定するのが正しいのか(/32か?/24か?)よく分かっていないが、NTTのIPv6光回線の場合は/32でうまくSSH接続が動くっぽい。楽天モバイルの場合は/24にする(本記事末尾参照)。
キーペアを作成する。
手元macOS(出張先)からかなり遠隔地(田舎)にある自宅のサーバにscpで秘密鍵を転送しとく。
手元macOSのbash$ chmod 400 秘密鍵.pem
手元macOSのbash$ ssh-keygen -y -f 秘密鍵.pem
Cloud9のbash$ vim ~/.ssh/authorized_keys
左メニュー「インスタンス」→パブリックIPv4アドレス でCloud9環境のグローバルIPアドレスが確認できる。
自宅のbash$ ssh -i 秘密鍵 ec2-user@接続先IPアドレス
おおお!繋がった!
さて、果たしてこれ、SSH接続を続けてるとそれだけAWS料金加算されちゃうんだろうか?当初の設定で、何もしなければ30分でEC2インスタンスはシャットダウンされるみたいな設定を入れたけど、もしかSSH接続を続けてる限りは使用中と判定されちゃうかもだな。利用が終わったら必ず接続を切るようにしよう…
macOSのネット回線はRakuten Mobileなんだけど、楽天モバの場合はインバウンドルール設定のところでソースの末尾(CIDR)をスラ24(133.xxx.xxx.xxx/24)にしないとうまくSSHが許可されなかった。