EC2와 RDS를 사용하여 Rails 앱을 AWS에 올릴 때 막힌 점 - 그 2-

2855 단어 RailsRDSEC2루비AWS

● 시작하기



아래의 기사를 참고로 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.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에 올 때까지 을 참고로 실장해, 막힌 점입니다.

매우 알기 쉬운 기사이므로, 이 기사를 중심으로 실장해, 이 기사나 다른 기사로 보충하면 어떻게든 실장할 수 있을까 생각합니다. 포트폴리오 작성중인 여러분, 최선을 다하십시오!

좋은 웹페이지 즐겨찾기