1) 클라우드란

송인호·2022년 10월 11일
1

cloud

목록 보기
2/3

1-1.클라우드 컴퓨팅이란?

클라우드 컴퓨팅(클라우드) 이란 컴퓨터를 사용한 정보 처리를 자신이 보유한 PC가 아닌, 인터넷 '너머'에 존재하는 클라우드 사업자의 컴퓨터에서 처리하는 서비스를 뜻함.

클라우드는 '은행 예금'과 같은 것

모든 유형, 규모 및 산업의 조직이 데이터 백업, 재해 복구, 이메일, 가상 데스크톱, 소프트웨어 개발 및 테스트, 빅 데이터 분석, 고객 대상 웹 애플리케이션 등 다양한 사용 사례에 클라우드를 사용하고 있습니다. 예를 들어, 의료 회사들은 클라우드를 사용하여 환자를 위한 좀 더 개인화된 치료법을 개발하고 있습니다. 금융 서비스 회사들은 클라우드를 사용하여 실시간 부정 행위 탐지 및 예방에 힘을 쏟고 있습니다. 그리고 비디오 게임 제작자들은 클라우드를 사용하여 전 세계 수백만 명의 플레이어에게 온라인 게임을 제공하고 있습니다.

1-2.클라우드가 등장한 배경

  • 1980년대
    메인 프레임 이라고 하는 대형 범용 컴퓨터의 시대였음.
    모든 데이터와 애플리케이션을 메인 프레임에 모아 처리하였고, 단말기는 입력과 출력 표시 기능만 담당했음.

  • 1990년대
    분산형 클라이언트 서버 모델이 주류가 됨. 클라이언트 단말기에 처리 기능을 탑재하여 집충 처리에서 분산 처리로

  • 2000년대
    사내 시스템이 네트워크 환경 위에 구축됨 처리가 서버에 집중됨.

  • 2010년대
    필요한 때 필요한 만큼 사용하는 클라우드 컴퓨팅 모델로 발전.
    서버를 보유하는 것이 아니라, 전 세계에 분산된 서버의 리소스들을 서비스로써 이용하는 모델

CPU처리 속도 고속화가 진행되어 가상화 기술과 분산 처리 기술 등의 발전, 빨라지고 저렴해진 네트워크, 거대해진 데이터 센터에 의한 규모의 경제가 클라우드 등장 환경을 조성함.

분산처리 와 집중 처리 차이?

//
분산처리: 중앙에 있는 호스트 컴퓨터 시스템에 집중하여 모든 데이터를 처리하는 것이 아니라 지역별로 떨어져 있는 컴퓨터 시스템을 통신망으로 연결하여 분산된 각각의 지역 컴퓨터 시스템에서 독립적으로 데이터를 처리하도록 분산시킨 데이터 처리 방식임.
//
지역별로 떨어져 있는 컴퓨터에 통신망을 이용하여 연결한 후 다른 지역에 분산되어 있는 컴퓨터 시스템들을 통신망을 이용하여 연결하여 하나의 시스템과 같이 상호작용이 가능
장점: 중앙 컴퓨터가 업무에 집중되는 부하를 줄일 수 있으며, 데이터를 자체적으로 관리하여 통신 횟수를 줄여 통신 비용이 절감됨.
지역별 문제에 대한 신속한 파악과 조치가 용이함, 시스템 확장이 용이함
단점: 고장 복구 및 회복 기법이 어려움.
ex). 전기 사용료, 전화사용료 등 전국 규모의 공과금 처리 업무

집중 처리: 호스트 컴퓨터 시스템에 집중하여 각 지역별로 분산됨 모든 데이터를 처리하는 방식.
각 지역의 컴퓨터 시스템은 통신망을 이용해 단말기 역할로 연결되기 때문에 자체적으로 업무처리는 불가능
장점: 중앙 컴퓨터에 데이터가 집중되기 때문에 데이터 통합 관리가 용이, 관리비용이 저렴함.
단점: 중앙 컴퓨터에 업무가 집중 되어 부하가 집중됨. 지역별로 데이터를 자체적으로 관리할 수 없기 때문에 통신 횟수가 많아져 통신 비용이 듬

1-3.클라우드의 정의와 특징

