반응형

AWS EC2 인스턴스 비용에 관해 고민해보신 분이라면 RI(Reserved Instances) 또는 Savings Plans에 대해 들어보셨을 겁니다.

하지만 이 둘의 차이점을 알지 못하는 분들이 많아 특징을 간단히 정리 후 차이점을 공유드리겠습니다.

 

RI (Rserved Instances)

  • 인스턴스 패밀리, 크기, 지역, 운영체제, 테넌시가 일치해야 함
    • 단, 크기가 다른 경우 정규화 인자만큼 적용
    • 참고) 패밀리 : (ex. t2, m5), 크기 : (ex. medium, large), 테넌시 : (전용 호스트, 전용 인스턴스)
  • 사용량 종료 시 갱신되지 않으며 온디맨드 요금 부과

 

* 정규화 인자만큼 적용되는 개념은 복잡하기 때문에 여기서 설명드리지 않겠습니다. 궁금하신분은 아래 링크를 달아드릴테니 확인하시면 됩니다.

https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/apply_ri.html#ri-normalization-factor

 

 

Savings Plans

  • 인스턴스 패밀리, 크기, OS, 테넌시, 지역 상관없음
  • AWS Fargate, Lambda에도 적용 가능
  • Savings Plans 종류(3가지)에 따라 최대 64%~72% 절약 가능
  • 사용량 종료 시 EventBridge를 통해 알림 가능

 

Savings Plans을 PC방에 비유하자면 정액권을 끊으면 그 금액 안에서 라면도 시켜먹고 PC방도 이용할 수 있는 개념인데 반해 RI는 PC방에 대한 사용권만 이용할 수 있는 것과 같습니다.

AWS에서는 RI보다는 Savings Plans를 더욱 권장하는 느낌입니다.

 

 

Savings Plans은 3종류로 나뉩니다.

 

Savings Plans 종류(3가지) 및 차이

Compute Savings Plans : 가장 유연한 요금제 - 최대 66% 할인

  • 지역, 인스턴스 패밀리, 크기, 운영체제, 테넌시 관계 없이 자동 적용 가능
  • Fargate 및 Lambda 사용량에 적용

EC2 Instance Savings Plans : 특정 지역의 인스턴스만 할인 - 최대 72% 할인

  • 인스턴스 패밀리, 크기, 운영체제, 테넌시 관계 없이 자동 적용 가능

SageMaker Savings Plans - 최대 64% 할인

  • 지역, 인스턴스 패밀리, 크기, 구성 요소(예: 노트북, 교육 등)에 관계 없이 자동 적용 가능

 

 

RI를 구매했는데 Savings Plans 구매를 고민하시는 분이라면 아래 사용량 적용 우선순위를 참고해주세요

 

 

사용량 적용 우선순위

  1. RI vs Savings Plans : RI가 우선 적용
  2. EC2 Instance Savings Plans vs Compute Savings Plans : EC2 Instance Savings Plans
  3. 소유자 계정 Savings Plan vs 다른 계정 Savings Plan : 소유자 계정이 우선 적용

 

 

내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!

caul334@gmail.com

반응형
반응형

 

AWS를 운영하면서 Root 계정과 IAM계정의 대표적인 차이는 "결제정보를 확인할 수 있냐 없냐" 입니다.

 

Root 계정과 IAM계정의 대표적인 차이점은 아래 글에서 확인이 가능합니다. 

https://betterinvesting.tistory.com/307

 

[AWS] Root 계정 vs IAM(Adminitrator) 권한 차이

AWS 계정 관리에 대한 IAM Root 계정에 대한 Best Practice 찾아 보면 Root 계정을 만들면 MFA 2단계 인증을 설정한 후 Root 계정을 사용하지 말고 IAM 계정에 Admin 권한을 부여하여 IAM 계정을 사용하라고 합

betterinvesting.tistory.com

 

일반적으로 AWS 기본 설정에서는 아래 사진과 같이 IAM 계정에서 청구서(결제)에 대한 정보 확인이 불가능합니다.

따라서 청구서 정보를 확인하기 위해서는 Root 계정에서만 확인 가능하다는 불편함이 존재합니다.

 

하지만 IAM 계정이라 하더라도 정책 설정을 변경하면 청구서 정보를 확인할 수 있습니다.

