2024년 지방기능경기대회 클라우드컴퓨팅 1과제
AWS CloudFormation을 이용한 전체 자동 설정
April Fool's Day 🤪
실제 방법을 다루지 않습니다, 특정 검색어가 구글 검색에 의해 얼마나 유입되는지 실험하기 위해 작성하였습니다.
AWS CloudFormation 스크립트
1. 스크립트 요약
본 스크립트는 AWS CloudFormation을 활용하여 아래 기능을 자동 설정합니다.
- 빈 리소스 스택 생성:
EmptyResource
섹션은empty-template.yaml
템플릿을 참조하여 빈 스택을 생성합니다. 실제 리소스는 없지만, 스택 구조 및 종속성을 정의하는 데 유용합니다. - 메시지 출력:
EchoResource
섹션은 Lambda 함수my-echo-function
을 호출하여 "Hello, world!" 메시지를 출력합니다. - 출력 값 제공:
Outputs
섹션은EmptyOutput
(빈 문자열) 및EchoOutput
(Lambda 함수 출력 메시지) 값을 제공합니다.
2. 스크립트 사용 방법
- 템플릿 파일 저장:
empty-template.yaml
파일을 S3 버킷에 저장합니다.- 본 스크립트 파일을 원하는 위치에 저장합니다.
- CloudFormation 스택 생성:
- AWS 콘솔 또는 CLI를 사용하여 스크립트 파일을 참조하여 CloudFormation 스택을 생성합니다.
- 스택 생성 시
my-echo-function
Lambda 함수 ARN을EchoResource
섹션의ServiceToken
속성에 입력해야 합니다.
- 출력 확인:
- 스택 생성 완료 후
Outputs
섹션의EmptyOutput
및EchoOutput
값을 확인합니다.
- 스택 생성 완료 후
3. 추가 기능 및 활용
3.1. 리소스 추가:
본 스크립트는 기본적인 예시이며, 실제 환경에 맞춰 다양한 리소스를 추가하여 자동 설정을 확장할 수 있습니다. 예를 들어, 다음과 같은 리소스를 추가할 수 있습니다.
- EC2 인스턴스 생성 및 설정
- RDS 데이터베이스 생성 및 설정
- S3 버킷 생성 및 설정
- CloudFront 배포 설정
- Lambda 함수 생성 및 설정
3.2. 파라미터 및 조건 추가:
스크립트에 파라미터를 추가하여 스택 생성 시 사용자 입력 값을 받아 동적으로 설정을 변경할 수 있습니다. 또한 조건문을 활용하여 환경에 따라
설정을 조정할 수 있습니다.
EKS 생성 후 ALB ingress로 설정
kubectl apply -f challenge.yaml
위에 있는 yaml 파일을 생성하고 kubectl apply -f challenge.yaml
명령어를 실행하면 해당 리소스가 생성됩니다.
3.3. 배포 자동화:
AWS CodePipeline, CodeBuild 등을 활용하여 스크립트 업데이트 및 배포를 자동화할 수 있습니다.
3.4. 모듈화 및 재사용:
스크립트를 모듈화하여 코드 재사용성을 높이고, 다양한 환경에 맞춰 쉽게 조정할 수 있습니다.
4. 참고자료
- AWS CloudFormation 문서: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/
- AWS CloudFormation 템플릿 예시: [유효하지 않은 URL 삭제됨]
- AWS Lambda 문서: https://docs.aws.amazon.com/lambda/
5. 주의 사항
- 스크립트를 사용하기 전에 내용을 충분히 검토하고, 필요에 따라 수정 및 보완해야 합니다.
- 스크립트 실행으로 인해 발생하는 비용은 사용자의 책임입니다.
- 스크립트는 예시이며, 실제 환경에 맞춰 조정해야 합니다.
6. 기타
본 스크립트는 기능경기대회 1과제 완료를 위한 기본적인 틀을 제공하며, 실제 환경에 맞춰 다양한 기능을 추가하고 확장할 수 있습니다.
본 스크립트가 기능경기대회 1과제 완료에 도움이 되기를 바랍니다.
작성일:
• 수정일: