前提・実現したいこと
■前提
TeraTerm、AWSVPNにて踏み台サーバ接続済み(ローカルPC)
■実現したいこと
ローカル環境をDockerでLAMP構築しているのですが、
ローカルのDockerからEC2上にあるRDS(MySQL)へ接続ができません。
秘密鍵(.pem)を使用したssh認証周りの設定方法がわからなく悩んでおります
他にも設定がおかしい点(フォルダ構造など)がありましたらご享受お願いします。
■環境
Docker
-Apache(PHP7.4)
-Redis
EC2
-MySQL
Dockerフォルダ構成
docker-compose.yml
Laravel_Project
redis
web
├── Dockerfile
├── 000-default.conf
└── php.ini
docker-compose.yml
yml
1version: '3.8' 2 3services: 4 web: 5 build: ./web 6 ports: 7 - '80:80' 8 volumes: 9 - ./Laravel_Project:/var/www/html 10 depends_on: 11 - redis 12 tty: true 13 stdin_open: true 14 privileged: true 15 16 redis: 17 image: redis:latest 18 volumes: 19 - ./redis/data:/data 20 ports: 21 - 6379:6379 22 command: redis-server
DockerFile
DockerFile
1FROM php:7.4-apache 2 3# php.iniのupdate 4COPY php.ini /usr/local/etc/php/ 5 6RUN apt-get update 7RUN apt-get install -y vim 8RUN apt-get install -y zip unzip git 9 10# node.js install(Vue用) 11RUN curl -sL https://deb.nodesource.com/setup_12.x | bash - 12RUN apt-get install -y nodejs 13 14# redis 15RUN git clone https://github.com/phpredis/phpredis.git /usr/src/php/ext/redis 16RUN docker-php-ext-install pdo_mysql redis 17 18# Composer install 19COPY --from=composer:latest /usr/bin/composer /usr/bin/composer 20ENV COMPOSER_ALLOW_SUPERUSER 1 21ENV COMPOSER_HOME /composer 22ENV PATH $PATH:/composer/vendor/bin 23 24# Apacheのマウント設定 25COPY 000-default.conf /etc/apache2/sites-enabled/ 26 27# LaravelProject配下の読み込むenv設定 28ARG APP_ENV=development 29ENV APP_ENV=$APP_ENV 30 31# これがないとApacheとLaravelの疎通がうまくいかない 32RUN a2enmod rewrite 33 34WORKDIR /var/www/html
000-default.conf
conf
1<VirtualHost *:80> 2 ServerName localhost 3 ServerAdmin webmaster@localhost 4 DocumentRoot /var/www/html/public 5 6 ErrorLog ${APACHE_LOG_DIR}/error.log 7 CustomLog ${APACHE_LOG_DIR}/access.log combined 8 9 <Directory /var/www/html/public> 10 Options Indexes FollowSymLinks 11 AllowOverride All 12 Require all granted 13 </Directory> 14</VirtualHost>
試したこと
Laravel_project内にある.envの値を以下のように変更
env
1DB_CONNECTION=mysql 2DB_HOST=RDSエンドポイント名 3DB_PORT=3306 4DB_DATABASE=接続先DB名 5DB_USERNAME=RDSエンドポイントマスターユーザID 6DB_PASSWORD=RDSのpassword
あなたの回答
tips
プレビュー