前提・実現したいこと
既存のLaravelアプリケーションをFargateで動かしたく、Copilotを用いてデプロイし、ELBを用いて
インターネットからアクセスしたい。
発生している問題・エラーメッセージ
CopilotのFrontendのテンプレートを用いるとうまくいかない為、Backendを用いてデプロイしました。
execでコンテナに入り、 artisan serveでビルトインサーバー立ち上げALBを用いることでアクセスできました。
CopilotのSidecarにNginxを設定し、同様に試してみたところうまくアクセスできませんでした。
ALBではなくNLBを用い、ポート番号をいじったりしてみたところ、nginxにはアクセスできましたが
504 Gateway Time-outになってしまいます。
Laravelアプリはテストのためインストールしたばかりの初期の状態で試しています。
原因について考えたこと・試したこと
Sidecarを用いず、手動で同クラスタ内にnginxのサービスを立ち上げてみましたが、同様の結果でした。
ターゲットグループを色々弄り試してみましたが、どれもうまくいきませんでした。
コード等情報
nginx
Dockerfile
1FROM nginx:latest 2 3# 設定ファイルを指定の場所に置く 4ENV PHP_HOST=127.0.0.1 5 6ENV SERVER_HOST localhost 7RUN apt-get update && apt-get install -y curl 8 9COPY ./liver /works 10COPY ./docker/nginx/default.conf /etc/nginx/conf.d/default.conf.template 11EXPOSE 80 12 13CMD /bin/sh -c 'sed "s/${PHP_HOST}/$PHP_HOST/" /etc/nginx/conf.d/default.conf.template > /etc/nginx/conf.d/default.conf && nginx -g "daemon off;"'
default.conf
default
1server { 2 listen 80; 3 root /work/public; 4 5 proxy_connect_timeout 600; 6 proxy_send_timeout 600; 7 proxy_read_timeout 600; 8 send_timeout 600; 9 fastcgi_read_timeout 600; 10 11 add_header X-Frame-Options "SAMEORIGIN"; 12 add_header X-XSS-Protection "1; mode=block"; 13 add_header X-Content-Type-Options "nosniff"; 14 15 index index.php; 16 17 charset utf-8; 18 19 error_page 404 /404.html; 20 error_page 505 502 503 504 /500.html; 21 22 location / { 23 try_files $uri $uri/ /index.php?$query_string; 24 } 25 26 location ~ .php$ { 27 # fastcgi_pass app:9000; # local 28 fastcgi_pass 172.0.0.1:9000; # AWS 29 fastcgi_index index.php; 30 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 31 include fastcgi_params; 32 } 33 34 location ~ /.(?!well-known).* { 35 deny all; 36 } 37}
Laravel
php.ini
zend.exception_ignore_args = off expose_php = on max_execution_time = 180 max_input_vars = 1000 upload_max_filesize = 64M post_max_size = 128M memory_limit = 256M error_reporting = E_ALL display_errors = on display_startup_errors = on log_errors = on error_log = /dev/stderr default_charset = UTF-8 [Date] date.timezone = Asia/Tokyo [mysqlnd] mysqlnd.collect_memory_statistics = on [Assertion] zend.assertions = 1 [mbstring] mbstring.language = Japanese
manifest.yml
name: backend type: Backend Service image: build: context: . dockerfile: docker/Dockerfile # port: 8000 http: path: "backend" targetContainer: "nginx" cpu: 256 # Number of CPU units for the task. memory: 512 # Amount of memory in MiB used by the task. count: 1 # Number of tasks that should be running in your service. exec: true # Enable running commands in your container. network: vpc: placement: "private" sidecars: nginx: port: 80 image: 403403302361.dkr.ecr.ap-northeast-1.amazonaws.com/nginx-sidecar:latest
回答1件
あなたの回答
tips
プレビュー