해당 정보는 AWS IAM(Identity and Access Management)에 관한 Docs에서 확인 하였습니다.

 

https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/tutorial_billing.html

 

IAM 자습서: 결제 콘솔에 대한 액세스 권한 위임 - AWS Identity and Access Management

사용자 편의를 위해 AWS 로그인 페이지는 브라우저 쿠키를 사용하여 IAM 사용자 이름 및 계정 정보를 기억합니다. 이전에 다른 사용자로 로그인한 경우 페이지 하단 근처의 다른 계정에 로그인(Sig

docs.aws.amazon.com

 

  청구서 확인을 위한 IAM 계정 설정 변경 방법

1. Root 계정으로 로그인하여 결제 정보에 대한 IAM 사용자 엑세스를 활성화 해줍니다.

방법 : 자신의 계정명 (클릭) > 계정 > 결제 정보에 대한 IAM 사용자 및 역할 엑세스 > 편집 > IAM 엑세스 활성화 (선택) > 업데이트 (클릭)

 

그러면 결제 정보에 대한 IAM 사용자/역할 엑세스가 활성화되었습니다. 라는 문구를 확인할 수 있습니다.

 

2. (기존에 IAM 사용자가 있다는 전제) IAM 사용자에게 billing 권한을 부여

IAM 계정이 없으시다면 만드셔서 테스트 하시면 되고 있다면 아래 방법대로 그대로 따라하면 됩니다.

 

방법 : IAM > (청구서를 보기 위한) 사용자 또는 사용자 그룹 > 선택 > 권한 > 권한 추가 > 정책연결 > billing 검색 후 권한 추가

 

참고로 아래 사진은 보여드리기 위해 두 개의 권한(Billing, AWSBillingReadOnlyAccess)을 모두 추가한 상태이고 실제 사용을 위해서는 Billing 또는 AWSBillingReadOnlyAccess 두개의 권한 중 하나만 선택하시면 됩니다.

저는 안전하게 이용하기 위해 최소 권한인 AWSBillingReadOnlyAccess 권한을 추가했습니다.

 

3. 이제 다시 IAM 계정에 로그인 하여 청구서를 확인해 보니 아래 사진과 같이 결제 정보를 확인할 수 있습니다.

 

 

내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!

caul334@gmail.com

반응형
반응형

50% 취소 수수료 없이 서비스 구독을 해지했습니다.

상담원과의 상담 대화 전문을 아래에 게시해 놓았습니다. 필요하신 분은 꼭! 참고하세요

 

포토샵을 좀 배워볼까 해서 한달에 월 11,000원 플랜으로 포토그래피 플랜(20GB)구매를 했습니다.

구매 후 별로 사용하지 않아서 17일 정도 되었을때 취소를 하려하니 웬걸....???

2주(14일)가 지났기 때문에 취소 수수료가 60,500원이 발생한다는 겁니다.

구독하는 시점에는 연간 플랜이였던것을 몰랐던 것이죠.

 

 

사용하지도 않았는데 6개월치 돈을 내라니...

돈이 너무 아까워 인터넷을 검색해보니 상담원과 대화를 하면 해결될 수 도 있다는 정보를 얻어 바로 상담원과의 대화를 시도했습니다. 처음에는 챗봇과 연결되고 나서 간단하게 몇마디 주고 받고 상담원 연결을 요청했습니다.

제가 사용한 전략은 "나는 절대 가난하다" 전략!!

 

  상담원과의 대화록

 

[등장인물]

챗봇 : Chat bot

나 : Me

상담원  : Adobe

 

-------------- 챗봇과의 대화 --------------
# 형식적인 응대
Me : I want to cancel my plan with no cancellation fee.
Chat bot : Hi OOOOO, I'm the Adobe Virtual Assistant. How can I help you?
Chat bot : You want to cancel your plan. Is that right?
Me : Yes

 

# 정상적인 취소 절차

Chat bot : Cancel your Photography plan (20GB) plan at account.adobe.com/plans/1A1A1A1A1A1A1A1AFF11/cancel-plan?sa_src=singlePlan 
Chat bot : We'll send a confirmation email when you complete the process.
Chat bot : You can also watch a short video that'll show you how to cancel at adobe.com/go/cancel
Were you successful?
Me : No (응 안해)

 

# 상담원 연결 요청 및 취소 이유 물어봄

Chat bot : Since that didn't seem to help, are you interested in learning more about refunds, cancellation policies and fees?
Me : No, chat with an agent (상담원 불러)
Chat bot : To get you to the right agent faster, please tell me more about why you are canceling.
Me : Something else
Chat bot : Ok. I'll connect you to an agent who can pick up where we've left off.
Chat bot : We'll connect you with an agent as soon as possible. For a faster resolution, please tell us how we can help you today. You are now connected to A, who is reviewing your account. If you need to share sensitive information, such as credit card number, please wait for your agent to give you steps to share it securely.

-------------- 상담원 연결 됨 --------------

 

# 취소 요청
Me : I want to cancel my plan with no cancellation fee.
Adobe : Hello, I'd be happy to help you today, let me first pull up your account information and access your details.
Me : okay

 

# 가난 전략 시전
Adobe : Thank you for your patience. I can see there is an active subscription Photography plan (20GB) Can I know the reason for the cancellation?
Me : I have no money in my bank account. that is a reason

 

# 가난을 이해한다면서 다른 플랜 제시1
Adobe : I do feel the situation you must be in and I will surely find the solution which is suitable as per the plan tenure and the cancellation reason you have shared with me. Please stay connected...
Adobe : As you are our valued Customer, I can add 3 free months on the existing subscription of Photography plan (20GB).
If you accept the offer, you will not be paying for the next 3 months and you can still use the service. you will be completing the tenure without having to pay for 3 months of the term. you will be making a big save (With 3 free months, you will be saving 33000 KRW during the term) Shall I proceed with applying 3 free months on the subscription?

 

# (나) 응 안해 가난하니 그냥 취소해줘

Me : It's a great offer but I have no money to live. I really appreciate if you cancel my plan with no cancellation fee. Could you do that please?

 

# 가난을 이해한다고 하면서 역시나 다른 플랜 제시2
Adobe : I understand that you are not able to pay for the services, since the subscription is bound by an annual commitment, any cancellation at this point of time would attract an early termination fee which on your account stands at KRW 60,500.00. Considering this I am helping you with the 3 months free credit days so that you can have access to the subscription without paying for the subscription. Please let me know, how would you like to proceed?
Me : So you mean that There is no chance to cancel with no cancellation fee. I can use 3 month service for free and after that, I pay another 9 month Am I understand correctly?
Adobe : I am just informing you that there will be an early termination fees, I can offer you a discounted price of  11000/month for the next year and a free credit of 90 days on your new subscription after the first payment (2nd, 3rd and 4th months will be free). With this discounted offer, you will be paying for the complete year instead of the standard price of 11000 with a combined saving. How does that sound to you?

 

# (나) 취소 수수료 없이 재차 구독 취소 요구2

Me : Yes I got it. and I understand there will be an early termination fees. but Can I cancel my plan with no early termination fees please?

 

# 알았다 취소해줄께
Adobe : I understand your concern, I will go ahead and cancel the subscription also waive the cancelation charges , Please stay connected.
Me : Thank You Sooooooo much!! : )

