Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

JINIers

S3 이용 서버리스 구축 본문

AWS/이것저것

S3 이용 서버리스 구축

JINIers 2024. 3. 19. 13:36

S3를 사용한 정적 사이트 구축방법

 

생각보다 간단하다.

 


s3 → create bucket → 버킷 이름 설정 → 버킷 만들기


정적 웹사이트 호스팅 설정

 

버킷 속성 → 정적 웹 사이트 호스팅 → 편집

 

정적 웹사이트 호스팅 '활성화'

 

아래 그림처럼 세팅 후 저장

 

 

그럼 이렇게 주소가 생긴다.

 

index.html 파일과 error.html 파일을 버킷에 저장해준다.

 

그리고 접속하면 403 에러가 뜸!

 

access denied 가 떴는데 접근을 허용하려면 bucket policy를 변경해줘야한다.


bucket policy 변경

 

bucket → 권한 → 퍼블릭 액세스 차단(버킷설정) 설정 → 모든 퍼블릭 액세스 차단 해제 → 변경사항 저장

 

 

그럼 퍼블릭 액세스 차단이 비활성으로 바뀐다.

 

버킷 정책 → 편집

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid":"PublicReadForGetBucketObjects",
            "Effect": "Allow", 
            "Principal": "*", 
            "Action": "s3:GetObject", 
            "Resource": "arn:aws:s3:::[버킷이름]/*" 
        } 
    ] 
}

 

설정한 뒤 웹사이트 새로고침하면 된다.

정상적으로 뜸
에러도 정상적으로 뜸


redirection rules

특정경로, http 오류코드 등의 조건에 따라 라우팅을 지정해주는 기능

ming/에 접근하면 svt/로 리다이렉트 하게 만들어 줄거임

 

속성 → 정적 웹사이트 호스팅 편집 → 리디렉션 규칙 작성

* 리디렉션 구성 참고 : https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/how-to-page-redirect.html#redirect-endpoint-host

[
    {
        "Condition": {
            "KeyPrefixEquals": "ming/"
        },
        "Redirect": {
            "ReplaceKeyPrefixWith": "svt/"
        }
    }
]

 

cloud shell을 열어서 아래 명령어 입력

curl -I [웹사이트 엔드포인트]/ming/

curl -I http://serverless-bucket-0526.s3-website.ap-northeast-2.amazonaws.com/ming/

그럼 location이 ming/에서 svt/로 변경된 것을 알 수 있음

 

 

404 오류가 발생했을 때 404 전용 오류 페이지로 리다이렉트 설정

일단 404.html 파일을 만들어 버킷에 업로드 한다.

 

속성 → 정적 웹사이트 호스팅 편집 → 리디렉션 규칙 작성 → 규칙 추가

[
    {
        "Condition": {
            "HttpErrorCodeReturnedEquals": "404"
        },
        "Redirect": {
            "HostName": "[hostname 입력]",
            "ReplaceKeyPrefixWith": "404.html"
        }
    }
]

 

결과

 


이긴한데 이게 맞는지 모르겠다.

어쨌든 여기까지 끝.!

Comments