소개
안녕하세요. 이권수입니다.
저는 스타트업, 대기업 등을 다니면서 Software Engineer로 근무했습니다. 파이썬을 주로 사용하여 애플리케이션을 구현하고, AWS를 활용해 인프라를 운영한 경력이 있습니다.
강의
전체 1수강평
- Python 프로그래밍: Zero to Expert
- Python 프로그래밍: Zero to Expert
- Python 프로그래밍: Zero to Expert
게시글
질문&답변
Jupyter 경로
안녕하세요.다양한 방법이 있을 수 있겠지만, 제가 사용한 방법을 공유드리겠습니다. Anaconda를 통해서 설치하시면 jupyter 라는 명령어가 자동으로 설치되었을 겁니다! (MAC 기준)$ which jupyter /opt/anaconda3/bin/jupyter 명령어가 정상적으로 설치되었다면, shell에서 직접 Directory를 만들어서 해당 Directory로 접속합니다.mkdir testdir cd testdir pwd 해당 directory에서 jupyter notebook 명령어를 실행하시면 해당 디렉터리를 home으로 노트북이 열립니다.jupyter notebook 참고로, 첫 화면으로 /python3-기초강의/ 이 나온 건, 제가 미리 강의 준비를 해놓은 거라서, 크게 신경쓰지 않으셔도 됩니다. 감사합니다.이권수 드림.
- 0
- 1
- 38
질문&답변
terraform plan 실행 중 에러
안녕하세요. 에러 메시지만 봐서는 credentials에 문제가 있는 걸로 보입니다. 다만, 말씀해주신대로 aws 명령어는 정상적으로 된다고 하면 아래와 같이 debugging 해보시는 걸 권장드립니다. 1. aws configure를 통해서 AWS_ACCESS_KEY와 AWS_SECRET_ACCESS_KEY를 다시 한 번 입력합니다. (새로 발급받으시는 것을 권장드립니다.) 2. aws sts get-caller-identity 결과를 통해 설정하신 어카운트의 세팅이 맞는지 확인합니다. 3. cat ~/.aws/credentials 를 통해 1번에서 등록한 것이 default profile로 등록되어 있는지 확인합니다. 4. 환경변수 중에서 AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN 설정이 있는지 확인합니다. 있다면, 반드시 unset 명령어를 통해서 제거해주셔야 합니다. 5. backend.tf 파일이 설정되어 있다면, backend.tf파일에 설정한 버킷이 있는 어카운트와 현재 사용중이신 어카운트가 동일한지 확인합니다. 위 디버깅을 통해서도 문제가 해결되지 않으시면, 아래 결과를 공유해주시면 저희도 디버깅을 해보도록 하겠습니다. 1. aws sts get-caller-identity 결과 2. aws s3 ls 결과 3. backend.tf, provider.tf 코드 강의를 들어주셔서 감사합니다. 문의사항이 있으시면 언제든 질문답변창에 문의해주시기 바랍니다. 감사합니다. 이권수 드림
- 0
- 3
- 4.6K
질문&답변
terraform plan 명령어 에러가 뜹니다 ㅠ
해결되었다니 다행이네요~ 혹시나 다른 문제가 발생하면 언제든 자유롭게 문의 부탁드립니다. 감사합니다. 이권수 드림
- 1
- 6
- 1.1K
질문&답변
terraform plan 명령어 에러가 뜹니다 ㅠ
ARN출력으로 보면 정상적으로 세팅된 것 같은데, API가 정상적이지 않네요.. ㅠ 저희가 자세히 디버깅 해보기 위해서는 아래와 같은 정보가 필요합니다. 불편하시겠지만 해결을 위해 확인 한 번 부탁드립니다. 1. aws configure 명령어를 입력하셔서 리전을 ap-northeast-2로 설정했는지 한 번 확인 부탁드립니다. 2. terraform plan을 날린 디렉토리에서 .tf 로 끝나는 테라폼 파일의 내용을 캡쳐 부탁드립니다. 위 사항이 오기 전까지 저희는 따로 동일한 현상이 재발되는지 테스트해보겠습니다. 감사합니다. 이권수 드림
- 1
- 6
- 1.1K
질문&답변
terraform plan 명령어 에러가 뜹니다 ㅠ
안녕하세요. 에러 메시지로 보면, 권한의 문제라기보다 ACCESS KEY / SECRET ACCESS KEY 를 등록하는 과정에서 오타가 발생한 것 같습니다. 보통 Secret Access Key를 복사할 때 잘못 복사하는 경우가 많은데, 기존의 키를 삭제하시고 재발급 받으셔서 재시도해보시는 걸 추천드립니다. 그리고 로컬에서 aws sts get-caller-identity 명령어를 날려보시면 어떤 권한으로 실행되는지 보실 수 있습니다. 여기서 user/terraform-101의 ARN이 나오지 않는다면 설정이 잘못된 것입니다. 다시 해보셔도 안되시면 재문의 부탁드립니다! :) 감사합니다. 이권수 드림
- 1
- 6
- 1.1K
질문&답변
IAM terraform.tf 파일 옮기는 과정에서의 오류 질문입니다.
backend.tf 의 dynamoDB 이름을 terraform-lock에서 terraform_lock 으로 변경해보시겠어요? 언더바와 대쉬가 혹시 잘못 들어간 건 아닐까 의심됩니다.
- 0
- 6
- 626
질문&답변
IAM terraform.tf 파일 옮기는 과정에서의 오류 질문입니다.
안녕하세요. 에러로 보았을 때는 dynamoDB 또는 S3 리소스가 없는 것으로 보여집니다. backend.tf 파일에서 s3와 dynamodb를 설정하기 위해서는 아래 링크와 같이 init.tf 파일을 먼저 실행하여 backend 구성에 필요한 리소스를 먼저 생성해주셔야 합니다. https://terraform101.inflearn.devopsart.dev/advanced/backend/#코드생성 혹시나 이전 과정에서 위 과정이 빠진 것은 아닌지 확인 부탁드립니다. 그래서 오류가 나는 경우에는 backend.tf 파일 설정을 그대로 첨부해주시면 저도 로컬에서 디버깅해보도록 하겠습니다! 감사합니다. 이권수 드림
- 0
- 6
- 626
질문&답변
이전 iam 강좌와 devops_group.tf 파일이 차이가 있습니다.
안녕하세요. 승환님 말씀하신대로 파일에서 내용이 일부 변경이 발생했는데, 별로도 말씀드리지 못해 죄송합니다. 해당 내용은 관련 영상 아래 안내사항으로 추가하였습니다. 미처 신경쓰지 못했던 실수를 수정해주셔서 진심으로 감사합니다. 영상 제작에 더욱 신경쓰도록 하겠습니다! 추가로 궁금하신 내용은 언제든 문의 부탁드립니다. 감사합니다. 이권수 드림
- 1
- 1
- 252
질문&답변
질문있습니다.
안녕하세요. 결론부터 말씀드리면 문의주신 내용이 맞습니다. ------------------------------------------------------------------------------------------------ 조금만 첨언을 드리면, 테라폼은 3가지 형상을 검사합니다. 1. backend의 .tfstate : 테라폼 코드가 실제 리소스에 반영된 최종 결과물입니다. 팀원들이 함께 협업을 할 때, backend에 이 .tfstate파일을 놓고 협업을 하게 되면, 다른 사람이 수정한 부분까지 함께 반영된 결과물을 의미합니다. 2. 실제 리소스 : 실제 AWS상에 생성된 리소스를 의미합니다 3. 로컬 코드(.terraform): 로컬에 현재 작성되어 있는 코드를 의미합니다. terraform plan 명령어를 사용하시게 되면, 테라폼은 위 세가지 사항을 전부 비교합니다. 기준은 로컬 코드입니다. 즉, 아무리 실제 리소스와 .tfstate가 변경되었다고 하더라고, 로컬에서 코드를 변경하지 않으면 로컬에 정해진 리소스로 형상이 맞추어집니다. 즉, 실제 리소스에서 변경 작업을 하건, 다른 사람이 테라폼 코드를 고치건 로컬 코드를 기준으로 변경되는 사항을 보여주는 것입니다. 따라서 로컬 코드를 기준으로 리소스를 검사하기 때문에, 실제 리소스가 있더라도 로컬에서 만든 리소스가 아니면 확인할 수가 없습니다. 이 때 "검사 대상이 되는 리소스"들을 모아 놓은 곳이 바로 .terraform을 포함한 로컬코드입니다. 손쉽게 확인하실 수 있는 방법은 .terraform코드를 삭제해보시는 겁니다.(실제 환경에서는 하시면 안됩니다.) 만약 .terraform을 삭제하시고 plan을 치시면 테라폼 입장에서는 검사할 리소스가 없기 때문에 전부 새로운 리소스라고 판단하게 됩니다. 그래서 . terraform을 항상 최신으로 맞춰주는 것이 중요합니다. 여러 사람이 로컬에 각자 다른 .terraform을 가지게 되면 매번 리소스에 변경사항이 발생한다고 나올 겁니다. 그래서 이런 경우를 막기 위해 backend 라는 것을 사용하실 수 있습니다. 자세한 내용은 16강을 참조 부탁드립니다.
- 4
- 2
- 247
질문&답변
질문있습니다.
안녕하세요 말씀해주신 내용으로는 전부 삭제가 되어야 맞습니다. 설명해주신대로라면 provider.tf 파일만 남아있어야 하고, s3 리소스에 대한 코드가 없기 때문에 생성이 되면 안되는 것이 정상입니다. 혹시나 s3.tf, .terraform 폴더, terraform.tfstate 파일을 생성하시고 삭제하는 과정에서, 해당 디렉토리에 s3 리소스와 관련된 코드가 남아있지는 않았는지 확인 부탁드립니다. (즉, provider.tf 파일을 제외하고 모든 파일을 삭제하신 상태에서, plan을 쳤을 때 아무것도 나오면 안됩니다.) --------------------------------------------------------------------------------------------------- 영상을 기준파일/폴더에 대한 설명은 아래와 같습니다. 1. s3.tf : 실제 s3 리소스에 대한 설정을 담고 있는 파일입니다. 이 코드가 없으면 테라폼은 s3를 생성하지 않습니다. 2. terraform.tfstate : 테라폼 작업으로 생성된 형상의 결과를 저장한 코드입니다. 이는 협업을 할 때 자신이 반영한 코드를 다른 사람이 함께 동기화하기 위해서 필요합니다. 본 영상에서 tfstate가 로컬에 남는 이유는 backend를 따로 지정하지 않았기 때문입니다. 3. .terraform : 로컬에서 반영한 테라폼 형상에 대한 설정 파일합니다. 즉, 다른 사람이 작업하여 반영한 실제 형상은 여기에 저장되지 않았을 수도 있습니다. 따라서 이미 생성된 .terraform 폴더를 삭제하시게 되면, 로컬 입장에서는 반영한 테라폼 코드가 하나도 없기 때문에 (실제로는 이미 생성을 했을지라도) 새로운 리소스인 것마냥 새로 생성하게 됩니다. (물론 실제 apply를 치면 이미 있는 리소스이므로 에러가 날 가능성이 높습니다.) 4. provider.tf : 어떤 프로바이더에 리소스를 생성할지 정의하는 파일입니다. Provider를 명시하지 않으면, 테라폼 입장에서 어떤 곳에 리소스를 만들지 알 수 없기 때문에 반드시 필요한 파일입니다.
- 1
- 2
- 521