NIST(미국 국립 표준 기술연구소) 가 정한 클라우드 컴퓨팅의 정의.
클라우드 컴퓨팅이란, 공유 구성이 가능한 컴퓨팅 리소스(네트워크, 서버, 스토리지, 애플리케이션 서비스)의 통합을 통해 어디서나 간편하게, 요청에 따라 네트워크를 통해 접근하는 것을 가능하게 하는 모델임.

NIST의 일반적인 클라우드이 특징 5가지

  1. 주문형 셀프 서비스
    사업자와 직접 상호 작용하지 않고, 사용자의 개별 관리화면을 통해 서비스를 이용할 수 있다.

  2. 광범위한 네트워크 접속
    모바일 기기 등의 다양한 디바이스를 통해 서비스에 접속 할 수 있다.

  3. 리소스의 공유
    사업자의 컴퓨팅 리소스를 여러 사용자가 공유하는 형태로 이용한다. 또한, 사용자는 자신이 사용하는 리소스의 정확한 위치를 알 수 없다.

  4. 신속한 확장성
    필요에 따라, 필요한 만큼의 스케일 업(처리 능력을 높이는 것)과 스케일 다운(처리 능력을 낮추는 것) 이 가능하다.
    스케일업 서버 자체를 증강하는 것에 의해서 처리 능력을 향상시키는 것

  1. 측정 가능한 서비스
    이용한 칸큼 요금이 부가되는 종량제

1-4.클라우드의 장점

클라우드는 온프레미스와 비교했을 때 다양한 장점이 있음.

온프레미스란?

기업의 서버를 클라우드 같은 원격 환경에서 운영하는 방식이 아닌, 자체적으로 보유한 전산실 서버에 직접 설치해 운영하는 방식을 의미.
그래서 클라우드 컴퓨팅 기술이 나오기 전까지 기업 인프라 구축의 일반적인 방식.

  • 경제성
    온프레미스: 사전에 피크 타임 이용량을 예상하여 하드웨어와 스프트웨어를 구입해야함
    클라우드:
    하드웨어와 소프트웨어 소유하지 않고 사용하고자 하는 기능을, 사용하고자 하는 기간만 서비스로써 사용 할 수 있음.
    또한, 부서나 사업소 등이 각자 관리하던 소프트웨어와 데이터를 클라우드에서 통합 관리함으로써 소프트웨어 업데이트 작업 및 데이터 유지보수의 효율성을 높이고 비용을 절약할 수 있음.

  • 유연성
    온프레미스: 서버 중축 및 시스템 확장에 고도의 기술과 엄청난 비용이 필요함.
    클라우드:
    컴퓨팅 리소스를 필요할 때, 필요한 만큼 확장하고, 그다지 필요하지 않을 때는 축소하는 등 유연한 활용이 용이함.
    기업과 사용자가 인터넷만 연결되면 어디서나 클라우드 서비스에 액세스하고 필요에 따라 서비스를 확장하거나 축소 할 수 있음.(구글)

  • 가용성
    온프레미스: 서버의 장애에 대처하기 위해 이중화 및 백업 등의 조치가 필요함
    쿨라우드:
    재해에 강한 데이터 센터 안의 일부 하드웨어에 장애가 발생하더라도 서비스를 계속해서 사용할 수 있도록 구성 되어 있기 때문에, 자체 시스템을 구축할 때 보다 낮은 가격에 가용성이 높은 환경을 사용할 수 있음.

  • 빠른 구축 속도
    온프레미스: 설계 후 하드웨어와 소프트웨어를 조달하여 배치하기 까지 시간이 걸림
    클라우드:
    클라우드가 제공하는 하드웨어와 소프트웨어를 이용하여 시스템을 신속하게 구축할 수 있음.

SaaS가 이득?

1-5.SaaS란?

SaaS(Software as a Service, 서비스로서의 소프트웨어)
쉡게 말해 고객이 이미 구축된 소프트웨어에 사용료를 지불하면서 이용하는 형태임.
다른점: 구축에 많은 시간이 걸릴 작업이 이미 완성됨
하나의 서버를 여러 기업에서 공유하는 것을 전제한 멀티 테넌트 방식서비스를 제공.
소프트웨어 업데이트 작업은 기업 사용자가 아니라 클라우드 사업자가 수행, 따라서 항상 최신 기능 소프트웨어 버그가 방치되지 않는 장점.
SaaS는 인터넷을 통해 활용하여, PC는 물론 이동 중에도 스마트폰이나 태블릿 등의 다양한 기기로 접속 할 수 있음
예시) iCloud, Google Drive, 네이버MYBOX가 대표적 예시, 기업용 메신저나 이메일, 화상회의 일정 관리 서비스 등도 포함
넷플릭스와 같은 OTT(Over-the-Top) 서비스도 SaaS의 사례
구글 클라우드, 지메일

