안녕하세요. 도쿄에서 서울로 이전 작업중에 궁금한 점이 생겨서 글을 올립니다….

안녕하세요. 도쿄에서 서울로 이전 작업중에 궁금한 점이 생겨서 글을 올립니다.

현재 도쿄 S3 를 사진 서버로 사용중이고, 도쿄 EC2 PHP 웹서버에서 사진 파일을 받아서 도쿄 S3 버켓으로 업로드하게 구현해놨습니다.

모두 서울 S3, EC2 로 변경한 뒤 EC2 내의 upload.php 파일의 REST API 에서 버켓 이름만 서울 것으로 바꿔주었는데 먹통이 됐습니다.

다시 버켓 이름만 도쿄 버켓으로 바꾸면 도쿄에는 잘 올라갑니다.

다른 부분은 다 정상작동 하는데 S3 업로드 부분만 말썽이더라구요.

REST API 에 제공한 IAM 은 S3 FULL ACCESS 권한을 가지고 있습니다.

도쿄 버켓에 올라가는 것으로 보아 권한은 제대로 작동하고 있는 것 같습니다.

이것저것 해본 결과 REST API 에 아직 서울에 업로드 하는 부분이 구현이 안되있나? 하는 생각을 해보곤 있습니다.

혹시 유사한 문제를 겪으신 분 없나요?

참고용으로 upload.php 의 사진 업로드 부분을 올리겠습니다.

$s3 = S3Client::factory(array(
‘key’ => ‘키’,
‘secret’ => ‘시크릿’,
));
$bucket = ‘bucket-seoul’;
$keyname = ‘postImage/’.$post_idx.’.jpg’;
$uploader = UploadBuilder::newInstance()
->setClient($s3)
->setSource($_FILES[‘image’][‘tmp_name’])
->setBucket($bucket)
->setKey($keyname)
->setOption(‘ContentType’, ‘image/jpeg’)
->build();
$uploader->upload();


REST API 는 “aws/aws-sdk-php”: “2.*” 로 불러서 쓰고 있습니다.

읽어주셔서 감사합니다. 좋은 하루 되세요.

3 thoughts on “안녕하세요. 도쿄에서 서울로 이전 작업중에 궁금한 점이 생겨서 글을 올립니다….

  1. 해결됐습니다.

    $s3 = S3Client::factory(array(
    ‘key’ => ‘키’,
    ‘secret’ => ‘시크릿’,
    ‘signature’ => ‘v4’,
    ‘region’ => ‘ap-northeast-2’
    ));

    하니까 되네요 🙂

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.