Aws-lambda-dotnet: 였λ₯˜: S3 버킷은 κ΅¬μ„±λœ 리전 us-west-2와 λ™μΌν•œ 리전에 μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€. us-east-1 지역에 μžˆμŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2018λ…„ 01μ›” 17일  Β·  7μ½”λ©˜νŠΈ  Β·  좜처: aws/aws-lambda-dotnet

  • AWS Serverless WebAPI ν…œν”Œλ¦Ώ(ASP.NET Core 2.0)κ³Ό ν•¨κ»˜ dotnet new μ‚¬μš©ν•˜μ—¬ μƒˆ ν”„λ‘œμ νŠΈλ₯Ό μƒμ„±ν–ˆμŠ΅λ‹ˆλ‹€. μ—¬κΈ°μ—λŠ” ValuesController 및 S3ProxyController μƒ˜ν”Œ μ½”λ“œκ°€ ν¬ν•¨λ©λ‹ˆλ‹€.
  • λ‚΄ κΈ°λ³Έ 지역은 us-west-2μ΄λ―€λ‘œ λͺ¨λ“  .appsettings νŒŒμΌμ—μ„œ 지역을 λ³€κ²½ν•˜κΈ° μœ„ν•΄ μ°ΎκΈ°-λ°”κΎΈκΈ°λ₯Ό μˆ˜ν–‰ν–ˆμŠ΅λ‹ˆλ‹€.
  • λ˜ν•œ aws configure λ₯Ό μ‹€ν–‰ν•˜μ—¬ κΈ°λ³Έ ν”„λ‘œν•„ ν‚€ ID, μ•‘μ„ΈμŠ€ ν‚€ 및 지역을 aws-west-2둜 μ„€μ •ν–ˆμŠ΅λ‹ˆλ‹€.

이 λͺ¨λ“  후에 dotnet lambda deploy-serverless ν•˜κ³  us-east-1 λ₯Ό μ‚¬μš©ν•˜λ €κ³  ν•©λ‹ˆλ‹€. ν…œν”Œλ¦Ώ λ˜λŠ” AWS CLI에 λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆκΉŒ?

Error: S3 bucket must be in the same region as the configured region us-west-2. is in the region us-east-1.

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

λžŒλ‹€ νŒ¨ν‚€μ§€μ™€ ν•¨κ»˜ zip 파일이 ν¬ν•¨λœ S3 버킷이 λžŒλ‹€ ν•¨μˆ˜κ°€ μƒμ„±λ˜λŠ” λ™μΌν•œ 지역에 μžˆμ–΄μ•Ό ν•˜λŠ” λ¬Έμ œκ°€ μ—¬μ „νžˆ μžˆμŠ΅λ‹ˆλ‹€. 이것은 직관적이지 μ•Šκ³  제 μƒκ°μ—λŠ” λ”μ°ν•©λ‹ˆλ‹€. μ—¬λŸ¬ μ§€μ—­μ—μ„œ λ™μΌν•œ ν…œν”Œλ¦Ώμ„ ν™œμš©ν•˜λ €λ©΄ μ—¬λŸ¬ λ²„ν‚·μ—μ„œ νŒ¨ν‚€μ§€ μ½˜ν…μΈ λ₯Ό λ³΅μ œν•΄μ•Ό ν•©λ‹ˆλ‹€. 그듀은 적어도 CodeUri μ†μ„±μ˜ URL을 μˆ˜λ½ν•  수 μžˆμœΌλ―€λ‘œ νŒ¨ν‚€μ§€λ₯Ό μ €μž₯ν•˜κΈ° μœ„ν•΄ 곡개 λ²„ν‚·μ΄λ‚˜ githubλ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ§„μ‹¬μœΌλ‘œ, 이것은 λ”μ°ν•©λ‹ˆλ‹€. λͺ¨λ“  μ§€μ—­μ—μ„œ 쀑볡 버킷을 μƒμ„±ν•˜λŠ” λŒ€μ‹  단일 s3 λ²„ν‚·μ—μ„œ λžŒλ‹€ ν•¨μˆ˜ μ½”λ“œ μ—…λ°μ΄νŠΈλ₯Ό 지원할 수 없을 λ•Œ μ „μ—­ s3 λ²„ν‚·μ˜ μš©λ„λŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ?

