웹사이트 검색

Amazon S3를 사용하여 정적 웹 사이트를 만드는 방법


이 페이지에서

  1. 전제 조건
  2. 무엇을 할 것인가?\n
  3. S3 버킷 생성
  4. 정적 웹사이트 호스팅 활성화\n
  5. 적절한 버킷 정책 설정\n
  6. 정적 웹페이지 테스트
  7. 결론

Amazon Simple Storage Service(S3)는 인터넷을 통해 객체를 저장하고 액세스하기 위해 Amazon Web Services(AWS)에서 제공하는 웹 서비스입니다. S3는 웹 사이트, 웹 서비스 및 모바일 애플리케이션에 데이터를 업로드하고 미국에 있는 서버에 저장할 수 있는 기능을 제공합니다. TCP 기반 프로토콜을 사용하여 HTTP/S에서 작동합니다. S3 사용은 넣기 작업(스토리지) 및 GET 요청(검색) 모두에 대해 무료입니다.

객체를 받거나 저장하기 위해 버킷을 열려면 특수 암호화 키뿐만 아니라 계정 생성 후 Amazon에서 제공하는 공유 키도 필요합니다. 사용자는 매월 5GB의 저장 공간을 버킷에 저장할 수 있는 양의 제한 없이 제공하는 계정에 무료로 가입할 수 있습니다.

Amazon S3는 중복성을 위해 여러 시설에 데이터를 저장하여 99.999999999%의 내구성을 제공합니다. Amazon S3는 Amazon이 자체 사이트의 데이터 가용성을 보장하기 위해 사용하는 것과 동일한 복제 기술을 사용합니다. 이 서비스는 사용된 애플리케이션과 저장된 데이터 양을 기준으로 처리량과 비용을 최적화하는 동시에 데이터 손실을 방지하는 것을 목표로 합니다.

또한 사용자가 S3를 통해 업로드 또는 다운로드되는 데이터의 양에 대한 분석을 보고, 사용 중인 대역폭의 양을 제어하거나 모바일 지원 솔루션을 활용할 수 있는 기능도 있습니다. Amazon S3는 인터넷을 통해 사용자에게 무료로 제공됩니다. 데이터 전송 속도는 무제한입니다. 대기 시간이 짧은 1초 이내에 어디서나 데이터를 검색할 수 있으므로 거의 실시간으로 리소스에 액세스할 수 있습니다. 또한 호스트 리소스에 대한 지속적인 자본 투자가 필요하지 않은 대체 클라우드 스토리지 옵션을 제공하여 호스팅 비용 및 용량 계획을 제거합니다.

Amazon S3는 모든 유형, 크기 및 형식의 객체를 지원합니다. 객체는 모든 버킷에 저장할 수 있지만 객체 이름을 통해 액세스할 수 있어야 합니다. 사용자는 HTTP 또는 HTTPS를 통해 사내 시스템 및 공용 시스템에서 NFS(네트워크 파일 시스템) 또는 POSIX 파일 시스템 기능의 통합을 지원하는 버킷으로 파일 및 폴더를 업로드할 수 있습니다. 사용자는 Amazon S3에 계정이 있는 다른 사용자(AWS를 통해 생성)와 최대 70GB의 스토리지 공간을 공유하여 버킷에 액세스하는 사람을 직접 제어할 수 있습니다.

웹 사이트를 만드는 것은 어려운 작업이 될 수 있습니다. 압도 당하기 쉬운 옵션과 선택 사항이 너무 많습니다. 하지만 호스팅, 도메인 이름 또는 서버 설정에 대해 걱정할 필요 없이 웹사이트를 만들 수 있다면 어떨까요? Amazon S3를 사용하면 컴퓨터와 인터넷 연결만 있으면 정적 웹 사이트를 쉽게 만들 수 있습니다. 이 블로그 게시물에서는 Amazon S3를 사용하여 정적 웹 사이트를 설정하는 방법을 잘 보여줍니다. 또한 웹사이트에 Amazon S3를 사용할 때 얻을 수 있는 몇 가지 이점에 대해서도 논의하십시오. 시작하겠습니다!

