0Pricing
DevOps Bootcamp · 강의

클라우드 리소스 관리

IaC 원칙과 GitHub Actions를 사용해 클라우드 리소스(예: AWS, Azure, GCP)의 배포와 업데이트를 자동화합니다.

클라우드 리소스 관리은(는) CoddyKit의 무료 DevOps Bootcamp 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 DevOps Bootcamp 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

클라우드 리소스 자동화 소개

환영합니다! 이 레슨에서는 코드형 인프라(IaC) 원칙과 GitHub Actions를 사용하여 클라우드 리소스의 배포와 업데이트를 자동화하는 방법을 살펴보겠습니다.

클라우드 리소스를 수동으로 관리하면 느리고 오류가 발생하기 쉽습니다. 자동화를 사용하면 일관성과 속도를 확보할 수 있습니다.

클라우드 IaC에 GitHub Actions를 사용하는 이유

GitHub Actions는 클라우드 인프라 작업을 자동화할 수 있는 강력한 플랫폼을 제공합니다. GitHub Actions가 적합한 이유는 다음과 같습니다.

  • 버전 관리: 인프라 코드가 애플리케이션 코드와 함께 관리됩니다.
  • 자동화: 코드 변경 시 배포를 자동으로 실행할 수 있습니다.
  • 가시성: GitHub에서 직접 배포 상태를 확인할 수 있습니다.
  • 통합: 주요 클라우드 공급자와 쉽게 연결할 수 있습니다.

클라우드 공급자 연결

클라우드 리소스를 관리하려면 GitHub Actions에 클라우드 공급자(AWS, Azure, GCP 등)와 상호작용할 권한이 필요합니다. 일반적으로 다음 방법을 사용합니다.

  • 액세스 키/서비스 주체: 프로그래밍 방식으로 액세스하기 위한 자격 증명입니다.
  • OpenID 연결(OIDC): 키 없이 인증하는 더 안전한 방법입니다.

이 레슨에서는 자격 증명을 안전하게 사용하는 방법에 중점을 두겠습니다.

클라우드 자격 증명 안전하게 저장하기

민감한 자격 증명을 워크플로 파일에 직접 기록하지 마십시오. GitHub Actions는 이를 위해 비밀을 제공합니다.

비밀은 워크플로에서 액세스할 수 있는 암호화된 환경 변수입니다. 로그에 노출되지 않습니다.

  • 저장소의 Settings로 이동합니다.
  • Secrets and variables > Actions로 이동합니다.
  • New repository secret을 클릭하여 클라우드 액세스 키를 추가합니다.

기본 IaC 배포 워크플로 구조

일반적인 IaC용 GitHub Actions 워크플로에는 다음 단계가 포함됩니다.

  1. 코드 가져오기: IaC 파일을 가져옵니다.
  2. 자격 증명 구성: 클라우드 공급자를 위한 환경 변수를 설정합니다.
  3. IaC 도구 설치: (예: AWS CLI, Azure CLI, Terraform, Pulumi).
  4. IaC 명령 실행: 리소스를 계획하거나 적용하거나 삭제합니다.

일반적인 예제를 살펴보겠습니다.

일반적인 클라우드 적용 워크플로

이 워크플로는 IaC 변경 사항을 적용하는 구조를 보여 줍니다. 특정 클라우드와 IaC 도구에 맞게 수정하여 사용하는 템플릿입니다.

저장된 비밀에 액세스하기 위해 secrets.AWS_ACCESS_KEY_ID를 사용하는 방식에 주목하십시오.

name: Deploy Cloud Resources

on: push

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Configure AWS Credentials
        uses: aws-actions/configure-aws-credentials@v4
        with:
          aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
          aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          aws-region: us-east-1

      - name: Run IaC Apply Command
        run: |
          # Replace with your actual IaC tool command (e.g., terraform apply, aws cloudformation deploy)
          echo "Running cloud resource deployment..."
          # aws s3 mb s3://my-unique-coddykit-bucket-123

예시: AWS S3 버킷 배포