Adobe :  I have successfully cancelled the subscription and also waived the charges, Is there anything else I can help you with? Thank you, for allowing us the time to share the exclusive offers available on your account. As per your decision, we have cancelled the Photography plan 20 GB. Thank you for being our customer and allowing us the opportunity to serve you. We hope you will consider us as your creative partner in any future ventures.
Me : No It's Perfect. Thank you so much. Have a wonderful day!

Adobe : Happy to help. You may receive an email with a survey link. Please take a moment to rate your experience and help us improve. Thanks!

 

 

이렇게 하니 50% 취소 수수료 없이 무료로 취소를 할 수 있었고 서비스가 바로 끝나는게 아니라 남은 한달 기간까지 서비스를 이용할 수 있습니다.

여러분도 꼭 위 글 참고 하셔서 상담원과 원만하게 잘 타협하시길 바라겠습니다 : )

 

<취소 인증샷>

 

내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!

 

반응형
반응형

AWS CloudWatch의 경보 테스트를 하기 위해

Linux의 CPU, Memory의 과부화 테스트 도구인 Stress 툴을 설치하였습니다.

 

설치를 위해 설치 명령어를 검색해보니 모든 블로그들이 아래와 같은 2개의 명령어를 입력하라고 나오더라구요?

1
2
sudo yum -y install epel-release
sudo yum -y install stress
cs

 

