์Šคํ”„๋ง์—์„œ AWS S3 ํŒŒ์ผ ์—…๋กœ๋“œ์‹œ ์ง€์—ฐ์‹œ๊ฐ„ ์งˆ๋ฌธ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

1,049 views
Skip to first unread message

์ด์šฉ๋ฒ”

unread,
Nov 11, 2015, 7:42:06โ€ฏPM11/11/15
to Korea Spring User Group Q&A

์•ˆ๋…•ํ•˜์„ธ์š”!

์•„์นจ๋ถ€ํ„ฐ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•„ ์ด๋ ‡๊ฒŒ ์งˆ๋ฌธ์„ ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

ํ˜„์žฌ AWS S3 ๋ฒ„ํ‚ท์— ์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋Š” API๋ฅผ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ๋Š”๋ฐ์š”


์ด์ƒํ•œ๊ฒŒ ์ด๋ฏธ์ง€ ํŒŒ์ผ์šฉ๋Ÿ‰์ด 1MB๋งŒ ๋„˜์–ด๊ฐ€๋„ 9์ดˆ ~ 30์ดˆ ์ด๋Ÿฐ์‹์œผ๋กœ ์—…๋กœ๋“œ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์„œ๋ฒ„ ํ™˜๊ฒฝ์€ Spring 4.1.7 + JAVA8 + Tomcat7.0.64 + Maven ๊ธฐ๋ฐ˜์ด๊ณ , Spring boot๋Š” ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์„œ๋ฒ„๋Š” AWS EC2๊ฐ€ ์•„๋‹Œ IDC์— ์ž…๊ณ ๋˜์–ด์žˆ๊ณ , ๋กœ์ปฌ์—์„œ ํ…Œ์ŠคํŠธํ• ๋•Œ๋„ ๋™์ผํ•˜๊ฒŒ ๋А๋ฆฐ๊ฑธ๋กœ ๋ด์„œ๋Š” ํ”„๋กœ์ ํŠธ ์ž์ฒด๋ฌธ์ œ์ธ๋“ฏ ํ•œ๋ฐ ์›์ธ์„ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค..


์ง€๊ธˆ ์•„๋ž˜์ฒ˜๋Ÿผ ๊ตฌ์„ฑํ•˜์˜€๋Š”๋ฐ์š”,ย 


maven

    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk-s3</artifactId>
        <version>1.10.32</version>
    </dependency>



AWS S3 ์ดˆ๊ธฐํ™”

AWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey);
            ClientConfiguration clientConfig = new ClientConfiguration();
            clientConfig.setProtocol(Protocol.HTTP);
            this.amazonS3Client = new AmazonS3Client(credentials, clientConfig);
    //      this.amazonS3Client.setEndpoint("ap-northeast-1.amazonaws.com");
            this.amazonS3Client.setRegion(Region.getRegion(Regions.fromName(region)));



AWS S3 ์—…๋กœ๋“œ

private PutObjectResult upload(InputStream inputStream, String uploadKey, ObjectMetadata metadata) {
            PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, uploadKey, inputStream, metadata);
            putObjectRequest.setCannedAcl(CannedAccessControlList.PublicRead);
            PutObjectResult putObjectResult = amazonS3Client.putObject(putObjectRequest);
            IOUtils.closeQuietly(inputStream);
            return putObjectResult;
        }




์ด๋ถ€๋ถ„(์‹ค์ œ ์—…๋กœ๋“œ ์ฝ”๋“œ)์—์„œ ์†๋„๊ฐ€ ๊ธ‰๊ฒฉํžˆ ๋–จ์–ด์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

PutObjectResult putObjectResult = amazonS3Client.putObject(putObjectRequest);



Parameter

putObjectResults.resultData.add(upload(multipartFile.getInputStream(), tempName, metadata));