전제 조건

Amazon S3를 사용하여 정적 웹 사이트를 생성하려면 다음이 필요합니다.

  • Amazon S3에서 웹사이트를 구성하기 위한 Amazon AWS 계정. 이 데모는 무료이며 Amazon S3 정적 웹 사이트와 결합할 때만 큰 이점이 있는 무료 계층 Amazon 계정을 사용합니다.\n

우리는 무엇을 할 것인가?

이 가이드에서는 Amazon S3를 사용하여 간단한 정적 웹 사이트를 만들고 구성합니다. 또한 사용자 지정 오류 페이지로 정적 웹 사이트를 구성하는 과정도 진행합니다. 이 가이드는 유지 관리가 쉽고 매우 비용 효율적인 HTML, CSS, JavaScript 웹 사이트를 만드는 방법을 보여줍니다.

정적 웹사이트는 정적 페이지로만 구성된 웹사이트입니다. php, asp 또는 nodejs와 같은 서버 측 스크립팅 언어를 포함하지 않습니다. 모든 웹 페이지가 저장되는 하나의 html 파일로만 구성됩니다. 정적 웹사이트 호스팅은 새로운 것이 아니며 오랫동안 사용되어 왔습니다.

정적 사이트를 사용하면 걱정할 해커가 없으며 웹 페이지를 제공하는 기능만 있으면 됩니다. Amazon S3와 결합하면 비용은 사이트당 1~2달러 정도로 미미합니다. 그런 다음 거기에서 수백만 명의 독자와 함께 청중의 요구를 충족하도록 웹 페이지를 확장할 수 있습니다.

정적 웹 사이트를 호스팅하려면 Amazon S3 버킷을 생성합니다.

그런 다음 해당 버킷에 콘텐츠를 업로드합니다.

S3 버킷의 퍼블릭 읽기 액세스는 의도적이어야 합니다. 모든 사람이 버킷을 읽을 수 있는 것이 중요합니다. 버킷 정책을 살펴보는 이 가이드의 뒷부분에서 이에 대해 자세히 논의하십시오.

그러면 웹 사이트는 아래 URL과 같은 AWS S3 엔드포인트에서 사용할 수 있습니다.

이 단계별 가이드를 완료하는 데 필요한 모든 파일을 다운로드하고 사용할 GitHub 저장소 링크가 있습니다. 준비 되었나요? 좋은. 계속해서 AWS 콘솔에 로그인할 수 있습니다.

S3 버킷 생성

정적 웹 사이트를 생성하려면 먼저 S3 버킷을 생성하고 구성해야 합니다. Amazon S3를 사용하여 정적 웹 사이트를 생성하면 사이트가 해당 버킷에 저장됩니다.

1. AWS Console에서 S3 대시보드 ---> 버킷 만들기로 이동합니다.

2. 고유한 버킷 이름(my-howtoforge-bucket-7Vftzchzw)을 입력합니다. 버킷 이름이 고유한지 확인하십시오. 버킷 이름에는 소문자, 숫자, 하이픈만 포함할 수 있습니다. S3 버킷 이름은 다른 사람이 동일한 이름으로 버킷을 생성하고 웹 사이트를 덮어쓰지 못하도록 모든 Amazon S3에서 고유해야 합니다. 또한 두 도메인이 동일한 이름을 가질 수 없으므로 경로는 DNS를 준수해야 합니다.

3. 모든 공용 액세스 차단 확인란의 선택을 취소합니다. 웹사이트를 비공개로 유지하려면 이 체크박스를 선택하세요. 선택하면 인증된 AWS 계정만 웹 사이트에 액세스할 수 있습니다. 이 경우 이 확인란의 선택을 취소하여 예제를 공개합니다. 따라서 누구나 S3 버킷에서 html 파일을 검색하고 웹 페이지를 볼 수 있습니다. 현재 설정을 확인합니다... 체크박스를 선택합니다.

4. 페이지 하단에서 버킷 생성을 클릭합니다.

