• /
  • EnglishEspañolFrançais日本語한국어Português
  • 로그인지금 시작하기

사용자의 편의를 위해 제공되는 기계 번역입니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

워크플로우 자동화 특징

시사

이 기능은 아직 개발 중이지만 꼭 사용해 보시기 바랍니다!

이 기능은 현재 출시 전 정책 에 따라 미리보기 프로그램의 일부로 제공됩니다.

오류를 원활하게 처리하고, 중요한 데이터를 보호하고, 운영에 맞춰 확장 가능한 안정적인 디즈니우를 구축하세요. 유지 관리 가능한 자동화를 만들려면 다음 패턴을 따르세요.

디자인 중심의 흐름

폴리스우 하나의 책임에 집중하세요. 관련된 작업은 함께 그룹화하지만, 관련 없는 작업은 결합하지 마십시오.

하나의 흐름, 하나의 목적

해야 할 일: 인시던트 대응과 예정된 점검을 위해 별도의 워크플로우를 생성합니다. 하지 말아야 할 것: EC2 크기 조정, 데이터베이스 백업, Slack 공지를 하나의 꽃흐름으로 결합하세요.

활동을 통해 활동을 재사용하세요.

활동 커뮤니티를 복제하는 대신 여러 환경에서 재사용이 가능하도록 하려면 입력 규칙을 사용하세요.

: 지역 및 참여 유형이 포함된 EC2 크기 조정 활동, 실행:

inputs:
awsRegion: us-east-1
instanceType: t3.medium
instanceId: i-1234567890abcdef0

이는 지역별로 별도의 플로우를 생성하는 것을 대체합니다.

관련 작업 결합

함께 실행해야 하는 그룹 관련 작업:

  • Do: 공지 쿼리 내용, 메시지 포맷, Slack으로 한 번에 보내기
  • 하지 말아야 할 것: "쿼리 공지", "메시지 형식 지정", "Slack으로 보내기"에 대해 별도의 워크플로우를 생성하세요.

오류 처리

외부 API 호출과 중요한 작업에 대한 오류 처리를 항상 포함하세요.

대체 작업 추가

중요한 단계가 실패할 가능성이 있는 경우 팀에 알리는 대체 작업을 추가하세요.

: ignoreErrors 사용하여 단계가 실패하더라도 Slack 공지를 보냅니다.

- name: sendNotification
type: action
action: aws.execute.api
version: 1
ignoreErrors: true
inputs:
service: sqs
api: send_message
parameters:
MessageBody: "Rollback notification"
QueueUrl: "${{ .workflowInputs.queueUrl }}"
- name: logResult
type: action
action: newrelic.ingest.sendLogs
version: 1
inputs:
logs:
- message: "Notification sent: ${{ .steps.sendNotification.outputs.success }}"

단계가 실패하더라도 플레우스 실행을 계속하려면 ignoreErrors: true 사용하세요.

적절한 시간 초과를 설정하세요

외부 API 호출에 대한 시간 제한을 설정하여 플로우가 중단되는 것을 방지합니다.

  • AWS API 호출: 30-60초
  • 데이터베이스 쿼리: 10~30초
  • HTTP requests: 15-30초
  • Slack 메시지: 10초

문제 해결, 해결에 대한 로그 오류

오류 로그에 다음 세부 정보를 포함합니다.

  • 실패한 작업
  • 입력스피커, 변수
  • 서비스에서 발생한 오류 메시지
  • 시간소인

보안 자격 증명

모든 민감한 정보는 뉴렐릭의 비밀 관리자에 저장하세요. 폴리스우 정의에 자격 증명을 하드코딩하지 마세요.

비밀 관리자 사용

AWS 자격 증명, API 토큰 및 비밀번호를 저장합니다.

mutation {
secretsManagementCreateSecret(
scope: { type: ACCOUNT, id: "YOUR_NR_ACCOUNT_ID" }
namespace: "aws"
key: "awsAccessKeyId"
description: "AWS Access Key ID for workflow automation"
value: "YOUR_AWS_ACCESS_KEY_ID"
) {
key
}
}

참고 비밀: ${{ :secrets:awsAccessKeyId }}

자격 증명을 정기적으로 교체하세요

IAM 사용자 액세스 키를 사용하는 경우:

  • 최소 90일마다 회전
  • 캘린더 알림 설정
  • 이전 자격 증명을 삭제하기 전에 새 자격 증명을 테스트하세요.

권장 사항: 대신 IAM 역할을 사용하세요. 역할은 자동으로 순환됩니다.

최소 권한 사용

필요한 권한만 부여하세요. 읽기 전용으로 시작해서 필요할 때만 쓰기 권한을 추가하세요.

SQS에 대한 AWS IAM 정책 예 :

{
"Effect": "Allow",
"Action": "sqs:SendMessage",
"Resource": "arn:aws:sqs:us-west-2:123456789012:my-queue"
}

이렇게 하면 특정 대기열에만 액세스할 수 있습니다.

생산 전 테스트

