EC2와 RDS를 사용하여 Rails 앱을 AWS에 올릴 때 막힌 점 - 그 2-
● 시작하기
아래의 기사를 참고로 EC2와 RDS에를 사용하여 Rails 앱을 AWS에 배포할 때 막힌 점과 그 해결 방법을 정리했습니다.
세계 제일 정중한 AWS 해설. EC2를 사용하여 Rails 앱을 AWS에 올 때까지
3. 데이터베이스를 만들고 연결할 수 없음 (RDS와 Rails 연결)
RDS를 사용했기 때문에 참고 사이트에 기술되어 있는 MySQL의 설정 방법과는 다른 방법으로 구현할 필요가 있습니다.
RDS와 Rails를 연결할 때 신경 쓰는 두 가지 주요 포인트입니다.
1. RDS 보안 그룹에서 EC2 인스턴스의 브라이베이트 IP로부터의 연결을 허용하는가?
보안 그룹은 AWS console에서 RDS를 열고 DB를 선택하면 확인할 수 있습니다.
2. database.yml의 production에 RDS의 DB명(DB 식별자), 유저명, 패스워드, host명(엔드포인트)이 올바르게 기술되어 있는지
database.ymlproduction:
<<: *default
database: ~~~~~~~~~~~~~~~~
username: ~~~~~~~~~~~~~~~~
password: <%= ENV['DB_PASSWORD'] %>
host: <%= ENV['DB_HOST'] %>
DB 식별자·엔드포인트는 방금 표시한 RDS의 화면에서 확인할 수 있군요!
사용자 이름과 비밀번호는 RDS를 만들 때 입력한 것입니다.
직접 치는 것은 그만두고 제대로 환경 변수로 관리합시다.
환경 변수는 로컬로 설정한 것은 반영되지 않습니다. 프로덕션 환경에서 설정합시다.
4. Nginx의 기동·정지 커맨드
참고로 한 사이트에는 다음과 같이 되어 있습니다.
$ sudo service nginx start
그러나 CentOS7 이상을 사용하는 경우에는 이 명령으로 실행해야 합니다.
$ sudo systemctl start nginx
※CentOS의 확인 방법에 관해서는, 기사를 발견했습니다.
Linux(CentOS)의 OS 버전을 확인하는 방법
그리고 가장 중요한 점은, 기동과 정지 커멘드를 반드시 동일하게 해 주세요
즉, 서비스로 시작하면
$ sudo service nginx stop
systemctl로 시작하면
$ sudo systemctl stop nginx
를 입력하고 중지합니다. 다시 시작할 때도 마찬가지입니다.
여기에서 다른 방법으로 정지해 버리면, 쓰레기 파일이 태어나 버려, 에러가 생기는 일이 있는 것 같습니다.
자신은 그것으로 기동도 정지도 재기동도 할 수 없는 상태가 되었습니다・・・
그 때는 우선 kill 명령으로 한쪽 끝에서 삭제하고 해결했습니다.
● 정리
이상이 세계 제일 정중한 AWS 해설. EC2를 사용하여 Rails 앱을 AWS에 올 때까지 을 참고로 실장해, 막힌 점입니다.
매우 알기 쉬운 기사이므로, 이 기사를 중심으로 실장해, 이 기사나 다른 기사로 보충하면 어떻게든 실장할 수 있을까 생각합니다. 포트폴리오 작성중인 여러분, 최선을 다하십시오!
Reference
이 문제에 관하여(EC2와 RDS를 사용하여 Rails 앱을 AWS에 올릴 때 막힌 점 - 그 2-), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/d01masatooo11/items/b24880030af35ca6d5e9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
RDS를 사용했기 때문에 참고 사이트에 기술되어 있는 MySQL의 설정 방법과는 다른 방법으로 구현할 필요가 있습니다.
RDS와 Rails를 연결할 때 신경 쓰는 두 가지 주요 포인트입니다.
1. RDS 보안 그룹에서 EC2 인스턴스의 브라이베이트 IP로부터의 연결을 허용하는가?
보안 그룹은 AWS console에서 RDS를 열고 DB를 선택하면 확인할 수 있습니다.
2. database.yml의 production에 RDS의 DB명(DB 식별자), 유저명, 패스워드, host명(엔드포인트)이 올바르게 기술되어 있는지
database.yml
production:
<<: *default
database: ~~~~~~~~~~~~~~~~
username: ~~~~~~~~~~~~~~~~
password: <%= ENV['DB_PASSWORD'] %>
host: <%= ENV['DB_HOST'] %>
DB 식별자·엔드포인트는 방금 표시한 RDS의 화면에서 확인할 수 있군요!
사용자 이름과 비밀번호는 RDS를 만들 때 입력한 것입니다.
직접 치는 것은 그만두고 제대로 환경 변수로 관리합시다.
환경 변수는 로컬로 설정한 것은 반영되지 않습니다. 프로덕션 환경에서 설정합시다.
4. Nginx의 기동·정지 커맨드
참고로 한 사이트에는 다음과 같이 되어 있습니다.
$ sudo service nginx start
그러나 CentOS7 이상을 사용하는 경우에는 이 명령으로 실행해야 합니다.
$ sudo systemctl start nginx
※CentOS의 확인 방법에 관해서는, 기사를 발견했습니다.
Linux(CentOS)의 OS 버전을 확인하는 방법
그리고 가장 중요한 점은, 기동과 정지 커멘드를 반드시 동일하게 해 주세요
즉, 서비스로 시작하면
$ sudo service nginx stop
systemctl로 시작하면
$ sudo systemctl stop nginx
를 입력하고 중지합니다. 다시 시작할 때도 마찬가지입니다.
여기에서 다른 방법으로 정지해 버리면, 쓰레기 파일이 태어나 버려, 에러가 생기는 일이 있는 것 같습니다.
자신은 그것으로 기동도 정지도 재기동도 할 수 없는 상태가 되었습니다・・・
그 때는 우선 kill 명령으로 한쪽 끝에서 삭제하고 해결했습니다.
● 정리
이상이 세계 제일 정중한 AWS 해설. EC2를 사용하여 Rails 앱을 AWS에 올 때까지 을 참고로 실장해, 막힌 점입니다.
매우 알기 쉬운 기사이므로, 이 기사를 중심으로 실장해, 이 기사나 다른 기사로 보충하면 어떻게든 실장할 수 있을까 생각합니다. 포트폴리오 작성중인 여러분, 최선을 다하십시오!
Reference
이 문제에 관하여(EC2와 RDS를 사용하여 Rails 앱을 AWS에 올릴 때 막힌 점 - 그 2-), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/d01masatooo11/items/b24880030af35ca6d5e9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ sudo service nginx start
$ sudo systemctl start nginx
$ sudo service nginx stop
$ sudo systemctl stop nginx
이상이 세계 제일 정중한 AWS 해설. EC2를 사용하여 Rails 앱을 AWS에 올 때까지 을 참고로 실장해, 막힌 점입니다.
매우 알기 쉬운 기사이므로, 이 기사를 중심으로 실장해, 이 기사나 다른 기사로 보충하면 어떻게든 실장할 수 있을까 생각합니다. 포트폴리오 작성중인 여러분, 최선을 다하십시오!
Reference
이 문제에 관하여(EC2와 RDS를 사용하여 Rails 앱을 AWS에 올릴 때 막힌 점 - 그 2-), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/d01masatooo11/items/b24880030af35ca6d5e9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)