가끔 간단하게 Static 한 웹서비스를 해야할 필요가 있을때가 있다. 가령 다음과 같은 경우가 있을수 있겠다.

 

§   서버를 유지보수/릴리즈 하는 동안 자동적으로 적절한 안내페이지를 한다.

§   임시로 필요한 간단한 웹페이지

§   등등.

 

** AWS는 도메인을 관리하는 Route 53서비스를 제공하는데 이곳에서 도메인을 구매해서 등록하고 DNS 정보를 관리할 수 가있는데, 이 설정에서 Latency Based Routing, Weighted Round Robin, DNS Failover, Geo Routing와 같은 알고리즘을 적용하여 보다 다양하게 S3를 통한 웹서비스를 활용할 수 있다.

 

 

이런 경우 해당 서비스를 위해서 웹서버를 구성하는 등의 작업은 불필요한 컴퓨팅 자원을 소모할 뿐만 아니라 관리도 좀 번거롭게 되는데 이럴때 AWS 에서 제공하는 S3서비스를 이용하여 간단하게 구성할 수 있다.

 

1.     도메인 이름과 동일한  S3버킷을 생성한다.

정적인 웹페이지를 생성하는 경우 반드시 도메인 이름과 동일하게 버킷을 생성해야한다.

 

2.     생성한 버킷에 권한 설정을 해준다.

버킷을 생성했으면 화면 오른쪽 상단에 “Properties”버튼이 보이는데 이 버튼을 선택하고 “Permissions” 섹션에 권한 설정을 할 수가 있다.

이때 ListView 에 체크가 되었는지 확인하고 “Add bucket policy”를 선택하여 권한 정책을 입력한다.




“Add bucket policy”를 선택하게 되면 Bucket Policy Editor가 나오는데, 이곳에 JSON 문법으로 적절하게 정책을 입력해줘야 한다.

 

다음은 www.coupang.com.au의 경우 적용된 정책이다.

{

        "Version": "2012-10-17",

        "Statement": [

                  {

                            "Sid": "AddPerm",

                            "Effect": "Allow",

                            "Principal": "*",

                            "Action": "s3:GetObject",

                            "Resource": "arn:aws:s3:::www.coupang.com.au/*"

                  }

        ]

}

 

위 에디터의 내용에서 주의있게 볼것은 마지막줄 버켓이름에 해당하는 와일드 카드 표현이다.


 

3.     Static Website Hosting 설정

다음은 “Static Website Hosting”섹션에 가서 “Enable website hosting”를 선택하고 호스팅에서 처음으로 인식할 인텍스 문서를 지정해준다.

위와 같이 하게되면 위화면에서도 알수 있듯이 도메인이름으로 시작되는 Endpoint URL을 주게되는데 해당 URL을 복사해서 웹사이트에서 확인해보면 해당 인덱스 도큐먼트가 서비스 되는것을 확인 할 수있다.

 

 

4.     Endpoint URL DNS서비스에서 A 레코드로 등록한다.

이와 같이 등록이 정상적으로 되었다면 사용하고 DNS 서비스에 해당 END Point URLA레코드로 등록해주면 되는데 아래의 예는 AWS에서 제공하는 Route 53의 경우이다.

 

Route 53경우 위에서 정상적으로 S3Static Website Hosting 서비스를 설정되어 있다면 A레코드 등록시(Type: A- IPv4 address) AliasYes로 선택하면 “Alias Target” 항목에 자동으로 S3에 등록한 Endpoint URLLoading 한다. (한개 이상 있을수 있기때문에 해당 목록중에 하나를 선택해주면된다.)





'DevOps' 카테고리의 다른 글

Bash shell에서 Command History 찾기  (0) 2016.10.05
AWS Architect and Developer Day @ Melbourne  (0) 2016.09.23
DevOps란 | DevOps 정의  (0) 2016.04.28
CURL의 사용법  (0) 2016.02.21
DevOps관련 멜번에서의 Hot한 이슈들...  (0) 2016.02.19
Posted by Steven J.S Min
,