λ°˜μ‘ν˜•

AWS 20

[AWS] AWS IP λŒ€μ—­ ν™•μΈν•˜λŠ” 방법

Intro μ•ˆλ…•ν•˜μ„Έμš”. 이번 μ‹œκ°„μ—λŠ” AWS IP λŒ€μ—­μ„ ν™•μΈν•˜λŠ” 방법에 λŒ€ν•΄ μ•Œμ•„λ³΄λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€. AWS IP λŒ€μ—­ AWS λŠ” IP λŒ€μ—­μ„ json ν˜•νƒœλ‘œ μ œκ³΅ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. (https://ip-ranges.amazonaws.com/ip-ranges.json) { "syncToken": "1675316588", "createDate": "2023-02-02-05-43-08", "prefixes": [ { "ip_prefix": "3.2.34.0/26", "region": "af-south-1", "service": "AMAZON", "network_border_group": "af-south-1" }, { "ip_prefix": "3.5.140.0/22", "region": "ap-northeast..

Devops/AWS 2023.02.02

[AWS] S3λž€? S3 κ΅¬μ„±μš”μ†Œμ™€ 버킷(Bucket), 폴더(Folder) 그리고 객체(Object) 에 λŒ€ν•΄ μ•Œμ•„λ³΄μž

Intro μ•ˆλ…•ν•˜μ„Έμš”. 이 글은 μƒν™œμ½”λ”©μ˜ AWS μ•„λ§ˆμ‘΄ μ›Ή μ„œλΉ„μŠ€(Amazon Web Services) 책을 λ°”νƒ•μœΌλ‘œ μ •λ¦¬ν•œ λ‚΄μš©μž…λ‹ˆλ‹€. 일전에 S3 κ΄€λ ¨ ν¬μŠ€νŒ…μ„ ν•œ 적이 μžˆλŠ”λ°μš”, λ‚΄μš©μ΄ λΆ€μ‹€ν•˜κΈ°λ„ ν•˜κ³  ν•œλ²ˆ 더 μ΄ν•΄ν•˜κΈ° μœ„ν•΄ λ‹€μ‹œ μž‘μ„±ν•΄λ³΄λ € ν•©λ‹ˆλ‹€. ☺ S3λž€? S3λŠ” Simple Storage Service의 μ€„μž„λ§μž…λ‹ˆλ‹€. κ°„λ‹¨ν•œ μ €μž₯ μ„œλΉ„μŠ€λΌκ³  ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λΉ„μœ ν•˜μžλ©΄, S3λŠ” ν•˜λ“œλ””μŠ€ν¬λ‚˜ SSD 와 같은 μ €μž₯ μž₯μΉ˜μž…λ‹ˆλ‹€. S3λŠ” ν•˜λ‚˜μ˜ S3 region λ‚΄ μ΅œμ†Œ 3개의 물리적 κ°€μš©μ˜μ—­(AZ)에 걸쳐 μ—¬λŸ¬ λ””λ°”μ΄μŠ€μ— 객체λ₯Ό 쀑볡 μ €μž₯ν•©λ‹ˆλ‹€. 즉 객체 μ—…λ‘œλ“œ μ‹œ ν•˜λ‚˜μ˜ 컴퓨터에 μœ„μΉ˜ν•˜λŠ” 게 μ•„λ‹ˆλΌ μ—¬λŸ¬ λŒ€μ˜ 컴퓨터에 μ΅œμ†Œ 3개 이상 λ³΅μ œλœλ‹€λŠ” μ˜λ―Έμž…λ‹ˆλ‹€. μ΄λŸ¬ν•œ νŠΉμ„±μ„ 내ꡬ성이라고 ν•©λ‹ˆλ‹€. ..

Devops/AWS 2023.01.31

[AWS] CloudFront + S3 + git actions 배포 였λ₯˜ Invalidate CloudFront Cache

Intro μ•ˆλ…•ν•˜μ„Έμš”. 이번 μ‹œκ°„μ—λŠ” CloudFront + S3 + git actions 배포 였λ₯˜μ— λŒ€ν•΄ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€. κΈ°μ‘΄ μ„œλΉ„μŠ€μ— λŒ€ν•œ μˆ˜μ • μš”μ²­μ‚¬ν•­ 업무가 듀어와, ν•΄λ‹Ή 업무 처리 ν›„ λ‹€μ‹œ git actions 을 μ‚¬μš©ν•΄ 개발 μ„œλ²„ 배포λ₯Ό μ§„ν–‰ν–ˆμŠ΅λ‹ˆλ‹€. 참고둜 개발 ν™˜κ²½μ€ " CloudFront + S3 + git actions" μž…λ‹ˆλ‹€. 그런데..! κ°‘μžκΈ° μ•„λž˜ git actions deploy.yml μ—μ„œ 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. κΈ°μ‘΄μ—λŠ” 본적이 μ—†λ˜ 였λ₯˜λΌ λ°”λ‘œ ꡬ글링을 ν•΄λ΄€μŠ΅λ‹ˆλ‹€. - name: Invalidate CloudFront Cache run: aws cloudfront create-invalidation --distribution-id ${{secrets.DEV_DISTRIBUT..

Devops/AWS 2023.01.31

[AWS] 지역(Region)κ³Ό κ°€μš©κ΅¬μ—­(avaliability zone)μ΄λž€?

Intro μ•ˆλ…•ν•˜μ„Έμš”. 이 글은 μƒν™œμ½”λ”©μ˜ AWS κ°•μ’Œλ₯Ό λ°”νƒ•μœΌλ‘œ μ •λ¦¬ν•œ λ‚΄μš©μž…λ‹ˆλ‹€. 지역(Region) 지역(Region)μ΄λž€ AWSκ°€ κ°–κ³  μžˆλŠ” 컴퓨터가 어디에 μœ„μΉ˜ν•΄ μžˆλŠ”κ°€λ₯Ό λœ»ν•©λ‹ˆλ‹€. μ‹€μ œλ‘œ μ†ŒλΉ„μžκ°€ μœ„μΉ˜ν•˜κ³  μžˆλŠ” κ³³κ³Ό, 컴퓨터가 λ©€λ©΄ λ©€μˆ˜λ‘ λ„€νŠΈμ›Œν¬λŠ” λŠλ €μ§€κΈ° λ•Œλ¬Έμ— 지역은 μ€‘μš”ν•œ μ΄μŠˆμž…λ‹ˆλ‹€. 이 μš©μ–΄λŠ” μ€‘μš”ν•˜κΈ° λ•Œλ¬Έμ— 잘 μ•Œμ•„λ‘λ©΄ μ’‹μŠ΅λ‹ˆλ‹€. 제일 λ¨Όμ € 생긴 곳은 뢁미 (ex. μΊ˜λ¦¬ν¬λ‹ˆμ•„ λ“±) μž…λ‹ˆλ‹€. 2015λ…„ 12μ›” 말 κΈ°μ€€ ν•œκ΅­ 지역은 μƒμ„±λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. (μ‹ κΈ°ν•˜λ„€μš”! πŸ’­ ν•œκ΅­ 리전이 μ—†μ—ˆλ˜ μ‹œκΈ°λ„ μžˆμ—ˆκ΅°μš” , feat. 23/01/29 λ…„ ν˜„ κΈ€ μž‘μ„± μ‹œμ ) 거리가 λ©€λ©΄ λ©€μˆ˜λ‘ κ²½μœ μ§€κ°€ 많이 생기기 λ•Œλ¬Έμ— 느렀질 κ°€λŠ₯성이 λ†ν›„ν•©λ‹ˆλ‹€. μ›Ήμ‚¬μ΄νŠΈμ— 주둜 μ ‘μ†ν•˜λŠ” μ‚¬μš©μžλ“€μ΄ 어디에 μœ„μΉ˜ν•˜κ³  ..

Devops/AWS 2023.01.30

[AWS] μ•„λ§ˆμ‘΄ μ›Ή μ„œλΉ„μŠ€(Amazon Web Services)와 ν΄λΌμš°λ“œ 그리고 IAM(Identity & Access Management)λž€ λ¬΄μ—‡μΌκΉŒ?

Intro μ•ˆλ…•ν•˜μ„Έμš”. 이 글은 μƒν™œμ½”λ”©μ˜ AWS μ•„λ§ˆμ‘΄ μ›Ή μ„œλΉ„μŠ€(Amazon Web Services)와 ν΄λΌμš°λ“œ κ°•μ’Œλ₯Ό λ°”νƒ•μœΌλ‘œ μ •λ¦¬ν•œ λ‚΄μš©μž…λ‹ˆλ‹€. Amazon Web Services and Cloud μ²˜λ¦¬ν•΄μ•Ό ν•  데이터가 μžˆλ‹€κ³  ν•©μ‹œλ‹€. ν•˜μ§€λ§Œ κ·Έ μž‘μ—…μ΄ λ³΅μž‘ν•΄μ„œ λ‚΄κ°€ κ°–κ³  μžˆλŠ” μ»΄ν“¨ν„°λ‘œλŠ” 1λ…„ κ±Έλ¦°λ‹€κ³  ν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ μ €ν¬λŠ” 1λ…„ λ™μ•ˆ 기닀릴 수 μ—†μŠ΅λ‹ˆλ‹€. 뢄석해야 ν•  데이터λ₯Ό ν΄λΌμš°λ“œ μ»΄ν“¨ν„°λ‘œ μ „μ†‘ν•˜κ³ , κ·Έ μ»΄ν“¨ν„°μ—μ„œ μ‹€μ œλ‘œ μ²˜λ¦¬ν•˜κ³  κ·Έ 처리된 κ²°κ³Όλ₯Ό 인터넷을 톡해 λ‹€μš΄λ°›μ•„μ„œ μ‚¬μš©ν•˜λŠ” 것이 κ·Έ 사둀 쀑에 ν•˜λ‚˜λΌκ³  ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ»΄ν“¨νŒ… νŒŒμ›Œκ°€ ν­νŒ”μ μœΌλ‘œ λ“±μž₯ν•˜κ³ , μ—¬λŸ¬κ°€μ§€ λ§₯λ½μ—μ„œ ν΄λΌμš°λ“œ μ»΄ν“¨νŒ…μ΄λΌλŠ” μš©μ–΄κ°€ μƒκ²¨λ‚¬μŠ΅λ‹ˆλ‹€. ν΄λΌμš°λ“œ μ»΄ν“¨νŒ…μ˜ 핡심적인 μ•„μ΄λ””μ–΄λŠ” 인터넷이고, 인터넷에 μ—°κ²°λœ κ±°λŒ€..

Devops/AWS 2023.01.29

[AWS] S3 버킷 생성 A conflicting conditional operation is currently in progress against this resource 였λ₯˜

Intro μ•ˆλ…•ν•˜μ„Έμš”. μ΄λ²ˆμ‹œκ°„μ—λŠ” S3 버킷 μ‚­μ œ ν›„, λ‹€μ‹œ μƒμ„±ν–ˆμ„ λ•Œ 마주친 였λ₯˜μ— λŒ€ν•΄ 말해보렀 ν•©λ‹ˆλ‹€. A conflicting conditional operation is currently in progress against this resource Why? ν•΄λ‹Ή 였λ₯˜ λ©”μ„Έμ§€λ‘œ ꡬ글링을 ν•΄λ³΄λ‹ˆ, μ΄μœ κ°€ μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 버킷 μ‚­μ œ μ‹œμ— AWS S3λŠ” ν•΄λ‹Ή 버킷 이름을 μ‚­μ œ waiting line에 λ„£λŠ”λ‹€κ³  ν•©λ‹ˆλ‹€. AWS S3λŠ” λŒ€κ·œλͺ¨ λΆ„μ‚° μ‹œμŠ€ν…œμ΄μ—¬μ„œ 버킷 μ‚­μ œμ™€ 같은 변경사항이 AWS region μ—μ„œλŠ” λ‹€μ†Œ μ‹œκ°„μ΄ κ±Έλ¦°λ‹€κ³  ν•˜λ„€μš”. 즉 μ™„μ „νžˆ ν•΄λ‹Ή 버킷을 μ‚­μ œν•˜κΈ° μ „κΉŒμ§€λŠ” λ™μΌν•œ μ΄λ¦„μœΌλ‘œ 버킷을 μ‚¬μš©ν•  수 μ—†λ‹€κ³  ν•©λ‹ˆλ‹€. How to solve the problem 해결방법은 κΈ°λ‹€λ¦Όμž…λ‹ˆλ‹€. μ €..

Devops/AWS 2023.01.29

[AWS] github action + Elastic Beanstalk + Kotlin SpringBoot 배포 cp: cannot stat './build/libs/*.jar': No such file or directory 였λ₯˜

Intro μ•ˆλ…•ν•˜μ„Έμš”. μ €λŠ” Kotlin SprinBoot 3.0 으둜 github action을 톡해 AWS의 Elastic Beanstalkλ₯Ό μ‚¬μš©ν•΄ API Server κ°œλ°œν™˜κ²½ ꡬ성해야 ν–ˆμŠ΅λ‹ˆλ‹€. Elastic Beanstalk μ„ΈνŒ…κ³Ό, githb action κ΄€λ ¨ 섀정을 λͺ¨λ‘ 마치고, github push λ₯Ό 톡해 배포가 정상 μž‘λ™ν•˜λŠ”μ§€ ν…ŒμŠ€νŠΈ ν•˜λ˜ 도쀑 μ•„λž˜μ™€ 같은 μ—λŸ¬κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. cp: cannot stat './build/libs/*.jar': No such file or directory Why? λ°”λ‘œ ν•΄λ‹Ή μ—λŸ¬λ₯Ό ꡬ글링 ν•΄λ΄€μŠ΅λ‹ˆλ‹€. ꡬ글링을 ν•΄λ³΄λ‹ˆ, μŠ€ν”„λ§ λΆ€νŠΈ 2.5.0 이상 버전은 λ”°λ‘œ μ„€μ • 없이 Gradle λΉŒλ“œν•  경우, BootJar와 Jar κ°€ λͺ¨λ‘ μƒμ„±λ˜μ–΄ build/li..

Devops/AWS 2023.01.28

[AWS] μžλ™ 배포 μ„œλΉ„μŠ€, CodeDeployλž€?

Intro μ•ˆλ…•ν•˜μ„Έμš”. 졜근 API 개발 μ„œλ²„λ₯Ό κ΅¬μΆ•ν•˜λŠ” μž‘μ—…μ„ 맞게 λ˜μ–΄ μ—¬λŸ¬ κ°œλ…λ“€μ„ 읡히고 κ³΅λΆ€ν•˜λŠ” μ€‘μž…λ‹ˆλ‹€. 이번 μ‹œκ°„μ—λŠ” AWS Code Deploy에 λŒ€ν•΄ μ•Œμ•„λ³΄λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€. CodeDeploy CodeDeployλŠ” μ˜¨ν”„λ ˆλ―ΈμŠ€ μΈμŠ€ν„΄μŠ€, μ„œλ²„λ¦¬μŠ€ Lambda ν•¨μˆ˜ λ˜λŠ” Amazon ECS μ„œλΉ„μŠ€λ‘œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 배포λ₯Ό μžλ™ν™”ν•˜λŠ” 배포 μ„œλΉ„μŠ€μž…λ‹ˆλ‹€. CodeDeploy μž₯점 μ„œλ²„, μ„œλ²„λ¦¬μŠ€ 및 μ»¨ν…Œμ΄λ„ˆ μ• ν”Œλ¦¬μΌ€μ΄μ…˜. CodeDeployλ₯Ό μ‚¬μš©ν•˜λ©΄ μ„œλ²„ μƒμ˜ κΈ°μ‘΄ μ• ν”Œλ¦¬μΌ€μ΄μ…˜κ³Ό Amazon ECS μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ°°ν¬ν•˜λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λͺ¨λ‘ 배포할 수 μžˆμŠ΅λ‹ˆλ‹€. 배포 μžλ™ν™”. CodeDeployλŠ” 개발, ν…ŒμŠ€νŠΈ 및 ν”„λ‘œλ•μ…˜ ν™˜κ²½μ— 걸쳐 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 배포λ₯Ό μ™„μ „ μžλ™ν™”ν•©λ‹ˆλ‹€. 그리고 CodeDepl..

Devops/AWS 2023.01.27

[AWS] Simple Storage Service S3 λž€ λ¬΄μ—‡μΌκΉŒ?

Intro μ•ˆλ…•ν•˜μ„Έμš”. 이번 μ‹œκ°„μ—λŠ” AWS S3에 λŒ€ν•΄ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€. AWS μš°μ„  AWS에 λŒ€ν•΄ λ¨Όμ € κ°„λ‹¨νžˆ μ„€λͺ…ν•˜λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€. AWSλŠ” Amazon Web Service, 즉 μ•„λ§ˆμ‘΄μ—μ„œ μ œκ³΅ν•˜λŠ” ν΄λΌμš°λ“œ μ„œλΉ„μŠ€λ‘œ λ‹€μ–‘ν•œ μ„œλΉ„μŠ€λ₯Ό μ œκ³΅ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. AWSλŠ” 쉽고 λΉ λ₯Έ 확정성을 μ œκ³΅ν•˜κ³  μ €λ ΄ν•œ λΉ„μš©μœΌλ‘œ μ‚¬μš©ν•œ μš©λŸ‰ 만큼만 λΉ„μš©μ„ μ§€λΆˆν•˜λ©° λΉ λ₯Έ 속도 λ“± μ—¬λŸ¬κ°€μ§€ μž₯점을 μ§€λ‹ˆκ³  있죠. AWS μ„œλΉ„μŠ€ 쀑 ν•˜λ‚˜μΈ S3에 λŒ€ν•΄ 더 μžμ„Ένžˆ μ‚΄νŽ΄λ³΄λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€. AWS S3(Simple Storage Service) S3(Simple Storage Service)λŠ” 데이터λ₯Ό μ €μž₯ν•˜κ±°λ‚˜ μΆ”μΆœν•˜κ²Œ ν•΄ μ£ΌλŠ” 온라인 μŠ€ν† λ¦¬μ§€ μ›Ή μ„œλΉ„μŠ€μž…λ‹ˆλ‹€. 즉 파일 μ„œλ²„μ˜ 역할을 ν•˜λŠ” μ„œλΉ„μŠ€μž…λ‹ˆλ‹€. ν•˜λ‚˜μ˜ μ €μž₯ 곡간을 κ΅¬μ„±ν•˜κ³  ..

Devops/AWS 2023.01.26

[AWS] CloudWatch 둜그(Logs) μ‚¬μš©λ²•

Intro AWS 의 CloudWatch 둜그(Logs) μ‚¬μš©λ²•μ— μ •λ¦¬ν•΄λ³΄κ³ μž ν•©λ‹ˆλ‹€. CloudWatch? AWS λ¦¬μ†ŒμŠ€λ₯Ό 효과적으둜 λͺ¨λ‹ˆν„°λ§ ν•  수 μžˆλŠ” μ„œλΉ„μŠ€λ‘œ 톡합 viewλ₯Ό ν™•λ³΄ν•˜λŠ”λ° ν•„μš”ν•œ 데이터λ₯Ό μ œκ³΅ν•œλ‹€. 뿐만 μ•„λ‹ˆλΌ 이벀트 및 λ¦¬μ†ŒμŠ€λ₯Ό μ΄μš©ν•΄ 경보λ₯Ό 생성할 μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. 둜그 (Logs) CloudWatch LogsλŠ” 운영 쀑인 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ¦¬μ†ŒμŠ€λ₯Ό κΈ°λ‘ν•˜κ³  μ•‘μ„ΈμŠ€ν•  수 있으며, κ΄€λ ¨λœ 둜그 데이터λ₯Ό 검색할 수 μžˆμŠ΅λ‹ˆλ‹€. 둜그 슀트림 리슀트 확인 Logs Insights 둜그 λ©”μ‹œμ§€μ— 쑰건을 μΆ”κ°€ν•˜μ—¬ 필터링이 κ°€λŠ₯ν•©λ‹ˆλ‹€. 였λ₯Έμͺ½ 쿼리 탭을 μ‚¬μš©ν•˜μ—¬ query μ˜ˆμ‹œλ“€μ„ 확인해볼 수 μžˆμŠ΅λ‹ˆλ‹€.

Devops/AWS 2022.09.02
λ°˜μ‘ν˜•