1-6.PaaS란?

PaaS(Platform as a Service, 서비스로서의 플랫폼)
플랫폼을 서비스로 제공하는 클라우드 형태
기업의 애플리케이션 실행 환경 및 애플리케이션 개발 환경을 서비스로써 제공하는 모델임.
서비스 개발, 배포, 관리를 가능하게 해주고 개발 툴이나 프로그래밍에 필요한 요소들을 제공해 앱을 개발할 수 있게 환경을 제공.
자사에서 애플리케이션 개발 환경을 처음부터 구축하는 것은 많은 시간이 소요되는 일이다. 그래서 Java, PHP, Ruby 등의 프로그래밍 언어를 지원하는 애플리케이션 실행 환경이나 데이터베이스 등이 미리 마련되어 있음

1-7.IaaS란?

IaaS(Infrastructure as a Service, 서비스로서의 인프라 스트럭처)
CPU나 하드웨어등의 컴퓨팅 리소스를 네트워크를 통해 서비스로 제공하는 모델.
웹서버 등을 운영하기 위해 필요한 하드웨어 서버, 네트워크 등 여러 가지 요소들을 가상 환경에서 제공해주는 서비스.
대표적인 서비스 가상 서버 및 온라인 스토리지
가상서버? 클라우드 사업자가 보유하는 물리적 서버의 CPU와 메모리, 스토리지 등의 하드웨어 자원을 소프트웨어적으로 나누어 사용자에게 제공하는 것.
생성된 가상 서버 리소스는 자유롭게 스케일 업, 스케일 다운이 가능.
IaaS의 활용 예로는 웹 사이트의 서버
일시적으로 컴퓨팅 리소스를 ㄹ많이 빌려서 사용하고, 프로모션이 종료되면 리소스를 감축시키는 등 리소스의 양을 유연하게 변경함
예를들이 홈페이지를 구축하고 싶으면 서버 증설을 위해 아마존 AWS를 이용하여 사이트를 만들고, 서버를 사용한 만큼 돈을 내면 됨

차이가?

Iaas 피시방
Paas 윈도우
Saas 게임

1-8.클라우드 이용 모델

퍼블릭 클라우드

클라우드 사업자가 시스템을 구축하고, 인터넷 망 등의 네트워크를 통해 불특정 다수의 기업과 개인에게 서비스를 제공하는 형태
자사의 IT 자산을 보유하지 않더라도 컴퓨팅 리소스를 서비스로 사용할 수 있음.
필요한 컴퓨팅 자원을 단기간에 저비용으로 마련할 수 있고, 운용 관리 부담이 적다는 장점이 있음.
장점: 이용한 만큼 돈을 지불 ( 운용 관리 부담이 적음),
단점: 매월 이용료를 납부해야하고 인터넷을 통하는 것이라 보안 우려와 대역폭에 제한이 있음 (속도가 느림)

프라이빗 클라우드

클라우드 서비스의 사용자 또는 사업자의 데이터 센터에 클라우드 관련 기술이 활용된 자사 전용 환경을 구축하여 컴퓨팅 리소스를 유연하게 이용할 수 있는 형태.
가상화, 자동화와 같은 클라우드 관련 기술의 활용으로 잉ㄴ해 시스템의 성능과 비용이 최적화되므로, 유연한 사용자 정의가 가능.
사설 네트워크(인트라넷) 기반으로 소수 특정 집다느이 사용자들이 사용할 수 있도록 제한함
장점: 보안 및 신뢰성을 제공, 네트워크 대역폭 제한 없음(빠름)
단점: 장비, 인력등 비용이 많이듬, 데이터 센터 구축이 필요

커뮤니티 클라우드

공통의 목적을 가진 특정 기업들이 클라우드 시스템을 형성하여 데이터 센터에서 공동 운영하는 형태이다.
퍼블릭 클라우드와 프라이빗 클라우드의 중간적인 형태.