그런데 stress 툴은 알겠는데 epel이 뭐지? 라는 생각이 들어서 검색해보니 epel은 Fedora에서 따로 패키지를 제공하는 패키지 저장소입니다.

삼성 몇몇 앱들이 구글 앱 스토어에서 앱을 다운받는게 아닌 갤럭시 스토어에서 다운받는 것과 같은 개념이라고 이해하시면 될 것 같습니다.

 

저는 남들과는 다르게 하기 위해 조언을 따르지 않고 바로 stress 툴을 설치 시도 해봤습니다.

 

역시 경험자들의 조언은 무시하면 안되는 것인가...

그래서 저 역시 epel-release 패키지 설치 명령어를 입력하였습니다.

그런데 왠 걸? 오류가 뜨는데... 

오류 메시지를 확인해보니 Amazon Linux는 다른 명령어를 쳐야 되는 것이였습니다.
그래서 안내에 따라 아래의 명령어를 쳐봤습니다.

설치 성공!

Amazon Linux를 사용하시는 분들은 아래의 명령어 2줄을 입력해주시면

쉽고 빠르게 설치가 가능합니다.

1
2
sudo amazon-linux-extras install epel
sudo yum -y install stress
cs

 

내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!

 

클라우드 Managed 서비스 관련 문의 : caul334@gmail.com

 

반응형
반응형

 

온프레미스 -> 클라우드로 가야되는 상황에는 데이터 마이그레이션(Data Migration)이 반드시 필요합니다.

 

하지만 데이터 마이그레이션은 꼭 온프레미스 -> 클라우드 방향일 필요는 없습니다.

 

Data Migration은 클라우드 환경에서 서비스를 운영하다보면 OS 패치와 같은 상황에서도 필요할 때가 많이 있습니다.

 

AWS 서비스를 이용한 데이터 마이그레이션 방법은 추후 포스팅으로 소개해드리겠습니다.

 

 

  Linux Data Migration (데이터 마이그레이션)

 

  Linux 명령어

1
2
3
nohup rsync -auzh -"ssh -i <.pem_path>" --delete --progress --partial --append <src_file> <user_account>@<IP>:<dst_file>
 
ex) nohup rsync -auzh -"ssh -i /home/ec2-user/public-ec2.pem" --delete --progress --partial --append /var/www/html ec2-user@10.0.0.1:/var/www
cs

 

nohup은 없어도 되는 명령어이지만 세션이 끊어져도 계속 마이그레이션을 원한다면 붙이는게 좋습니다.

 

 

  실습

 

1) 2번(Destination) 서버에 /var/www 경로를 봐보면 현재 html 폴더가 없습니다.

 

2) 1번(Source) 서버에서 데이터 마이그레이션으로 /var/www/html 폴더 전체를 복사 하겠습니다.

* rsync 명령어를 사용하기 위해선 1번에서 2번 서버로 SSH 접속이 허용되어야 합니다.

 

3) 2번(Destination) 서버에 /var/www 경로를 확인하보면 html 폴더가 생성 되어 있으며 내부 파일 또한 동일하여 Migration이 정상적으로 되었음을 확인할 수 있습니다.

 

내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!

 

클라우드 Managed 서비스 관련 문의 : caul334@gmail.com

 

 

반응형
반응형

AWS 계정 관리에 대한 IAM Root 계정에 대한 Best Practice 찾아 보면 Root 계정을 만들면 MFA 2단계 인증을 설정한 후 Root 계정을 사용하지 말고 IAM 계정에 Admin 권한을 부여하여 IAM 계정을 사용하라고 합니다.

 

Root 사용자에 대한 더욱 상세한 Best Practice는 아래 URL에서 확인 가능합니다.

https://docs.aws.amazon.com/ko_kr/accounts/latest/reference/best-practices-root-user.html

 

AWS를 처음 접하는 분이시라면 같은 Admin 같은데 무슨 차이가 있지? 라는 생각이 듭니다.

아래 그림과 같이 권한 정책만 봐도 모든 Resource에 대해 허용 되어 있는데 말이죠

Administrator 권한 정책 <JSON>

 

하지만 IAM에서 생성한 Administator권한의 계정과 Root 계정은 분명히 차이가 있습니다.

 

