

 AWS SDK for Java 1.x는 2025년 12월 31일에 end-of-support되었습니다. 새로운 기능, 가용성 개선 및 보안 업데이트를 계속 받으려면 [AWS SDK for Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/home.html)로 마이그레이션하는 것이 좋습니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon S3 버킷을 웹 사이트로 구성
<a name="examples-s3-website-configuration"></a>

웹 사이트로 작동하도록 Amazon S3 버킷을 구성할 수 있습니다. 이렇게 하려면 웹 사이트 구성을 설정해야 합니다.

**참고**  
이 코드 예제에서는 사용자가 [AWS SDK for Java 사용](basics.md)의 내용을 이해하고 [개발을 위한 AWS 자격 증명 및 리전 설정](setup-credentials.md)의 정보를 사용하여 기본 AWS 자격 증명을 구성했다고 가정합니다.

## 버킷의 웹 사이트 구성 설정
<a name="set-a-bucket-s-website-configuration"></a>

Amazon S3버킷의 웹 사이트 구성을 설정하려면 구성을 설정할 버킷 이름과 버킷의 웹 사이트 구성이 포함된 [BucketWebsiteConfiguration](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/BucketWebsiteConfiguration.html) 객체를 사용하여 AmazonS3의 `setWebsiteConfiguration` 메서드를 호출합니다.

인덱스 문서 설정은 *필수*이며, 그 밖의 다른 파라미터는 선택적 파라미터입니다.

 **가져옵니다**.

```
import com.amazonaws.AmazonServiceException;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.BucketWebsiteConfiguration;
```

 ** 코드** 

```
    String bucket_name, String index_doc, String error_doc) {
BucketWebsiteConfiguration website_config = null;

if (index_doc == null) {
    website_config = new BucketWebsiteConfiguration();
} else if (error_doc == null) {
    website_config = new BucketWebsiteConfiguration(index_doc);
} else {
    website_config = new BucketWebsiteConfiguration(index_doc, error_doc);
}

final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(Regions.DEFAULT_REGION).build();
try {
    s3.setBucketWebsiteConfiguration(bucket_name, website_config);
} catch (AmazonServiceException e) {
    System.out.format(
            "Failed to set website configuration for bucket '%s'!\n",
            bucket_name);
    System.err.println(e.getErrorMessage());
    System.exit(1);
}
```

**참고**  
웹 사이트 구성을 설정해도 버킷의 액세스 권한을 수정되지 않습니다. 또한 파일이 웹에 표시되도록 하려면 버킷 내 파일에 대한 퍼블릭 읽기 액세스 권한을 허용하는 *버킷 정책*을 설정해야 합니다. 자세한 내용은 [버킷 정책을 사용하여 Amazon S3 버킷에 대한 액세스 관리](examples-s3-bucket-policies.md) 단원을 참조하세요.

GitHub의 [전체 예제](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/SetWebsiteConfiguration.java)를 참조하세요.

## 버킷의 웹 사이트 구성 가져오기
<a name="get-a-bucket-s-website-configuration"></a>

Amazon S3 버킷의 웹 사이트 구성을 가져오려면 구성을 가져올 버킷의 이름과 함께 AmazonS3의 `getWebsiteConfiguration` 메서드를 호출합니다.

구성이 [BucketWebsiteConfiguration](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/BucketWebsiteConfiguration.html) 객체로 반환됩니다. 버킷에 대한 웹 사이트 구성이 없으면 `null`이 반환됩니다.

 **가져옵니다**.

```
import com.amazonaws.AmazonServiceException;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.BucketWebsiteConfiguration;
```

 ** 코드** 

```
final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(Regions.DEFAULT_REGION).build();
try {
    BucketWebsiteConfiguration config =
            s3.getBucketWebsiteConfiguration(bucket_name);
    if (config == null) {
        System.out.println("No website configuration found!");
    } else {
        System.out.format("Index document: %s\n",
                config.getIndexDocumentSuffix());
        System.out.format("Error document: %s\n",
                config.getErrorDocument());
    }
} catch (AmazonServiceException e) {
    System.err.println(e.getErrorMessage());
    System.out.println("Failed to get website configuration!");
    System.exit(1);
}
```

GitHub의 [전체 예제](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/GetWebsiteConfiguration.java)를 참조하세요.

## 버킷의 웹 사이트 구성 삭제
<a name="delete-a-bucket-s-website-configuration"></a>

Amazon S3 버킷의 웹 사이트 구성을 삭제하려면 구성을 삭제할 버킷의 이름과 함께 AmazonS3의 `deleteWebsiteConfiguration` 메서드를 호출합니다.

 **가져옵니다**.

```
import com.amazonaws.AmazonServiceException;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
```

 ** 코드** 

```
final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(Regions.DEFAULT_REGION).build();
try {
    s3.deleteBucketWebsiteConfiguration(bucket_name);
} catch (AmazonServiceException e) {
    System.err.println(e.getErrorMessage());
    System.out.println("Failed to delete website configuration!");
    System.exit(1);
}
```

GitHub의 [전체 예제](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/DeleteWebsiteConfiguration.java)를 참조하세요.

## 추가 정보
<a name="more-information"></a>
+  Amazon S3 API 참조의 [버킷 웹사이트 추가](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTwebsite.html)
+  Amazon S3 API 참조의 [버킷 웹사이트 가져오기](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETwebsite.html)
+  Amazon S3 API 참조의 [버킷 웹사이트 삭제](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketDELETEwebsite.html)