하이브리드 클라우드

퍼블릭, 프라이빗, 커뮤니티 클라우드 같은 클라우드 서비스들과 온프레미스 시스템을 연계시켜 활용하는 시스템 및 서비스를 뜻함.
멀티 클라우드.

1-9.프라이빗 클라우드의 종류

프라이빗 클라우드는 최근 두 가지로 분류되고 있음.
기업 사용자가 장비를 자사의 데이터 센터 등에 설치하고 자사가 보유하고 운용하는 형태: 온프레미스 프라이빗 클라우드
클라우드 사업자가 장비를 보유하고, 프라이빗 클라우드 서비스를 제공하는 형태: 호스티드 프라이빗 클라우드

온프레미스 프라이빗 클라우드

기업 사용자 스스로 클라우드 기반 소프트웨어 등을 이용하고, 자사 전용 클라우드 환경을 구축해서 운용하는 형태.
기업 사용자 스스로가 시스탬을 설걔하고 운용, 관리하기 떄문에, 자사의 시스템 요구 사항에 맞춘 유연한 시스템 설계가 가능.
또한, 자체적인 보안 정책에 따른 강력한 보안 환경을 구축해서 운용가능.
스스로 클라우드 환경을 구축해야 하기 때문에 부담이 있지만, 대규모 클라우드 환경을 구축해서 운용할 경우, 자체 프라이빗 클라우드 환경을 구축하는 것이 저렴한 비용으로 유연한 환경을 제공 할 수 있음.

호스티드 프라이빗 클라우드

클라우드 사업자가 기업 사용자별로 클라우드 환경을 제공하여, 서버와 스토리지 같은 컴퓨팅 리소스를 서비스로 제공하는 형태.
서버와 같은 장비를 구입하거나 사내에서 시스템을 구축할 필요가 없으므로, 단기간에 전용 클라우드 환경을 구축하고 월 비용을 지불하여 사용 가능
전용선과 VPN 망을 통해 보안 수준이 높은 전용 클라우드 환경을 제공, 기업 사용자별 시스템 사용자 정의에도 유연하게 대응 가능

1-10.클라우드와 온프레미스 비용 비교

  • 온프레미스
    데이터 센터의 초기비용, 서버, 스토리지, 네트워크 장비 등의 하드웨어와 소프트웨어 조달비용이 필요.
    몇 년 후의 이용량을 예측해서 제품을 선택, 거액의 초기 도입 비용을 지불해야함
    시설 관리비와 하드웨어 리스 비용 및 임대 비용, 유지 보수 비용, 회선 비용, 운용 담당자의 인건비 같은 비용이 소요됨.

  • 클라우드
    계약 기간 거정 없이 사용할 용도나 사용 빈도에 따라 필요 할 때 필요한 만큼 가상 서버 자원을 유연하게 사용할 수 있어 비용 최적화 용이.
    월 정액제를 사용하여 운영비용 평준화
    시스템을 클라우드 사업자가 운용하므로, 운용에 소요되는 인건비도 크게 줄일 수 있음.

하지만 조건에 따라서는 온프레미스ㅏ 저렴한 경우도 있음.
5년 이상의 장기간의 시스템이나, 대규모 시스템을 구축하고 운용할 경우.
클라우드 구축 시, 기존 온프레미스 시스템의 수정이나 데이터 이행에 소요되는 비용이 많이 발생하는 경우도 있음.

요약: 온프레미스는 초기에 구입해야 할 것이 많으므로, 초기 비용이 비싸고 클라우드는 초기 비용이 저렴함.

1-11.클라우드, 온프레미스의 도입과 확장성 비교

온프레미스 시스템의 도입과 확장성

기업 사용자가 온프레미스 시스템을 도입하는 경우에는 자사 시스템의 개별 요구 사항에 따라 설계함.
시스템의 기획부터 개발, 운영 효과의 측정, 기능 확장, 재구축까지 상시 이용 가치의 극대화 및 시스템의 최적화를 꾀함
이 모든 것을 자사에서 실시하기 때문에 시스템의 도입과 확장에는 고도의 기술력을 갖출 인재와 큰 비용이 필요함.

클라우드의 도입과 확장성

