Super Kawaii Cute Cat Kaoani
๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๊ธฐ๋Šฅ

[๊ธฐ๋Šฅ] - Springboot์™€ S3 ์—ฐ๋™ ์„ค์ •

0. AWS S3๋ž€?

AWS S3(Simple Storage Service)๋Š” ํŒŒ์ผ์„œ๋ฒ„ ์—ญํ• ์„ ํ•˜๋Š” ์ธํ„ฐ๋„ท ์Šคํ† ๋ฆฌ์ง€ ์„œ๋น„์Šค๋กœ, ์šฉ๋Ÿ‰์— ๊ด€๊ณ„์—†์ด ํŒŒ์ผ์„ ์ €์žฅํ•˜๊ณ  ์›น์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค

  • ๋ฒ„ํ‚ท : ํŒŒ์ผ(๊ฐ์ฒด)์„ ์ €์žฅํ•˜๋Š” ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ์ด๊ณ , ์ด๋ฆ„์€ S3 ๋ฆฌ์ „ ์•ˆ์—์„œ ์œ ์ผํ•ด์•ผ ํ•œ๋‹ค

  • ๊ฐ์ฒด : S3์— ์ €์žฅ๋˜๋Š” ๋ฐ์ดํ„ฐ์™€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ์ฒด๋ผ๊ณ  ํ•œ๋‹ค

1. AWS S3 ๋ฒ„ํ‚ท ์ƒ์„ฑ


๐Ÿ›‘ ๋ฐ‘์˜ ์„ค์ •์„ ํ•ด์ฃผ์ง€ ์•Š์œผ๋ฉด, ์Šคํ”„๋ง๋ถ€ํŠธ ๋‚ด์— ACLs์—๋Ÿฌ๊ฐ€ ๋‚จ

2. IAM ์‚ฌ์šฉ์ž ์ƒ์„ฑ ๋ฐ ๊ถŒํ•œ ์ถ”๊ฐ€

S3์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด์„œ IAM ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ถŒํ•œ์„ ์ค˜์•ผ ํ•จ

(1) ๊ณ„์ • → ๊ฒฐ์ œ์ •๋ณด์— ๋Œ€ํ•œ IAM ์‚ฌ์šฉ์ž ๋ฐ ์—ญํ•  ์•ก์„ธ์Šค → ํ™œ์„ฑํ™”

(2) IAM ์„œ๋น„์Šค → ์‚ฌ์šฉ์ž → ์‚ฌ์šฉ์ž ์ถ”๊ฐ€

(3) ๊ถŒํ•œ ์„ค์ • -> ์ง์ ‘ ์ •์ฑ… ์—ฐ๊ฒฐ -> AmazonS3FullAccess ์ถ”๊ฐ€

3. ์•ก์„ธ์Šค ํ‚ค ๋ฐœ๊ธ‰

S3 ๊ถŒํ•œ์— ๊ด€ํ•œ ๊ทธ๋ฆฌ๊ณ  ํ™˜๊ฒฝ๋ณ€์ˆ˜์— ๋„ฃ์–ด์ค„ secret key์™€ access key

(1) ์‚ฌ์šฉ์ž → ๋ณด์•ˆ ์ž๊ฒฉ ์ฆ๋ช… → ์•ก์„ธ์Šค ํ‚ค ๋งŒ๋“ค๊ธฐ

(2) ๋ฐœ๊ธ‰ ํ›„ ์ €์žฅ

csvํŒŒ์ผ์„ ๊ผญ ๋ณธ์ธ ๋กœ์ปฌ์— ์ €์žฅ ํ•ด๋†“์œผ์„ธ์š”โ—โ—โ—

4. ๋ฒ„ํ‚ท ์ •์ฑ… ํŽธ์ง‘

(1) ๋ฒ„ํ‚ท → ๊ถŒํ•œ → ๋ฒ„ํ‚ท ์ •์ฑ… → ํŽธ์ง‘

(2)๋ฒ„ํ‚ท ARN์„ ๋ณต์‚ฌํ•˜๊ณ  ์ •์ฑ…์ƒ์„ฑ๊ธฐ ํด๋ฆญ

  • Select Type of Policy : S3 Bucket Policy
  • Principal : *
  • Action : DeleteObject, GetObject, PutObject
  • ARN : ๋ณต์‚ฌํ•œ ARN + /*

(3) ์ •์ฑ… ํŽธ์ง‘ ํ›„ ์ €์žฅ

5. SpringBoot ์„ค์ •

(1) ์˜์กด์„ฑ ์ถ”๊ฐ€

implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE'
๋ณธ์ธ ํ”„๋กœ์ ํŠธ์— ๋งž๋Š” ์˜์กด์„ฑ ๋ฒ„์ „์„ ์ถ”๊ฐ€ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค

(2) application.yml ์ž‘์„ฑ

(3) ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •

ํ•ด๋‹น ์ •๋ณด๋“ค์€ ymlํŒŒ์ผ์—๋Š” ์˜ฌ๋ฆฌ์ง€ ๋ชปํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ง์ ‘ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋กœ ๋„ฃ์–ด์คฌ์Šต๋‹ˆ๋‹คโ—โ—โ—โ—โ—โ—

 

์ฐธ๊ณ ํ•œ ๊ธ€

https://jojoldu.tistory.com/300

 

SpringBoot & AWS S3 ์—ฐ๋™ํ•˜๊ธฐ

์•ˆ๋…•ํ•˜์„ธ์š”? ์ด๋ฒˆ ์‹œ๊ฐ„์—” SpringBoot & AWS S3 ์—ฐ๋™ํ•˜๊ธฐ ์˜ˆ์ œ๋ฅผ ์ง„ํ–‰ํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ์ฝ”๋“œ๋Š” Github์— ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•จ๊ป˜ ๋ณด์‹œ๋ฉด ๋” ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šฐ์‹ค ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. (๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜๋Š” Github์™€

jojoldu.tistory.com

https://earth-95.tistory.com/117

 

[SpringBoot] SpringBoot๋ฅผ ์ด์šฉํ•œ AWS S3์— ์—ฌ๋Ÿฌ ํŒŒ์ผ ์—…๋กœ๋“œ ๋ฐ ์‚ญ์ œ ๊ตฌํ˜„ํ•˜๊ธฐ

๋“ค์–ด๊ฐ€๊ธฐ ์ „์— ์›๋ž˜๋Š” AWS API Gateway + AWS lambda + AWS S3 ๋ฐฉ์‹์œผ๋กœ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๋ฐ ์‚ญ์ œ๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ ์ž ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ, ์ผ๋ฐ˜์ ์œผ๋กœ javascript๋‚˜ python์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์•˜๋Š”๋ฐ ํ•ด๋‹น ์–ธ์–ด๋กœ ๊ตฌํ˜„ํ•˜

earth-95.tistory.com