1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AWS Cloud9で開発中のLaravelアプリをインターネットで公開する方法

Posted at

ちょい記事です。

Cloud9で起動したアプリを他の人にも見えるようにするには一工夫が必要です。

IDE のアプリケーションプレビュータブで URL を他のユーザーと共有することはお勧めしません(URL は https://12a34567b8cd9012345ef67abcd890e1.vfs.cloud9.us-east-2.amazonaws.com/ 形式で表示されます。12a34567b8cd9012345ef67abcd890e1 は AWS Cloud9 が 環境 に割り当てる ID、us-east-2 は 環境 の AWS リージョンの ID です)。 この URL を使用するには、環境 の IDE が開いており、アプリケーションが同じウェブブラウザで実行されている必要があります。

やり方

基本的にはAWS側は公式に沿って設定すればOKです。

  • Cloud9で利用中のEC2インスタンスのセキュリティグループのインバウンドルールでTCPの8080番ポート(アプリで使いたいポート)を許可
  • 同じインスタンスのいるサブネットのネットワークACLのインバウンドルールで同様にTCPの接続を許可

Laravelアプリ側は以下のコマンドで起動します。

  • php artisan serve --host=0.0.0.0 --port=8080 を実行
    • ホスト名を直接グローバルIPにしてもCannot assign requested addressとなってしまいましたが、0.0.0.0だと行けました。

これで以下のようにEC2インスタンスのパブリックIPで繋がります。
http://(パブリックIP):8080/

なお、Cloud9は初期設定だと使用終了後30分で停止してしまうので、ずっと上げておきたい場合は以下のように設定しましょう。
Cloud9の開発画面右上の歯車マーク
 →Project Settings
 →EC2 Instance
 →Stop My EnvironmentをNeverにする

また、パブリックIPを固定したい場合は、EC2インスタンスにElastic IPを関連付けておきましょう。

以上です。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?