클라우드 사업자가 제공하는 서비스를 이용하므로 서비스에 관련된 조달에서 구축까지 클라우드 사업자가 윈스톱으로 제공
기업 사용자는 사업의 확대와 이용 용도에 맞추어 가상 서버와 같은 리소스들을 확장하거나 축소할 수 있음.
운영에 할당했던 인재들을 보다 비즈니스에 가까운 업무로 배치할 수 있음.
막대한 IT 투자가 어려운 중소기업의 경우에도, 클라우드를 이용하여 대기업에 필적하는 규모의 서비스를 이용할 수 있음.

온프레미스

클라우드

요구 사항 청취 -> 설계 -> 조달 -> 구축 -> 운영 -> 조달 -> 구축 p33

[실용주의 클라우드컴퓨팅]클라우드 절대명제는 저렴하지않다

사람들은 대부분 '클라우드로 이전하면 비용이 절감된다'라는 단순한 생각을 하고 있다.
하지만 이 비용을 '인프라 비용'으로 생각해보면 클라우드가 무조건 저렴하지는 않다는 것을 쉽게 알 수 있다.
클라우드 비용을 이야기 할 때 대개 장비 구매 비용, 인프라 임대 비용(상면 + 회선) 만을 생각한다.
서버 사양과 수령을 가늠하고 장비 총 가격에 3년 감가상각을 적용해 월 비용을 산출하는 식이다.
이런 방식이라면 어떤 경우에도 퍼블릭 클라우드 비용이 기존 온프레미스보다 높게 나올 수밖에 없다.
반면 프라이빗 클라우드는 기존 운영 방식과 비교했을 때 거의 대부분 비용이 줄어든다.
한 대의 고사양 서버로 수십 대의 저사양 서버를 대체할 수 있으므로 장비 비용도 감소한다.
즉, 서비스 공급자(CSP)에 따라 비용엔 차이가 있지만 퍼블릭 클라우드 => 온프레미스 => 프라이빗 클라우드 순으로 가격이 저렴하다.
하지만 클라우드에서 말하는 비용은 단순히 인프라 구매와 임대 비용만 뜻하는 것이 아니며 총소유비용(TCO)를 따져봐야한다.
클라우드를 운용하려면 역량을 지닌 엔지니어가 필요하고 휴가나 개인 사정을 고려하여 최소 두 명의 엔지니어가 팀을 이뤄 클라우드를 운영해야한다.
이러한 인건비를 무시할 수 없어 클라우드 인프라의 규모가 작은 경우 자체 인력을 운용하는 건 효율성이 매우 떨어진다. 그리고 시간적 측면에서도 개발자와 기획자, 디자이너 등 서로 기다려주며 개발을 해야하고 서버를 구매할 경우 장비를 받는데에 대개 2~3주가 소요된다.
즉 클라우드를 사용하지 않음으로써 민첩성을 포기해야 하는데 그 동안 개발자나 기획자가 작업을 하지 못하면 인건비 증가로 돌아오게 된다.
그래서 이러한 점을 고려했을 때 '클라우드를 도입하면 비용이 절감된다'는 이야기는 큰 틀에서 맞다고 할 수 있지만 무조건 인프라 비용의 축소를 의미하지는 않는다. 그래서 클라우드를 도입할 때 충분한 전문성을 갖춘 인력이 전체 시스템의 구성을 검토해야한다.

1-12.클라우드의 안전성과 신뢰성

클라우드의 리스크

IaaS의 리스크: 클라우드 사업자의 하드웨어 장애로 인한 데이터 손실이나 서비스 중단
네트워크 리스크: 통신도청, 중간자 공격(통신 경로 사이에서 공격), 스푸핑같은 통신 위협과 시스템 다운 위협

대책: IaaS의 장애에 대비하여 가상 서버를 백업, 쉽게 가상 서버 환경을 구축하기 위한 템플릿을 미련하는 것을 들 수 있음.

클라우드 보안 거버넌스

거버넌스
기업 사용자는 자사가 보유한 정보의 관리와 처리를 클라우드 사업자에게 맡겨 버리게 됨.
보안 등의 리스크를 모두 통제할 수 없음
클라우드 보안 거버넌스의 관점에서 바라보면, 클라우드 서비스의 인시던트와 서비스의 복구와 같은 사항들은 제어가 어려움.
클라우드 사업자의 갑작스런 파산이나 서비스 중단과 같은 클라우드 서비스의 연속성 리스크또한 존재함.
클라우드 사업자와 이용자 사이의 책임 분계선 등 이용자가 관리할 수 있는 법위를 파악한 후, 보안 대책과 백업을 마련할 필요가 있음.