ํ†ฐ์บฃ ์„ค์ • ๋ฌธ์ œ์ผ๊นŒ์š”? S3 ์ฝ˜์†”์—์„œ ์ง์ ‘ ์—…๋กœ๋“œ ํ•˜๋ฉด ๋™์ผํ•œ 16MB ํŒŒ์ผ์ด 1์ดˆ๋ฉด ์˜ฌ๋ผ๊ฐ‘๋‹ˆ๋‹ค.

๋ฌธ์ œ์ ์„ ๋„์ €ํžˆ ๋ชป์ฐพ์•„์„œ ์ด๋ ‡๊ฒŒ ์งˆ๋ฌธ๋“œ๋ ค๋ด…๋‹ˆ๋‹ค


ํ˜น์‹œ ์Šคํ”„๋ง์—์„œ S3 ์— ํŒŒ์ผ ์—…๋กœ๋“œํ• ๋•Œ ์ถ”๊ฐ€์ ์œผ๋กœ ์„ค์ •์„ ์žก์•„์ค˜์•ผ ํ•˜๋Š”๊ฒŒ ์žˆ๋Š”์ง€์š”?

์กฐ์–ธ ๋ถ€ํƒ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค(__)

์ด์šฉ๋ฒ”

unread,
Nov 11, 2015, 9:15:40โ€ฏPM11/11/15
to Korea Spring User Group Q&A
์งˆ๋ฌธ์ž์ž…๋‹ˆ๋‹ค.
์Šคํ”„๋ง ๋ถ€ํŠธ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์žฌ๊ตฌ์„ฑํ•ด์„œ ๋กœ์ปฌ์—์„œ ๋Œ๋ ค๋ณด๋‹ˆ ์†๋„๊ฐ€ ๋น ๋ฅธ๊ฑธ ํ™•์ธํ•˜์˜€์Šต๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ war ํŒŒ์ผ๋กœ ๋งŒ๋“ค์–ด์„œ ์„œ๋ฒ„ Tomcat7.0.64 ์— ๋ฐฐํฌ๋งŒ ํ•˜๋ฉด ์†๋„๊ฐ€ ๋‹ค์‹œ ๋–จ์–ด์ง€๋Š”๊ฑธ ํ™•์ธํ•˜์˜€์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ ํ†ฐ์บฃ ์„ค์ •์€ ์•„๋ž˜์™€ ๊ฐ™์ด ๋˜์–ด์žˆ๋Š”๋ฐ ์ด๊ฒŒ AWS S3 ์— ํŒŒ์ผ ์—…๋กœ๋“œ์‹œ ์†๋„์— ์˜ํ–ฅ์„ ์ฃผ๋Š”๊ฑด๊ฐ€์š”??
ย <Connector port="8080" protocol="HTTP/1.1"
ย  ย  ย  ย  ย  ย  ย  ย connectionTimeout="20000"
ย  ย  ย  ย  ย  ย  ย  ย URIEncoding="UTF-8"
ย  ย  ย  ย  ย  ย  ย  ย disableUploadTimeout="true"
ย  ย  ย  ย  ย  ย  ย  ย compression="off"
ย  ย  ย  ย  ย  ย  ย  ย tcpNoDelay="true"
ย  ย  ย  ย  ย  ย  ย  ย redirectPort="8443" maxThread="100" maxHttpHeaderSize="8192" emptySessionPath="true" enableLookups="false" acceptConut="5" MaxKeepAliveRequest="1" />


CATALINA_OPTS="-server -Xms2048M -Xmx2048M -XX:PermSize=128M -XX:MaxPermSize=128M -Xnoclassgc -XX:NewSize=512M -XX:MaxNewSize=1024M -XX:+UseParNewGC -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=50 -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC -XX:+AggressiveOpts -Djava.net.preferIPv4Stack=true -Djava.awt.headless=true"


๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.







2015๋…„ 11์›” 12์ผ ๋ชฉ์š”์ผ ์˜ค์ „ 9์‹œ 42๋ถ„ 6์ดˆ UTC+9, ์ด์šฉ๋ฒ” ๋‹˜์˜ ๋ง:

๊น€์ง€ํ—Œ

