티스토리 뷰
새로 컴퓨터에 설치하려는데 Rider에서 자동으로 설치 템플렛을 안만들어 줘서 터미널로 접근하고 있는데 생각처럼 안된다.
세팅이 더 어려운거 같기도 하다.
일단 이게 설치가 안되서 그런거 같다.
GPT한테 물어보니 버전을 바꿔어라고 한다.
...
...
...
안된서 도커 이미지로 설치했다. 이렇게 버전이 안맞을때는 도커로 이미 세팅이 다된걸 쓰는게 정석이라고 들었다.
도커 파일이 있는 곳으로 가서 이렇게 쳤다.
-
docker build -t hello-world .
-
docker run hello-world
성공이다. 밥먹고 로컬에서 테스트를 해보고 그다음에 아마존으로 빌드하는거까지 해놓자.
...
...
...
자격증명을 해주라고 한다.
aws configure sso
일단 이걸로 시도 해보자. 이걸로 세팅을 해준 다음에
sam deploy --profile xxxx
이런식으로 마지막에 프로파일 이름을 정한걸로 배포하라고 하면 배포한다.
그래도 여전히 문제가 있긴하다.
{"statusCode": 200, "headers": {"Content-Type": "application/json"}, "body": "{\"message\":\"hello world\",\"location\":\"\"}", "isBase64Encoded": false}
일단은 로컬에서는 별 문제없이 뜬다.
...
...
...
어렵다. Rider에 유료 기능을 왜 쓰는지 알거 같긴 하다. 그래도 안쓰고 하는 방법은 알아 둬야 한다.
samconfig.toml 에서 이렇게 수정한다.
resolve_s3 = false
그 다음에 터미널에서
sam deploy --profile your-profile-name --s3-bucket your-s3-bucket-name
이렇게 하면 된다.
Resource handler returned message: "Invalid request
provided: Updating PackageType is not supported"
이제 이런 오류가 뜬다. zip이 아니라 도커 이미지여서 그럴수도 있다.
...
...
...
zip 버전으로 다시 돌아갔다.
export PATH=$PATH:$HOME/.dotnet/tools
이걸로 dotnet툴을 찾게 해줬다.
된다. 한발짝 더 다가왔다.
Resource handler returned message: "Lambda function
HelloWorld-HelloWorldFunction-waT7rUlsSh5i could not be
이 문제를 해결해 주면된다.
해당 함수 이름을 만들어 주면 된다.
다만 이게 음 이것도 S3 네임처럼 뒷부분이 랜덤한 이름이 아니라 무언가 지정된 이름이여야 할듯 싶다.
{"message":"hello world","location":""}
연결해 주면 굉장히 잘 작동한다. 여튼 어떻게 하는지 알았으니까 이번에는 저번에 만들어 놓은 기본 템플릿을 가져다 쓰도록 한다.
그전에 함수 이름을 특정할수 있었으면 좋을듯 싶다. 그것까지만 하면 오늘 할일은 마무리가 될듯 싶다.
Resources:
HelloWorldFunction:
Type: AWS::Serverless::Function # More info about Function Resource: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
Properties:
CodeUri: ./src/HelloWorld/
Handler: HelloWorld::HelloWorld.Function::FunctionHandler
Runtime: dotnet8
FunctionName: HelloWorld
함수 이름을 특정하고 싶다면 이렇게 하면 된다는데 잘 작동할지 모르겠다.
롤벡이 됬다. 머가 문제려나.
아 이게 터미널에서 넣으면 잘 안되는데 라이더에서 클릭으로 배포하면 잘된다. 먼가가 빠진거 같다.
일단 이게 라이더에서 알아서 만들어준 기본 세팅값이다. AWS 기본으로 제공하는 거랑 조금 차이가 난다.
Deploying with following values
===============================
Stack name : HelloWorld
Region : ap-northeast-2
Disable rollback : False
Deployment s3 bucket :
Capabilities : ["CAPABILITY_NAMED_IAM", "CAPABILITY_AUTO_EXPAND"]
Parameter overrides : {}
Signing Profiles : null
디스에이블 롤벡을 false로 해야 노빠꾸로 빌드를 한다.
여튼 클릭으로는 이름까지 바꿔서 성공했다. 이거를 다시 해서 sam으로 도전해 보자.
아 이거 깃도 토큰 입력하는거 때문에 빡쳤는데 이것도 설정하는데 빡치니까 그냥 Rider에 의존을 해야 할듯 싶다.
실행이 안되면 람다 파일에 이름 단어를 지웠다가 다시 쓰면 된다.
그냥 포기하고 여기까지 하자. 돈으로 해결할수 있는거면 돈으로 해결하는게 좋다.
저번에 만들어 놓은 C# 6.0 버전을 cli로 빌드하는데 성공했다.
'학습 > AWS' 카테고리의 다른 글
Socket IO 연구 (0) | 2024.08.18 |
---|---|
C#으로 AWS 서버 개발하기 (0) | 2024.04.08 |
동영상 링크 관리 (0) | 2024.04.05 |
DB 기초 완료 (0) | 2024.03.22 |
자격인증 구현하기 (1) | 2024.03.21 |