5. 새 S3 버킷의 세부 정보와 함께 "버킷 생성 성공"이라는 녹색 메시지가 표시됩니다. 버킷 이름 ---> Copy ARN을 클릭합니다. ARN(Amazon 리소스 이름)은 AWS 리소스의 고유 식별자입니다. S3 버킷을 생성하면 Amazon은 새 버킷에 대해 고유한 ARN을 생성합니다. AWS 리소스가 안전한지 확인하기 위해 Amazon에서는 리소스를 생성하거나 수정할 때 고유한 식별자 또는 Amazon에서 생성한 식별자를 사용해야 합니다. 이 ARN을 사용하여 버킷을 추적하고 정적 웹 사이트를 생성합니다.

6. 업로드 ---> 파일 추가 ---> 이전에 다운로드한 파일 선택 ---> 업로드를 클릭합니다.

웹 사이트 업로드는 Amazon S3를 사용하여 정적 사이트를 설정하는 가장 쉬운 부분입니다. 업로드 프로세스를 완료하는 데 몇 분 정도 걸릴 수 있습니다. 완료되면 녹색 성공 메시지를 볼 수 있습니다.

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

이제 웹 사이트가 Amazon S3에 업로드되었으므로 웹 사이트를 볼 수 있도록 활성화해야 합니다. 정적 웹사이트 호스팅을 사용하면 정적 콘텐츠용으로 설계된 웹 서버에서 정적 HTML, CSSJavaScript 페이지를 제공할 수 있습니다. 동적 웹 페이지(예: PHP 또는 ASP)보다 비용 효율적입니다.

정적 웹 사이트 호스팅은 이미지, CSS, JS 및 기타 정적 파일과 같은 다양한 종류의 파일을 제공하는 데 사용할 수 있습니다. 이러한 파일은 자주 변경되지 않으며 매우 저렴한 비용으로 쉽게 제공됩니다.

1. 속성 ---> 정적 웹사이트 호스팅 ---> 수정 ---> 사용을 클릭합니다.

2. 사용 --->호스팅 유형을 정적 웹사이트 호스팅으로 선택합니다. Index 문서를 index.html로, 오류 문서를 error.html로 채웁니다. 아래로 스크롤하고 변경 사항 저장을 클릭합니다.

