티스토리 뷰
Cloud9은 원래 Cloud9는 독자적인 IDE였지만, 2019년도에 AWS에 인수합병되어서 이제는 AWS에서 운영되고 있는 Cloud형 IDE 중 하나입니다. (구름 IDE 서비스와 같다고 보면 됩니다.)
최근에는 한국서버에서도 Cloud9 서비스를 사용할 수 있는만큼 점점 사용국가를 늘리고 있는 실태입니다.
하지만 이런 Cloud9의 단점이 존재하는 것이 있는데요,
AWS에 로그인된 브라우저가 아닌 상태에서 접속을 시도할 경우 다음과같이 접근차단이 걸립니다.
이는 Cloud9은 AWS의 내부 IP(사설 IP)를 사용하기 때문입니다.
개인적인 생각인데 AWS은 유저 사용량에 비해 보유하고있는 공인IP 갯수가 적다보니, 아무래도 내부적으로 사설IP를 돌리는게 아닌가 싶습니다.
앞전에 Cloud9 사진을 보여드렸을 때, 보면 서버를 열 때에 있어서도
rails s -b 0.0.0.0 -p 80
Ruby on Rails는 공인IP 기반 서버 실행에 있어선 보통 위 명령어를 통해 열어야 하나, 저는 위 명령어를 통해 열지도 않았습니다. 왜냐하면 AWS Cloud9의 Preview(DEMO) 사이트에 접속하기 위해선 localhost를 통해서만 갈 수 있기 때문입니다.
이 문제를 해결하는 방법은 다음과 같습니다.
1. AWS에서 고정 공인 IP로서 사용되는 탄력적 IP를 하나 받아둡니다.
부록 탄력적 IP 부여받는법 [클릭]
2. Cloud9 프로젝트에 연동하고자 하는 IP 하나를 선택 후, 우측의 작업 → 탄력적 IP 주소 연결 을 클릭합니다.
3. 탄력적 IP를 Cloud9과 연동된 EC2 서버에 연동합니다.
참고 Cloud9 프로젝트는 EC2 서버에 의존되는 형식입니다.
준비가 되셨다면 연결 버튼 클릭을 해주세요.
4. EC2로 가서 탄력적 IP가 잘 연동되었는지 확인합니다.
참고 탄력적IP는 과거에 검은색 글씨와는 달리 하늘색 하이퍼링크로 표현됩니다.
5. 고정IP(탄력적 IP)가 연동된 AWS Cloud9 프로젝트를 재접속 합니다.
6. [Ruby on Rails 기준] 서버를 켜보겠습니다.
1) EC2 보안그룹 : 인바운드 규칙 에 있어 3000포트를 허용해주세요.
부록 인바운드 설정법 ( Chapter 1 부분 참고) [클릭]
2) AWS Cloud9 프로젝트 내 터미널에 다음 명령어를 입력해서 서버를 킵니다.
rails s -b 0.0.0.0 -p 3000
참고 80번 포트는 설정의 번거로움이 있어 Rails의 기본 포트인 3000번 포트로 대체합니다.
부록 80번 포트는 super user 상태에서만 접근이 허용됩니다.
7. 이제 AWS가 로그인 되지 않은 타 브라우저로도 고정IP(탄력적 IP)를 통해 접속을 해보세요!
AWS 로그인이 되어있지 않더라도 어디서든 접속이 가능합니다!
'프로그래밍 공부 > AWS' 카테고리의 다른 글
AWS : Ruby on Rails ↔ AWS RDS 서버 연동 (PostgreSQL 기반) (2) | 2020.01.15 |
---|---|
AWS : EC2에 이더리움 Geth서버 설치 (0) | 2019.11.02 |
AWS : 아마존 도메인 구입 및 적용법 (0) | 2019.11.02 |
AWS : 외부 도메인 적용법 (0) | 2019.11.02 |
AWS : 레일즈 - gem 'uglifier' 에러 해결 방법 (0) | 2019.11.02 |