Root 계정에서만 수행 할 수 있는 일은 다음과 같습니다.

 

  • AWS 계정 설정 변경 (계정 이름/이메일 주소/Root 사용자 패스워드 변경/Root 사용자 Access Key 설정)
  • Billing and Cost Management 콘솔 접근
  • AWS 계정 정지

Admin 기능을 부여한 IAM 사용자로도 위 작업은 불가능합니다. 위 작업을 수행해야 할 때는 반드시 루트 사용자로 로그인해서 설정 변경이나 신청을 해야 합니다.

 

계정 설정 변경이나 계정 정지를 할 일은 별로 없기에 청구서(Billing) 정보를 확인할 수 없는게 가장 클 것 같네요.

 

Root 계정만 수행할 수 있는 작업에 대해 더욱 상세히 알고싶은 분들은 아래 링크에서 확인 가능합니다.

 

https://docs.aws.amazon.com/ko_kr/accounts/latest/reference/root-user-tasks.html

 

사용자 자격 증명의 비교 - AWS 계정 관리

다음AWS Identity and Access Management (IAM) 조치는 2023년 7월에 표준 지원이aws-portal:ViewAccount 종료됩니다.aws-portal:ModifyAccount 및. AWS비용 관리 및AWS 계정 콘솔에 액세스할 수 있도록 세분화된 작업 사용을

docs.aws.amazon.com

 

내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!

 

클라우드 Managed 서비스 관련 문의 : caul334@gmail.com

반응형
반응형

AWS tool for PowerShell을 설치하는 방법 공유 드립니다.

 

Step 1. 가장 먼저 관리자 권한으로 powershell을 실행해야 합니다

 

 

Step 2. 백신이 실행중이라면 실시간 검사 모드를 꺼야합니다

저 같은 경우 노트북에서 진행한 결과 백신에서 설치 파일을 차단하여 정상 설치가 되지 않았습니다

 

Step 3. 설치 명령어 입력

PS> Install-Module -Name AWSPowerShell

설치 시간은 생각보다 오래걸립니다. 약 10~20분 정도의 여유를 가지고 기다리시면 설치가 완료됩니다.

 

Step 4. 설치 확인 명령어 입력

PS> Get-AWSPowerShellVersion

설치가 완료되면 버전확인가 같은 명령어로 설치 확인을 진행할 수 있습니다.

아래 이미지와 같이 버전 정보가 잘 나타나면 정상 설치가 된것입니다.

 

더욱 자세한 사항 또는 다른 설치 방법은 아래 AWS Tools for PowerShell 페이지에 나와있습니다.

URL : https://docs.aws.amazon.com/ko_kr/powershell/latest/userguide/pstools-getting-set-up-windows.html

 

Windows에 AWS Tools for PowerShell 설치 - AWS Tools for PowerShell

수행해야 하는 작업에서 요구하는 경우를 제외하고 승격된 권한을 가진 관리자로 PowerShell을 실행하지 않는 것이 좋습니다. 이는 잠재적 보안 위험 때문이며 최소 권한의 원칙과 일치하지 않습

docs.aws.amazon.com

 

내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!

caul334@gmail.com

반응형

반응형

코로나19 이후에 자녀들에게 테슬라나 애플 등 좋다고 생각하는 주식들 많이 증여해주셨을 겁니다.

하지만 증여세 신고 하셨나요?

증여세 신고하는 방법 공유드리겠습니다.

 

법률<상속세및증여세법 제53조>을 찾아보니 미성년자는 2천만원 까지 증여가 가능하다고 공제한도가 나와있네요

 

 

  자녀 증여세 신고 하는 방법 (기한 후 신고) 

저는 6개월마다 몰아서 한번씩 증여 신고를 하기 때문에 기한후 신고를 합니다.

기한 후 신고는 3개월만 지나면 몰아서 할 수 있습니다.

따라서 1월~6월에 증여한 것을 3개월이 완전히 지난 시점인 10월에 신고를 합니다.

7월~12월에 증여한 것은 다음년도 4월에 신고하면 됩니다.

 

먼저 로그인을 합니다. 로그인 계정은 증여를 받을 자녀 계정으로 로그인 합니다.

 

 

신고/납부 > 세금신고 > 증여세 클릭

 

 

증여세 신고에서 '기한후신고' 클릭