λͺ¨λ“  7 λŒ“κΈ€

dotnet new에 μ˜ν•΄ μƒμ„±λœ serverless.template λ₯Ό AWS에 μ—…λ‘œλ“œν–ˆλŠ”λ° μ—¬κΈ°μ—μ„œ μŠ€νƒμ„ μƒμ„±ν•˜λ €κ³  ν•  λ•Œ λ‹€μŒ 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.

Error creating change set: Transform AWS::Serverless-2016-10-31 failed with: Invalid Serverless Application Specification document. Number of errors found: 1. Resource with id [ProxyFunction] is invalid. 'CodeUri' is not a valid S3 Uri of the form "s3://bucket/key" with optional versionId query parameter.

ν…œν”Œλ¦Ώμ— λ¬Έμ œκ°€ μžˆλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. CloudFormation에 λŒ€ν•œ κ²½ν—˜μ΄ λ§Žμ§€ μ•Šμ•„ 아직 쑰사 μ€‘μž…λ‹ˆλ‹€.

였늘 λ‚˜λŠ” λ§ˆμΉ¨λ‚΄ 였λ₯˜ λ©”μ‹œμ§€λ₯Ό μ΄ν•΄ν•¨μœΌλ‘œμ¨ μ•½κ°„μ˜ 진전을 μ΄λ£¨μ—ˆμŠ΅λ‹ˆλ‹€ :)

ν΄λΌμš°λ“œ ν˜•μ„± ν…œν”Œλ¦Ώμ˜ "ProxyFunction" λ¦¬μ†ŒμŠ€μ—λŠ” 빈 λ¬Έμžμ—΄λ‘œ μ„€μ •λœ CodeUri λ§€κ°œλ³€μˆ˜κ°€ μžˆμŠ΅λ‹ˆλ‹€. 빈 λ¬Έμžμ—΄μ΄ μ§€μ›λ˜μ§€ μ•ŠλŠ” μ΄μœ μ— λŒ€ν•œ 계속 쑰사.

λΆ„λͺ…νžˆ CodeUri λŠ” μƒλŒ€, 동적 λ§€κ°œλ³€μˆ˜ λ˜λŠ” 정적 URL일 수 μžˆμ§€λ§Œ 빈 λ¬Έμžμ—΄μ€ μ ˆλŒ€ μ•„λ‹™λ‹ˆλ‹€.

https://github.com/awslabs/serverless-application-model/blob/master/HOWTO.md

CodeUriκ°€ λ¬΄μ–Έκ°€λ‘œ λŒ€μ²΄λ˜μ–΄μ•Ό ν•œλ‹€κ³  λ§ν•˜λŠ” νŽ˜μ΄μ§€κ°€ μžˆμŠ΅λ‹ˆκΉŒ? κ°€μž₯ μ €λ ΄ν•œ μˆ˜μ •μ€ λ§€κ°œλ³€μˆ˜λ‘œ ν¬ν•¨ν•˜λŠ” κ²ƒμ΄λ―€λ‘œ λ¬Έμ„œν™”ν•  ν•„μš”κ°€ μ—†μŠ΅λ‹ˆλ‹€.

λͺ¨λ“  것이 잘 된 것 κ°™μ§€λ§Œ 두 개의 S3 버킷, ν”„λ‘μ‹œ 버킷과 λžŒλ‹€ ν•¨μˆ˜ μ½”λ“œκ°€ μ—…λ‘œλ“œλ˜λŠ” 버킷이 κ΄€λ ¨λ˜μ–΄ μžˆμ–΄ ν˜Όλž€μŠ€λŸ¬μ› μŠ΅λ‹ˆλ‹€. λžŒλ‹€μ— λŒ€ν•œ 버킷을 λ§Œλ“€κ³  이름을 μ§€μ •ν•˜κ³  μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” ν”„λ‘μ‹œ 버킷에 λŒ€ν•œ κ³ μœ ν•œ 이름도 μ§€μ •ν•˜λ©΄ ν΄λΌμš°λ“œ ν˜•μ„±μ˜ μ„œλ²„λ¦¬μŠ€ λ³€ν™˜μ΄ μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€.