??

1-13.클라우드 서비스의 책임 분계선

클라우드 사업자와 이용자가 간의 책임 분담을 명확히 확인
'당사의 시설에 연결하는 인터넷 접속 서비스의 결함과 같은 이용자의 접속 환경 장애에 대해 당사는 책임을 지지 않는다.'
클라우드 사업자는 사용자 기업이 제공한 인터넷 환경과 응용 프로그램이나 데이터베이스 같은, 사용자 측의 환경에 의해 발생한 손해는 부담하지 않는다. 규정.
클라우드 사업자와 사용자의 책임을 사전에 스스로 충분히 확인.
ex). 클라우드 사업자가 IaaS까지 제공하는 경우 하드웨어와 CPU, 스토리지, 클라우드 기반 소프트웨어 등의 컴퓨팅 자원까지가 클라우드 사업자의 책임
SaaS: 미들웨어에서 애플리케이션까지의 부분도 클라우드 사업자의 책임 범위가 됨.
클라우드 서비스 이용 모델에 따라 책임 분계선이 달라짐.

보안 사고에 대한 대응을 생각해 둘 것

IaaS: 사용자 측에서 준비한 미들웨어 및 애플리케이션의 보안과 애플리케이션 가용성 확보, 데이터 보호 등은 사용자의 책임
사고가 발생한 경우에 클라우드 사업자가 어떻게 정보를 제공하고, 지원 체제는 어떻게 되어 있는지 등을 보안 사고에 대비하여 확인, 체계화
클라우드 사업자와의 원할한 커뮤니케이션 체계를 마련해야함.

Iaas, PaaS, SaaS 마다의 분담과 책임

1-14.중소기업의 클라우드 도입

중소기업이 IT도입을 가로막는 주된 요인은 IT에 투자할 비용이 충분하지 않다. IT에 정통한 인재가 부족하다

정보 시스템 담당자가 얻을 수 있는 장점

클라우드 이용하여 정보 시스템을 구축할 경우, 구축 비용이 거의 필요가 없음. 도입 비용을 큰 폭으로 절약가능.
고기능 서비스를 마치 자사에서 준비한 것처럼 사용할 수 있음.
설비를 보유하지 않기 때문에 시장 환경의 변화에 따라 유연하게 시스템을 변화시킬 수 있음

경영진이 얻을 수 있는 장점

비지니스 환경이 변화함에 따라 경영자의 판단력과 사업의 선택과 집중이 점점 더 중요해지고 있음.
IT에 투자하는 경영 자원을 최소화하고, 시스템 운영 및 유지보수에 드는 자원을 줄이며, 핵심 역량에 경영 자원을 집중 시킴.
클라우드를 도입하여 비용 절감이 가능. 경영의 가시화 및 생산성 향상으로 용이하게 이어나갈 수 있음.

중소기업 장점 많음

1-15.대기업의 클라우드 도입

사업의 세계 시장 진출에 클라우드를 활용

효율적인 업무 프로세스 구조의 수립이 경쟁 우위의 원천이 됨.
기업 지배 구조의 강화 및 경영의 가시화를 꾀함을 물론, 신속한 사업 전개를 진행해 나가기 위한 효과 적인 수단.
기업이 해외에 진출할 때에 IT를 담당하는 전문가를 배치하는 것조차 쉽지 않음
조기에 시스템을 도입할 수 있고 도입 비용도 줄이며, 시스템의 구촉, 운영에서 해방되는 환경을 마련하는 것이 중요.
신흥국과 개발 도상국에서 IT이용 환경이 취약해 리스크를 최소화한 시스템 구성이 필요.
핵심 역량이 되는 뛰어난 기술과 서비스를 전개해 나가기 위해, 경영자원을 집중할 수 있는 체제를 정비하는 것이 사업 성공의 큰 발판.

대기업은 글로벌 시장

profile
프론트엔드 개발자

1개의 댓글

comment-user-thumbnail
1일 전

매우 잘 정리되어 있네요! 잘 읽고 갑니다~

답글 달기