unread,
Nov 11, 2015, 9:26:41โ€ฏPM11/11/15
to ks...@googlegroups.com
Tomcat 8 ์ด์ƒ์œผ๋กœ ์˜ฌ๋ ค๋ณด์‹ ๋‹ค๋ฉด??
์Šคํ”„๋ง๋ถ€ํŠธ์—์„œ๋Š” Tomcat 8 ์ด Embedded Containerย  ๋กœ ๊ธฐ๋ณธํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

2015๋…„ 11์›” 12์ผ ์˜ค์ „ 11:15, ์ด์šฉ๋ฒ” <top...@gmail.com>๋‹˜์ด ์ž‘์„ฑ:

--
์ด ๋ฉ”์ผ์€ Google ๊ทธ๋ฃน์Šค 'Korea Spring User Group Q&A' ๊ทธ๋ฃน์— ๊ฐ€์ž…ํ•œ ๋ถ„๋“ค์—๊ฒŒ ์ „์†ก๋˜๋Š” ๋ฉ”์‹œ์ง€์ž…๋‹ˆ๋‹ค.
์ด ๊ทธ๋ฃน์—์„œ ํƒˆํ‡ดํ•˜๊ณ  ๋” ์ด์ƒ ์ด๋ฉ”์ผ์„ ๋ฐ›์ง€ ์•Š์œผ๋ ค๋ฉด ksug+uns...@googlegroups.com์— ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด์„ธ์š”.
http://groups.google.com/group/ksug์—์„œ ์ด ๊ทธ๋ฃน์„ ๋ฐฉ๋ฌธํ•˜์„ธ์š”.
์›น์—์„œ ์ด ํ† ๋ก ์„ ๋ณด๋ ค๋ฉด https://groups.google.com/d/msgid/ksug/0fadef6f-4442-4dde-be9d-d2ca1b8e9b1d%40googlegroups.com์„(๋ฅผ) ๋ฐฉ๋ฌธํ•˜์„ธ์š”.

๋” ๋งŽ์€ ์˜ต์…˜์„ ๋ณด๋ ค๋ฉด https://groups.google.com/d/optout์„(๋ฅผ) ๋ฐฉ๋ฌธํ•˜์„ธ์š”.



--
์ด๋ฆ„ : ๊น€์ง€ํ—Œ
๋ณ„๋ช… : ํ—ˆ๋‹ˆ๋ชฌ
๋ธ”๋กœ๊ทธ : http://ihoney.pe.kr / http://java.ihoney.pe.kr
ํŠธ์œ„ํ„ฐ : @ihoneymon
์ด๋ฉ”์ผ : ihon...@gmail.com

YongHyeok Lee

unread,
Nov 11, 2015, 9:48:16โ€ฏPM11/11/15
to ks...@googlegroups.com
๋„คํŠธ์›Œํฌ ๋ฌธ์ œ๊ฐ€ ์•„๋‹๊นŒ์š”..
์‹ค์ œ๋กœ ์œ ๋Ÿฝ์„ ๊ฒฝ์œ ํ•ด์„œ ๋ช‡๋ฒˆ ๋Œ์•„์„œ ๊ฐ„๋‹ค๋˜์ง€...
์„œ๋ฒ„์—์„œ๋งŒ ๊ทธ๋Ÿฐ๊ฑฐ์ง€์š”..?

๋‚˜์˜ iPhone์—์„œ ๋ณด๋ƒ„

2015. 11. 12. 11:26 ๊น€์ง€ํ—Œ <ihon...@gmail.com> ์ž‘์„ฑ:

์›น์—์„œ ์ด ํ† ๋ก ์„ ๋ณด๋ ค๋ฉด https://groups.google.com/d/msgid/ksug/CALZd4HUatNMokrOyiD5i3c2eMr6yY9PVBWv0sEmeDFSvEvhF4Q%40mail.gmail.com์„(๋ฅผ) ๋ฐฉ๋ฌธํ•˜์„ธ์š”.
Reply all
Reply to author
Forward
0 new messages