6개월(7월~12월) 증여내역을 몰아서 하기 때문에 21년 12월 (날짜는 아무렇게)을 선택하고 아래 빨간색 정보를 채워줍니다.

 

 

증여재산은 현금으로 한 경우 아래와 똑같이 하시면 되고 마지막에 있는 평가가액은 6개월간 자녀에게 증여한 금액을 그대로 기입합니다.

 

그렇게 되면 증여재산명세 합계에도 기입한 금액이 그대로 나오는 것을 확인할 수 있습니다.

저장 후 다음 클릭

 

이제 2000만원 공제 한도 내에서 공제를 받기 위해 (26) 직계존비속 부분에 위에서 입력한 금액과 똑같은 금액을 기입합니다.

 

위 금액을 기입하면 기존에 보였던 (46) 부분이 사라졌음을 확인할 수 있습니다.

저장 후 다음이동 클릭

 

최종적으로 신고서 제출 전 신고내역을 확인해 줍니다.

증여재산가액과 증여재산공제 액은 같은 숫자여야 합니다.

그리고 나서 제출하기를 누르면 최종적으로 신고가 됩니다.

 

내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!

caul334@gmail.com

 

 

반응형
반응형

아이폰 이미지 이름 변경 결과

아이폰 이미지 같은 경우 사진을 백업하게 되면 아래와 같이 IMG_<숫자>.JPG 형식의 이미지가 저장됩니다.

따라서 이 사진이 언제 찍은지 알 수가 없어 사진을 제3의 백업 장소에 백업해서 정리하는 사람에게는 대략 난감한 상황이 아닐 수 없습니다.

저도 몇년치를 몰아서 한꺼번에 백업하려고 하니까 아이폰 사진을 저장하는게 제일 난감하더라구요...

저는 이러한 문제를 Exifread 라는 파이썬 모듈을 사용하여 해결하였습니다.

유용하겠다 생각하여 해결한 한 방법을 공유 드립니다!^^

아이폰 이미지 원본

 

윈도우 기준으로 이미지가 언제 찍혔는지 보는 방법은 사진 파일을 오른쪽 클릭 -> 자세히 -> 원본 에서 확인이 가능합니다.

이 사진은 2016년 08월 30일 오전 10:44에 찍혔네요

이미지 속성

 

아래는 파이썬의 exifread 모듈을 사용해서 해결한 소스코드의 일부분 입니다.

소스코드에도 보이겠지만 사진 파일을 바탕화면 하위에 "1212"라는 폴더에 저장했고

사진 파일 명은 IMG_6066.JPG 입니다.

이미지 변경 python 소스코드

 

그리고 나서 실행만 하면 아래와 같이 사진 이름이 변경되었다는 출력결과가 나옵니다.

실행 결과

 

실제로 해당 폴더에 들어가서 확인해보니 사진 이름이 잘 변경되어 있습니다.

 

아이폰 이미지 이름 변경 결과

 

여러분도 저와 같은 어려움을 겪으셨다면 Python 프로그래밍으로 어려움을 해결하시길 바라겠습니다.

 

아래 소스코드는 위에서 소개해드렸던 소스코드 공유드립니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# 반드시 실행 전 pycharm을 관리자 권한으로 실행할 것!
import os
import exifread
 
image_folder_path = '<사진 저장 폴더>'
image_nm = '<사진이름>'
image_abspath = image_folder_path + '\\' + image_nm
print('원본이름: ' + image_nm)
 
# 파일 확장자
ext_idx = image_nm.find('.')
ext = image_nm[ext_idx:]
 
# 사진 파일에서 생성 날짜 메타 데이터 정보 추출할 수 있는 경우
= open(image_abspath, "rb")
tags = exifread.process_file(f)
timedata = str(tags['EXIF DateTimeOriginal'])
f.close()
 
# 변경할 이름 (데이터 파싱)
timedata = timedata.replace(':''')
fname = timedata.replace(' ''_')
 
# 확장자 붙이기
fname = fname + ext
print('변경이름: ' + fname)
 
# 파일 이름 변경
file_oldname = os.path.join(image_folder_path, image_nm)
file_newname = os.path.join(image_folder_path, fname)
os.rename(file_oldname, file_newname)
print('---변경 완료---')
 
cs

 

 

내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!

caul334@gmail.com

 

 

반응형

+ Recent posts