반응형

Error code 모음/11. Aws errors 6

[Redshift Error] Caused by: com.amazon.redshift.util.RedshiftException: ERROR: COPY with MANIFEST parameter requires full path of an S3 object

1. 원인 glue spark job 에서 redshift 작업을 할 때, iam role 이 필요함. 이를 위해 aws_iam_role로 glue 에서 s3와 redshift 에서 작업할 수 있는 권한을 주어야 함. 하지만, 기입한 role에 작업할 수 있는 권한이 없거나, 잘못 기입되었을 떄 발생 나의 경우에는 기입한 iam 이 잘못 기입되어 있어서 발생함(아래와 같이 입력해야 한다) 2. 해결방법 아래 예제에 있는대로 입력을 해야 한다. 3. 참고 링크 https://stackoverflow.com/questions/60923776/redshift-copy-from-parquet-manifest-in-s3-fails-and-says-manifest-parameter-requ Redshift copy..

[RDS Error] Cannot create a publicly accessible DBInstance. The specified VPC does not support DNS resolution, DNS hostnames, or both. Update the VPC and then try again (Service: AmazonRDS; Status Code: 400; Error Code: InvalidVPCNetworkStateFault

1. 원인 RDS에서 public access 시 dns 관련 설정이 허용되지 않아 작업을 못하면서 벌어지는 에러 2. 참고 링크 https://iamreadytocommit.tistory.com/42 aws RDS 생성중 VPC 관련 에러가 발생하는 경우 RDS 생성중 아래와 같은 에러가 발생했다. Cannot create a publicly accessible DBInstance. The specified VPC does not support DNS resolution, DNS hostnames, or both. Update the VPC and then try again (Service: AmazonRDS; Status Code: 400; Error iamreadytocommit.tistory.com

[AWS Error] com.amazonaws.AmazonServiceException: Cross-account pass role is not allowed. (Service: AWSLambda; Status Code: 403; Error Code: AccessDeniedException; Request ID: xxx)

1. 원인 A 계정에서 B 계정에 접속해서 작업을 하려고 할 때, 작업을 위해 B계정의 특정 Role 을 부여 받는데, 그 때 B계정에서 부여받은 role 을 A 계정이 이용할 권한이 없으면 발생하는 에러 2. 해결 방법 신뢰 관계에서 sts:assumerole 의 principal 에 A계정의 유저를 추가 { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "AWS":[ "arn:aws:iam::123456789012:user/user1", "arn:aws:iam::123456789012:user/user2" ], "Service":"ec2.amazonaws.com" }, "Action":"sts:AssumeRole" } ..

[AWS ERROR] AccessDeniedException when calling the PutJobSuccessResult

1. 원인 lambda 실행시 PutJobSuccessResult 작업을 호출할 수 있는 권한이 없을 경우 발생 lambda 에서 PutJobSuccessResult를 호출하지 않았을 경우에도 발생 2. 해결 방안 우선 IAM 유저를 이용할 경우 Root 유저를 이용해서 IAM 유저에게 PutJobSuccessResult 정책을 사용할 수 있는 권한을 할당할 것 그 다음 IAM 유저로 돌아가서 Lambda 함수에 사용할 Role 에 아래의 정책 필드를 붙여넣기 할 것 { "Version": "2012-10-17", "Statement": [ { "Action": [ "logs:*" ], "Effect": "Allow", "Resource": "arn:aws:logs:*:*:*" }, { "Action":..

[AWS Error] EMR spark error : java.lang.ClassNotFoundException: Failed to find data source: ...

1. 에러 원인 해당 에러는 특정 jar 파일을 찾을 수 없을 때 나타난다. 2. 해결 방법 해결 방법은 의외로 간단한 것 같다. 사용하고자 하는 jar 파일의 위치를 spark-defaunt.conf 에 등록해주면 된다. 자세한 사항은 아래 링크를 참고하면 될것 같다. emr 위주이지만 이해하기 쉽게 영상도 있어서 해결하기는 수월할 것 같다. 3. 참고 링크 https://aws.amazon.com/ko/premiumsupport/knowledge-center/emr-spark-classnotfoundexception/ Amazon EMR에서 Spark의 "java.lang.ClassNotFoundException" 해결 스택 추적을 확인하여 누락된 클래스의 이름을 찾습니다. 그런 다음 사용자 지정 J..

[AWS Lambda Error] Unable to import module 'lambda_function': No module named 'tqdm'

1. 에러 원인 해당 에러의 원인은 aws 람다 실행시 람다에 패키지가 올라가 있지 않은 상태인 것이다. --> 패키지를 올려주면 에러가 해결이 될 수 있다. 2. 해결 방법 --> 람다에서 사용할 패키지를 모아 zip 파일 형태로 올리면 된다. 람다는 제약사항이 존재하는데 아래와 같다 1) 에러가 뜬 패키지들을 따로 모아서 압축한다. ( 로컬 프로젝트 에 들어가면 패키지를 모아논 Scripts 를 볼 수 있다 거기서 가져온다) 2) lambda 계층에 들어가서 zip 파일을 업로드한다. 전부 완성했으면 아래와 같이 생성된다 3) 해당 계층을 사용할 람다와 연결한다 4) 끝 3. 참고 링크 https://blog.naver.com/PostView.nhn?isHttpsRedirect=true&blogId=..

반응형