다음은 AWS CLI를 사용하여 S3 버킷을 생성하는 간단한 예제입니다. 클라우드별 명령을 워크플로에 통합하는 방법을 보여 줍니다.

이 예제를 실행한다면 my-unique-coddykit-bucket-123을 전 세계적으로 고유한 버킷 이름으로 바꾸십시오!

name: Deploy S3 Bucket

on: push

jobs:
  create-s3:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Configure AWS Credentials
        uses: aws-actions/configure-aws-credentials@v4
        with:
          aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
          aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          aws-region: us-east-1

      - name: Create S3 Bucket
        run: |
          aws s3 mb s3://my-unique-coddykit-bucket-123
          echo "S3 bucket created successfully!"

예시: Azure 리소스 그룹 배포

Azure에서도 마찬가지로 Azure CLI를 사용합니다. 이 워크플로는 Azure에 로그인하고 리소스 그룹을 생성합니다.

AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_SUBSCRIPTION_ID를 GitHub 비밀로 설정해야 하며, 서비스 주체를 사용하는 경우가 많습니다.

name: Deploy Azure Resource Group

on: push

jobs:
  create-rg:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Azure Login
        uses: azure/login@v1
        with:
          client-id: ${{ secrets.AZURE_CLIENT_ID }}
          tenant-id: ${{ secrets.AZURE_TENANT_ID }}
          subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}

      - name: Create Azure Resource Group
        run: |
          az group create --name coddykit-rg --location eastus
          echo "Azure Resource Group created!"

업데이트 및 롤백 관리

리소스를 배포한 후에는 업데이트를 관리해야 합니다. IaC와 GitHub Actions를 사용하면 다음과 같은 작업을 수행합니다.

  • IaC 파일 업데이트: 구성을 수정합니다(예: 새 EC2 인스턴스 추가).
  • 변경 사항 푸시: 저장소에 커밋하고 푸시합니다.
  • 자동 배포: 워크플로가 실행되어 업데이트를 적용합니다.

롤백하려면 일반적으로 IaC 파일을 이전 버전으로 되돌린 다음 배포를 다시 실행합니다.

안전한 클라우드 관리 확인

GitHub Actions로 클라우드 리소스 관리를 자동화할 때, 민감한 클라우드 자격 증명을 처리하는 가장 안전한 방법은 무엇입니까?

복습: 클라우드 리소스 관리

IaC 원칙을 사용하여 GitHub Actions로 클라우드 리소스의 배포와 업데이트를 자동화하는 방법을 배웠습니다.

  • GitHub Actions는 IaC 자동화를 위한 강력한 플랫폼을 제공합니다.
  • GitHub Secrets는 클라우드 자격 증명을 안전하게 관리하는 데 필수적입니다.
  • 워크플로는 클라우드별 CLI(AWS CLI, Azure CLI)를 통합하여 제공업체와 상호 작용합니다.
  • IaC 파일을 변경하고 워크플로가 다시 적용하도록 하여 업데이트를 관리합니다.

계속 연습하여 자동화된 클라우드 처리 흐름을 구축해 보세요!

자주 묻는 질문

“클라우드 리소스 관리” 강의는 무료인가요?

네 — “클라우드 리소스 관리” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 DevOps Bootcamp 강의 전체를 잠금 해제할 수 있습니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

“클라우드 리소스 관리”에서 뭘 배우나요?

IaC 원칙과 GitHub Actions를 사용해 클라우드 리소스(예: AWS, Azure, GCP)의 배포와 업데이트를 자동화합니다. 브라우저에서 직접 실행하는 실습 코드로 DevOps Bootcamp을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

DevOps Bootcamp을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 DevOps Bootcamp은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.

“클라우드 리소스 관리” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 DevOps Bootcamp 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 DevOps Bootcamp 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. Terraform 및 GitHub Actions를 활용한 IaC
  2. 클라우드 리소스 관리
  3. 인프라 업데이트 자동화
  4. Terraform 상태 및 원격 백엔드 관리
← DevOps Bootcamp(으)로 돌아가기