λžŒλ‹€ νŒ¨ν‚€μ§€μ™€ ν•¨κ»˜ zip 파일이 ν¬ν•¨λœ S3 버킷이 λžŒλ‹€ ν•¨μˆ˜κ°€ μƒμ„±λ˜λŠ” λ™μΌν•œ 지역에 μžˆμ–΄μ•Ό ν•˜λŠ” λ¬Έμ œκ°€ μ—¬μ „νžˆ μžˆμŠ΅λ‹ˆλ‹€. 이것은 직관적이지 μ•Šκ³  제 μƒκ°μ—λŠ” λ”μ°ν•©λ‹ˆλ‹€. μ—¬λŸ¬ μ§€μ—­μ—μ„œ λ™μΌν•œ ν…œν”Œλ¦Ώμ„ ν™œμš©ν•˜λ €λ©΄ μ—¬λŸ¬ λ²„ν‚·μ—μ„œ νŒ¨ν‚€μ§€ μ½˜ν…μΈ λ₯Ό λ³΅μ œν•΄μ•Ό ν•©λ‹ˆλ‹€. 그듀은 적어도 CodeUri μ†μ„±μ˜ URL을 μˆ˜λ½ν•  수 μžˆμœΌλ―€λ‘œ νŒ¨ν‚€μ§€λ₯Ό μ €μž₯ν•˜κΈ° μœ„ν•΄ 곡개 λ²„ν‚·μ΄λ‚˜ githubλ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

이λ₯Ό μœ„ν•΄ CloudFormation νŒ€μ— ν”Όλ“œλ°±μ„ μ œκ³΅ν•΄μ•Ό ν•©λ‹ˆλ‹€. CloudFormation의 λ™μž‘μ„ λ³€κ²½ν•˜λŠ” 것은 이 λ¦¬ν¬μ§€ν† λ¦¬μ˜ λ²”μœ„λ₯Ό λ²—μ–΄λ‚©λ‹ˆλ‹€.

λžŒλ‹€ νŒ¨ν‚€μ§€μ™€ ν•¨κ»˜ zip 파일이 ν¬ν•¨λœ S3 버킷이 λžŒλ‹€ ν•¨μˆ˜κ°€ μƒμ„±λ˜λŠ” λ™μΌν•œ 지역에 μžˆμ–΄μ•Ό ν•˜λŠ” λ¬Έμ œκ°€ μ—¬μ „νžˆ μžˆμŠ΅λ‹ˆλ‹€. 이것은 직관적이지 μ•Šκ³  제 μƒκ°μ—λŠ” λ”μ°ν•©λ‹ˆλ‹€. μ—¬λŸ¬ μ§€μ—­μ—μ„œ λ™μΌν•œ ν…œν”Œλ¦Ώμ„ ν™œμš©ν•˜λ €λ©΄ μ—¬λŸ¬ λ²„ν‚·μ—μ„œ νŒ¨ν‚€μ§€ μ½˜ν…μΈ λ₯Ό λ³΅μ œν•΄μ•Ό ν•©λ‹ˆλ‹€. 그듀은 적어도 CodeUri μ†μ„±μ˜ URL을 μˆ˜λ½ν•  수 μžˆμœΌλ―€λ‘œ νŒ¨ν‚€μ§€λ₯Ό μ €μž₯ν•˜κΈ° μœ„ν•΄ 곡개 λ²„ν‚·μ΄λ‚˜ githubλ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ§„μ‹¬μœΌλ‘œ, 이것은 λ”μ°ν•©λ‹ˆλ‹€. λͺ¨λ“  μ§€μ—­μ—μ„œ 쀑볡 버킷을 μƒμ„±ν•˜λŠ” λŒ€μ‹  단일 s3 λ²„ν‚·μ—μ„œ λžŒλ‹€ ν•¨μˆ˜ μ½”λ“œ μ—…λ°μ΄νŠΈλ₯Ό 지원할 수 없을 λ•Œ μ „μ—­ s3 λ²„ν‚·μ˜ μš©λ„λŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ?

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