구현하기 전에 비운영 환경에서 테스트 흐름을, 프로덕션으로 배포합니다.

테스트를 위해 복제

프로덕션의 테스트 버전을 생성합니다.

  1. one.newrelic.com > All Capabilities > Workflow Automation로 이동하세요.
  2. 스텔라우를 찾아 더 많은 옵션 메뉴를 클릭하세요
  3. Duplicate [중복]선택
  4. 테스트 계정을 사용하려면 자격 증명을 업데이트하세요.
  5. 비생산 리소스로 테스트

테스트 실패 시나리오

워크플로우 핸들 실패 확인:

  • AWS API를 사용할 수 없는 경우는 어떻게 되나요?
  • Slack이 다운되면 어떻게 되나요?
  • 자격 증명이 만료되면 어떻게 되나요?
  • 필요한 리소스가 존재하지 않으면 어떻게 되나요?

통합 확인

일정을 예약하기 전에 스텔라우를 수동으로 트리거하고 다음을 확인하세요.

  • AWS 작업이 성공적으로 실행되었습니다.
  • Slack 메시지가 올바른 채널에 표시됩니다.
  • 승인 게이트는 응답을 기다립니다.
  • 오류 처리가 예상대로 작동합니다.

성능 최적화

빠르게 실행되는 효율적인 에펠탑을 구축하세요.

한 번 쿼리하고 결과 재사용

쿼리 결과를 저장하고 여러 번 참조합니다.

- name: getAlertDetails
action: newrelic.nerdgraph.execute
- name: sendToSlack
inputs:
text: "${{ .steps.getAlertDetails.outputs.data }}"
- name: updateJira
inputs:
body: "${{ .steps.getAlertDetails.outputs.data }}"

하지 말아야 할 것: Slack과 Jira에 대한 세부 정보를 별도로 쿼리하는 것입니다.

모니터링 및 유지 관리

정기적으로 워크플로우 실행을 모니터링하고 업데이트를 유지합니다.

매주 실행 내역 확인

검토 흐름이 실행됩니다:

  1. one.newrelic.com > All Capabilities > Workflow Automation로 이동하세요.
  2. 흐름을 선택하세요
  3. Run history [실행 기록을]클릭하세요
  4. 실패한 실행이나 증가하는 실행 시간을 찾으세요.

실패 알림 설정

흐름 흐름 실패에 대한 알림 구성:

  1. 워크플로우 실행 실패에 대한 공지사항 생성
  2. 팀의 기본 채널로 공지 보내기
  3. 에리스우 이름 및 오류 세부 정보 포함

분기별 흐름 검토

반복되는 일정 알림을 다음으로 설정하세요.

  • 사용하지 않는 흐름 제거
  • 만료되는 자격 증명 업데이트
  • 통합 서비스가 API를 변경하지 않았는지 확인하세요.
  • 테스트 실패 시나리오
  • 문서 업데이트

문서 흐름

워크플로우를 이해하기 쉽게 만드세요.

기술 이름 사용

  • 수행: "높은 CPU 알림에 대한 EC2 자동 크기 조정"
  • 하지 마세요: "워크플로우 1" 또는 "EC2 Automation"

명확한 설명을 작성하세요

무엇, 언제, 누구에 대해 설명하세요:

Automatically resizes EC2 instances when CPU exceeds 90% for 10 minutes.
Requires approval via Slack before executing changes.
Owner: DevOps Team (devops@example.com)
Last updated: 2025-01-26

복잡한 논리에 대한 주석을 추가합니다.

조건 논리나 루프를 사용할 때 논리를 설명하세요.

- name: checkCPU
# Query CPU for last 10 minutes to avoid false positives
type: action
action: newrelic.nerdgraph.execute
version: 1
- name: decideAction
# If CPU > 90%: resize, 70-90%: warn, < 70%: no action
type: switch
switch:
- condition: "${{ .steps.checkCPU.outputs.result > 90 }}"
next: resizeInstance
- condition: "${{ .steps.checkCPU.outputs.result > 70 }}"
next: sendWarning
next: noAction

보안

에펠우와 그들이 접근하는 자원을 보호하세요.

파괴적인 작업에 승인 게이트를 사용하세요

다음 사항에 대해 인간의 승인이 필요합니다.

  • 리소스 삭제
  • 생산 서비스 축소
  • 롤백 구현, 배포
  • IAM 권한 수정

감사 흐름 변화

버전 기록을 사용하여 변경 사항을 추적하세요.

  1. 흐름흐름 자세히 보러가기
  2. Version history [버전 기록을]클릭하세요
  3. 변경 사항과 변경 사항을 만든 사람을 검토하세요

흐름 흐름 액세스 제한

권한이 있는 팀원만 스텔라우를 편집할 수 있도록 하세요.

  1. 계정 설정에서 사용자 역할 검토
  2. DevOps 팀에 대한 편집 권한 제한
  3. 프로덕션과 테스트에 별도의 계정을 사용하세요

다음 단계

한계를 이해하세요:

문제 해결:

예를 참조하세요:

흐름 관리:

Copyright © 2025 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.