Laravel AWS

VPC内にElastic Beanstalk + RDS の環境を構築して Laravel アプリをデプロイする [RDS構築編]

更新日:

今後も何度か同じことを調べそうなので忘備録としてまとめておく。手順をstep by stepで記述するが、それぞれ分量が多いので以下の通り章立てを行ってエントリを分割する。

  • VPC構築編
    • VPCの作成
    • VPC、NetworkACL、SecurityGroupの確認、タグ付け
    • VPCのDNSホスト名を有効にする
    • サブネットの作成、タグ付け
    • インターネットゲートウェイの作成、タグ付け、VPCにアタッチ
    • パブリックサブネット用RoutingTableの作成
    • パブリックサブネット用RoutingTableにインターネットゲートウェイの関連付け
    • 作成したサブネットをパブリックサブネット用RoutingTableに繋ぎかえる
  • RDS構築編(本エントリ)
    • MySQLの設定変更(DBパラメータグループの作成)
    • DBサブネットグループを作成
    • RDS用セキュリティグループの作成
    • RDSインスタンスの作成
    • エンドポイントの確認、疎通確認
  • Elastic Beanstalk構築編
    • 環境の構築
    • .ebextensionsによるカスタマイズ
  • Laravel5アプリデプロイ編
    • gitリポジトリからclone
    • .envの編集
    • アプリで使うDBのダンプファイルをRDSにコピー
    • Laravelインストーラの準備
    • Laravel本体のインストール
    • ビルトインサーバでの疎通確認
    • Elastic Beanstalkへのデプロイ

MySQLの設定変更

my.cnf等のコンフィグファイルに記述していた内容をRDS風に記述する。RDSでは「DBパラメータ」に設定を記述していく。まず、DBパラメータを作成する。

文字コード関連の設定

init_connectパラメータの設定。デフォルトの設定をファイルに落とし、ファイルを変更する。

DBサブネットグループを作成

DB構築編にてAvailabilityZoneが異なるDB用サブネットを2個作成した。それぞれID/tagは”subnet-131feb65″/”subnet public db1″、”subnet-d6d2d38f”/”subnet public db2″であった。

DB サブネットグループmydbsubnetgroupを作成する。

RDS用セキュリティグループの作成

RDS用セキュリティグループ myrds を作成する。

RDS MySQLにVPCから接続するために、RDS用セキュリティグループに3306からのInbound許可設定を行う。(作成済のVPCセキュリティグループのIDはsg-73490c17。)

[参考] 下記のようにCIDR標記のアドレスを指定するとVPCの外部からも接続可能になる。

RDSインスタンスの作成

DBパラメータグループ、デフォルトセキュリティグループ、RDS用セキュリティグループを指定する。
外部からの接続を許可する場合 — publicly-accessible を指定する必要がある。

疎通確認

エンドポイントを確認する。予めjqコマンドを利用可能にしておくこと。

PublicIp、PublicDnsName を確認する。

mysql コマンドでエンドポイントに接続してみる。

-Laravel, AWS

Copyright© ikuty.com , 2024 AllRights Reserved Powered by AFFINGER4.