웹 사이트 호스팅을 활성화하면 인덱스 문서를 업로드해야 합니다. 인덱스 문서는 사용자가 루트 도메인 이름(예: http://my-bucket.s3.amazonaws.com/)을 사용하여 웹 사이트에 액세스할 때 보게 되는 첫 번째 파일입니다.

인덱스 문서를 생성하지 않거나 나중에 삭제하는 경우 Amazon S3는 404 오류 페이지 또는 기본 인덱스 파일을 반환합니다. 기본 인덱스 파일은 버킷 이름, 마지막 액세스 날짜 및 기타 일반 정보를 표시할 수 있습니다. 색인 문서 이름은 대소문자를 구분하며 사이트 루트에 업로드하는 색인 문서의 이름과 정확히 일치해야 하므로 색인 문서 이름의 철자가 올바른지 확인하십시오.

오류 문서는 사용자가 웹 사이트에 액세스하려고 시도하는 동안 오류가 발생하는 경우 표시되는 페이지입니다. 이 파일은 선택 사항이지만 권장됩니다. 사용자 지정 오류 문서를 업로드하지 않으면 Amazon S3는 기본 404 오류 페이지 또는 인덱스 문서(있는 경우)를 반환합니다. 오류 문서 이름도 대소문자를 구분하므로 업로드하는 오류 문서 이름의 철자가 올바른지 확인하십시오.

3. 버킷에 대해 정적 웹사이트 호스팅을 성공적으로 활성화하면 AWS S3 패널에 녹색 성공적으로 정적 웹사이트 호스팅을 수정했습니다.가 표시됩니다. 사이트의 버킷 엔드포인트도 표시됩니다. 버킷 이름 뒤에 s3.website.yourregion.amazonaws.com이 붙습니다.

4. 원하는 브라우저에서 해당 URL을 열면 403 Forbidden 메시지가 표시됩니다. 적절한 정책이 할당되지 않았기 때문입니다. 다음 단계에서 버킷에 액세스하기 위한 적절한 정책을 설정합니다.

적절한 버킷 정책 설정

이제 Amazon S3에서 웹 사이트 호스팅을 활성화했으므로 여기에 액세스하려면 버킷 정책을 설정해야 합니다. 버킷 정책은 Amazon S3 버킷에 액세스하기 위한 권한 집합입니다. 공개적으로 웹 사이트에 액세스하려면 버킷에 대한 공개 액세스를 허용하는 버킷 정책을 추가해야 합니다.

1. S3 대시보드에서 권한 탭 ---> 편집을 클릭합니다.

2. 이 JSON 파일의 줄을 복사하여 JSON 편집기에 붙여넣습니다. 을 이전에 저장한 실제 ARN으로 바꿉니다.

  • 버전: 2012-10-17은 버킷 정책의 버전입니다.
  • 문: PublicReadGetObject는 지정된 버킷의 모든 개체에서 수행될 작업입니다.\n
  • Principal: Principal 요소는 객체에 지정된 작업을 수행할 수 있는 AWS 계정, IAM 사용자 또는 그룹을 지정합니다. 명령문에서 식별된 보안 주체가 여러 개인 경우 Action 요소를 Allow 또는 Deny로 설정하여 조치를 취할 수 있는 보안 주체를 지정해야 합니다.\n
  • 액션: 액션 요소는 허용되는 액세스 유형을 지정합니다.\n
  • Resource: Resource 요소는 권한이 적용되는 개체를 지정합니다.\n
  • 이 경우 모든 사람이 버킷에 액세스하고 버킷에서 객체(s3:GetObject)를 선택할 수 있도록 하는 PublicReadGetObject 규칙을 설정합니다. 따라서 Principal 라인에 별표 *가 있습니다. 리소스의 별표 *는 S3 버킷 정책이 버킷의 모든 객체에 적용됨을 지정합니다. 정책을 편집한 후 표시된 대로 별표가 끝에 있어야 합니다.\n

3. 완료되면 변경사항 저장을 클릭합니다.

이제 아래와 같이 버킷에 공개적으로 액세스할 수 있습니다. 정책이 즉시 적용되는 것을 확인할 수 있습니다.

정적 웹페이지 테스트

이제 버킷 정책을 설정했으므로 브라우저에서 엔드포인트 URL을 열어 정적 웹 페이지에 액세스할 수 있습니다.

1. 이전에 S3 버킷 엔드포인트 URL을 열었던 브라우저로 다시 이동합니다. S3 버킷 끝점 URL을 다시 로드하면 이번에는 404 오류가 사라진 것을 볼 수 있습니다. 404 오류가 표시되면 버킷 정책에 문제가 있음을 의미합니다. 아래와 같이 정적 웹 페이지가 브라우저에 표시됩니다. 이제 멋진 형식의 페이지 HTML 버전이 표시되어야 합니다.

2. 존재하지 않는 URL로 이동하여 오류 웹 페이지를 테스트할 수도 있습니다. 아래와 같이 이전에 업로드한 오류 웹 페이지가 표시되어야 합니다.

결론

이 가이드에서는 Amazon S3에서 정적 웹 사이트를 무료로 호스팅하는 방법을 설명했습니다. 이 가이드는 또한 웹사이트 업로드, 적절한 버킷 정책 설정 및 정적 웹사이트 호스팅 활성화의 전체 프로세스를 다루었습니다. 이 가이드는 저렴한 비용으로 무료로 웹사이트를 호스팅하는 간단한 방법입니다. Amazon S3에서 청구하는 비용은 다른 서비스에 비해 매우 저렴합니다.

이 기사가 도움이 되었습니까? 이해하기 쉬웠나요? 아래에 의견을 남겨 의견을 공유할 수 있습니다. 이 새로운 지식을 활용하여 이제 Amazon S3에 대한 정적 웹 사이트 배포를 자동화할 수 있습니다.