제목만 보면 대충 VM이구나....

만들어서 제공하는 VM이구나.. 정도

 

Data Science Virtual Machine  따로 있음. (DSVM) 

 

GPU기반 머신러닝 프레임워크를 설치한 버전 

개발언어들도 설치가 되어 있다함. VS 설치되어있겠지? 

해커톤이나, 대회 운영 시에도 그냥 가져다가 사용하면 편리함. 

연구과제에 집중하세요 컨셉임. 

필요없는게 있을  있겠는데 

혹은, 버전이 맞지 않을 수도 있겠음. 

사전에 확인은 필요함. 

 

 

설치되어있는 항목 리스트 

  • Azure Machine Learning Service Python SDK 

  • Enthought Python 배포판 

  • Jupyter Notebook(R, Python  PySpark 커널 포함) 

  • Microsoft Visual Studio Community 

  • Microsoft Power BI Desktop 

  • Microsoft SQL Server/Machine Learning Server 2017 Developer 버전 

  • 로컬 개발 및 테스트를 위한 Apache Spark 인스턴스 

  • Julia Pro 

  • Python/R 

  • Git 

기계 학습 및 딥 러닝 도구목록 

  • Azure Cognitive Services 지원 

  • 도구 키트 

  • TensorFlow 

  • Chainer 

  • mxNet 

  • Keras 

  • Vowpal Wabbit 

  • XGBoost 

  • Rattle 

  • Weka 

  • Apache Drill 

 

 

Geo AI DSVM 

상용 소프트웨어인 ArcGIS Pro를 사용하여 지리 공간적 AI를 지원하는 Geo AI 이미지도 있음. 라이선스 포함이니 조금 가격은 나올듯 

ArcGIS Pro는 Esri의 차세대 64비트 데스크톱 GIS(지리 정보 시스템) 

 

 

 

Deep Learning Virtual Machine (DLVM) 

고급 신경망을 만들 수 있는 특정 도구 세트가 준비된 VM 

이미지를 학습시켜서, 모델링을 하고 싶을  

GPU 기반의 DLVM  가져다 쓰면 된다. 

GPU 컴퓨팅을 지원하여 모델 학습을 가속화하는 PyTorch, CNKT, TensorFlow 같은 딥 러닝 플랫폼을 사용 

 

 

추가설명 

Jupyter Notebook 

인기 있는 데이터 과학 브라우저 기반 IDE(통합 개발 환경)입니다.  데이터를 살펴보고 모델을 학습할 수 있습니다.  Python 2, Python 3, Open Source R, Microsoft R Server를 지원합니다.  

풍부한 주석을 지원하면서도 완전한 데이터 과학 파이프라인을 실행할 수 있는 프로그램  

코드, 출력, 설명 텍스트를 모두 하나의 문서로 통합합니다. 파일에 시각적 객체, 테이블, 설명 텍스트, 수식 등을 담을 수 있어, 기존 코드 편집기와 비교했을 때 프레젠테이션 면에서 훌륭함 

 

 

 

 

 




Azure SQL Data Sync
2019 3 8일 금요일
오후 2:32
Azure SQL Data Sync
 
 
온프레미스 MS SQL DB Azure PaaS SQLdatabase sync
Sync type : 양방향, -> , <- 모두 가능함.
Sync 테이블, 컬럼 상세하게 지정가능함.
 
중간에 허브데이터베이스가 존재함.
온프렘 DB ---- Azure 허브 DB ---- Azure SQL DB
 
시작은 한번에 하나의 소스 데이터베이스만...
동기화 그룹을 만들 때 단 하나의 데이터베이스에 있는 데이터부터 시작합니다. 여러 데이터베이스에 데이터가 있으면 SQL 데이터 동기화는 각 행을 해결해야 하는 충돌로 처리합니다. 이 충돌 해결이 초기 동기화를 느리게 만드는 원인입니다. 여러 데이터베이스에 데이터가 있으면 데이터베이스 크기에 따라 초기 동기화가 며칠부터 몇 달까지 걸릴 수 있습니다.
 
변경 내용이 전파되지 않으면 어떻게 될까요?
·         동기화 그룹이 경고 상태로 표시됩니다.
·         세부 정보는 포털 UI 로그 뷰어에 표시됩니다.
·         문제를 45일 내 해결하지 않으면 데이터베이스가 만료됩니다. (45일 이상 오프라인일 경우 만료로 설정)
 
기본 키
동기화 그룹의 각 테이블에는 기본 키가 있어야 합니다. SQL 데이터 동기화 서비스는 기본 키가 없는 테이블을 동기화 할 수 없습니다.
 
·         전체 자릿수가 28보다 큰 소수 또는 숫자 열이 있는 경우, SQL 데이터 동기화에서 동기화 중에 전환 오버플로 문제가 발생할 수 있습니다. 소수 또는 숫자 열의 전체 자릿수를 28 이하로 제한하는 것이 좋습니다.
 
 
Requirements • Each table must have a primary key. • A table cannot have an identity column that is not the primary key. • The names of objects (databases, tables, and columns) cannot contain the printable characters period (.), left square bracket ([), or right square bracket (J).
 
 
Summary • Start with an Azure SQL DB • Go to the "Sync to other databases" blade • Set up a Sync group • Set your sync frequency and conflict resolution • Add sync members (another Azure SQL DB and\or on-prem Instance) • Install sync agent for on-prem instance • Submit agent key (aka copy Azure key to your on-prem agent) Register your local instance • Define which tables should be kept in sync
 
 
시스템 생성 대체 텍스트:
 
 
New sync group Create Not Completed Add sync members Configure group Not Complete X Create Data Sync Group Sync Group Narne Sync Database ContactManagaDb (Sen«•. cmsglser•verviw Automatic Sync on Off Sync Frequerxy ' Conflict Resolution Member win Minutes
 
 
양방향으로 선택 
New sync group 1 Create sync group None Selected 3 Configure group Not Complete X Select sync members Cont.actManag«Db Montrr Add an Azure Database NO Azure SQL database available Add an On—premises Database No On-premises database available X -1 Configure Azure Database Sync Memb« Narne Microsoft Azure Internal Consumption • SQL Server • Azure SQL Database • Syrx Directions Bi-directional Sync To the Hub From the Hub
 
 
온프레미스 DB 선택, 에이전트 설치
New sync group I Create group None Selected 3 Not Complete X Select sync members ContactMan"erDb Montrr Add an Azure Database AzureDB Add an On—premises Database No On-premises database available X Configure On-Premises Choose the Sync Agent Gateway Sync Gateway installation is requim • Select the Database Notyet selected X Select Sync Agent Existing "ents O Create a ag<nt Client Sync Agent 1 ft is rkcessary to install the sync agent client to allow the on premises database connect to Azure database. Download Name 2 Generate agent key 3 Use this kW instaued sync agent to register x a -1
 
에이전트
설치 시 Requirement 잘 확인
Choose the download you want File Name DataSyncAgent_LicenseTerrns.rtf en- us\SQLDataSyncAgent-2.O-x86- ENU.msi 87 KB go MB
 
 
kirbyslocalagent Create Sync Agent kirbyslocalagent created. Client Sync Agent It is necessary to install the »•nc agent client to allow the on premises database connect to your Azure database. Download 2 and Generate an agent key 3 Use this key in insta"ed "c agent to register this agent.
 
에이전트키를 복사해와서,
실제 에이전트 구동하여 넣어줄것
Microsoft SQL Data Sync 2.0 Microsoft SQL Data Sync 2.0 Su it Age Configuration Please enter a valid agent key to proceed. The key nust be generated from SQL Data Sync web Databases State Agent Gy Message
 
Microsoft SQL Data Sync 2.0 Sync Metadata Database Configuration lajRpLmRhdGFiYXNlLndpbmRvd3Mubm HQ29udGFjdE1hbmFnZXJEYg Login krepko
 
 
성공 후 온프렘 DB register
Microsoft SQL Data Sync 2.0 Microsoft SQL Data Sync 2.0 Reg Databases Unregister Edit Credentials Submit Agent Key Configuration Ping Sync Service SQL Sync Connected Agent
 
Sync 2.0 SQL Server Configuration I 16\kirby cont*tmanagerdb
 
온프렘 DB 등록됨.
O Microsoft SQL Data Sync 2.0 Microsoft SQL Data Sync 2.0 Register Unregister Credentials Machine kirbrOI 1816\kir Submit Agent Key Reachable Ang Sync Service Message contactmanagerdb SQL Sync Connected
 
 
다시 Azure로 돌아와서…
온프레미스 DB 상세 선택
Configure On-Premises Choose the Sync Agent Gateway kirbyslocalagent Select the Database Not yet selected > SelectDatabase Men ber Name Orrp!ggmises databases connected kirby-Ol Bi-directional Syru x
 
 
 
다 되고나서,
테이블을 눌러보면.
kirbysdemogroup Sync Stop Properties Tables X Delete Filter Logs Refrgh Logs Schema information obtained successfully. Database provisioning failed with the exc+tion Error cw Sctwna information obtained successfully. Database provisioning failed with the exception •Invahd column Database provisioning failed with the exception •Invalid column Database failed With the exception •Invahd dumn Tables Select a database Hub base Select tables to sync (tables without primary key are rut supported) d bo dbo.Acrne_ltems dboAspNetR01es dbo.AspNet1JserC1aims dboAspNetus«Logins dboAspNetUserR01es dbo AspNetUs«s dba Contacts dbo.ContactsLoad dbo 4 2 4 3 2 12 8 9 8 6 Refresh Schema elect fields to ync dbo.Contacts Zip DATA TYPE Primary Key nvarchar( 128) Error 07/21/17123553 PM 12:3521 PM 07/21/17 12:3409 PM 07/21/17 12:3303 PM PM 07/21/1712:23:17 PM MEMBER DATABASE Co ntactMa nagerDb/cmsm co ntactma ContactManagerDb/cmsw ContactManager co n tactMa
 
Select a database AzureD3 Select tables to sync (tables without primary key are rut supported) Refresh Schema elect fields to ync dboContacts dba ._MigrationHistory dboAspNetR01es dbo.AspNetUserLogins dboÄspNetUs&R01es dba Contacts dba. Dim Employe dba Store 4 2 4 3 2 30 DATA Primary Key nvarchar(max) nvarchar(128)
 
 
 
kirbysdemogroup X Proper-ties Sync Stop X filter Logs Refreh Logs Select sync members Hub ContactManagerDb Add an Azure Database AzureDB Add an On-Premises Database onpremsql x Databases Tables
 
 
 
ContactManagerDb - Sync to other databases Ill Search (Ctrl*" Overview Activity Tags Diagnose and solve problems Quick start tier (scale DTUs) Geo—Replication Auditing & Threat Detection Dynamic Data Masking Transparent data encryption Syru to other databases Properties New Sync Group Refresh Data Sync wd' be retired from the classic portal on July 1st. Existing Data Sync will be migrated. Click here for information on what you need to do next. Sync Group STATtß Sync Agent
 
 
 
 
Microsoft OneNote 2016에서 작성





Azure Blob Shared Access Signature (SAS), Soft Delete
2019 3 8일 금요일
오전 8:29
Blob Storage
SAS
Shared Access Signature
 
저장소계정 액세스하려면 "액세스키"가 필요(갱신가능)
키를 이용한 관리자권한 부여형태
보호해야됨. 아님 정기적으로 변경해줘야됨.
 
-> SAS를 이용하면 "임시" 액세스 권한을 줄 수 있다.
SAS URL이다. 혹은 URL의 일부다
예를들어 1시간안에 만료되는 SAS를 만들 수 있다.
 
 
취소가능하다는데,
기존 생성한 리스트는 어떻게 안보임???
 
 
 
 
아무것도 손안대고, 클릭클릭 시 기본 8시간
격目스 ,•력寸는 특그~ :to竊고e 티스스이 다하 다스 권한을 1|구하늫 u국Ⅰ입니二h 스토리기 계정 키트 하1 달치한 특정 스트三ⅠTⅠ 리소스이 다한 국*Ⅰ스 권하을 우딯하려늫 들三卜0전틔거Ⅰ 구유 덕격Ⅰ스 수 일습 니다 이러한 들라0전트에 구유 덕격|스 u국Ⅰ를 화로할으트써 특정 기간 들한 EⅠ스스이 다한 다스 권한을 부들:수Ll二h 지정 수준 로드는 톻三i 스토리치 서비스를: 310b 화일 EH|0Ⅰ를1에 다한 덕!1스 권한을 우Ⅰ일할 수 8.1습니二h 자장크 다스 정격은 현자 지정 수준 로드이셔 최원코자 구;을을 우으하)1크 자)1한 점보 t|용크는 서비스 0 目크Ⅰ。s t|용크는 리소스 좋부 0 目 서비스 건의이너 目 가체 권한 0 目 읽기 쓰기 目 삭제 독특 주가 目 한들기 口 톁데이트 口 프로세스 시작 및 한로 날짜/시간 0 시챀 2019-03-03 2019-0 -03 (UTC 05乙이 - 현자 표준 시간다 화용크는 |국 주소 0 159 까도SS - 169 까5-SS- 76로 1 70 화용 크는 프로트들 0 (十) *TVS? 사용 (1) *TVS 및 HTV SAS 및 연결 문자열 생성 言 전 7
 
 
생성 시
SAS gg 231231 231231 LIRL h 12312312312
 
 
 
 
개발에서 사용하는 방법
저장공간 관련하여 전반적인 개발 예제 코드가 있음
 
개발에서는 SAS를 무조건 써야될까
 
 
Windows Azure 저장소가 여전히 CORS (Cross-Origin Resource Sharing) 지원하지 않는다는  입니다,  응용 프로그램과 BLOB 저장소가 동일한 도메인에 있어야한다는 것입니다 문제를 해결하려면 사용자가 파일을 업로드하려는저장소 계정의 공용 BLOB 컨테이너에 HTML 응용 프로그램 호스팅해야합니다. CORS 지원이 Windows Azure Storage에서  제공  것이라는 말을 들었습니다.
 
 
 
-> 지원함!!!
2013-08-15 버전부터 Azure 저장소 서비스는 Blob, 테이블, 큐 및 파일 서비스에 대해 CORS(원본 간 리소스 공유)를 지원합니다. CORS는 특정 도메인에서 실행되는 웹 애플리케이션이 다른 도메인의 자원에 액세스할 수 있도록 하는 HTTP 기능입니다
 
 
 
 
 
다른예제
대용량파일을 청킹해서 업로드 예제
HTML 5 File 인터페이스 에서 사용할  있는 슬라이싱 "기능이 있습니다 .  슬라이스 기능의 기능은 파일의 일부를 비동기 적으로 읽고 해당 데이터를 반환한다는  입니다
 
 
ì˜ìƒ
 
 
 
Soft Delete 기능이 있음.
Blob 지워도, 복구가능, 휴지통 기능?
, 기본값 비활성화임. 활성화 필요함.
활성화 시 Retention 기간 설정함.
Home testi2312312312 - Soft delete on. soft to E ' u rypt& sign—tuæ of mritE_ more Soft Retention policies Fi—lls virtusl Ret—in O wipt lob Custom Som.in Soft CDN
 
아래와 같이 체크박스가 보여짐.
 
Home StOAge Settings po [icy bdbs by Getting Things Ton Acquire MODIFIED ACCESS TIER BLOB TYPE blob blob LEASE STATE Deleted
 
주의할 것은.
저장공간 요금은 똑같이 빌링됨.
대신, 트랜잭션 과금은 작음.
자동생성 트랜잭션은 과금 X ,  대신 쓰기동작에만 과금됨.
You will not be billed for the transactions related to the automatic generation of snapshots. You will be billed for Undelete Blob transactions at the "Write Operations" rate.
 
 
Microsoft OneNote 2016에서 작성




'기술(Azure 만...) > [MS]Azure' 카테고리의 다른 글

Azure DSVM, DLVM 이미지  (0) 2019.04.05
Azure SQL Data Sync  (0) 2019.03.10
Function 조금, Cognitive service 조금  (0) 2019.03.10
ACI (Azure Container Instance)  (0) 2019.03.04
Luis Bot service on Azure Test결과  (0) 2019.01.25
Function 조금, Cognitive service 조금
2019 3 8일 금요일
오전 8:33
Function 조금, Cognitive service 조금

Cognitive service  한글은 계획이 엄꼬.

시스템 설계 시 참고할만 한 정도의 내용 
핵심은. 아래와 같은 구조를 서비스형태로 가져다 쓸 수 있음. SaaS
굳이 텍스트 감정검색이 아니라도. 직접 개발된 로직을 써도됨.
앞뒤로 큐를 놓고, 큐 뒤에 또 function을 둘수있음.(트리거는 마찬가지로 신규 데이터in )
피드백 정렬 아키텍처의 개념적 다이어그램
 
 
Cognitive Services 디렉터리
 
 
마켓플레이스 - 텍스트분석 찾아서 생성, 그리고 키 생성함.
대한민국 중부 리전이 있으나, 한글은 지원안함. 언어를 en으로 지정하면 에러는 나지 않지만.. 제대로 되지 않음
Supplied language is not supported. Pass in one of: ar,da,de,el,en,es,fi,fr,it,ja,nl,no,pl,pt-PT,ru,sv,tr,zh-Hans.
 
 
아래 개발 API안내 URL로 가서, 해당 생성된 키를 입력하여 테스트 가능.
텍스트 분석 API에서 호출할 수 있는 POST 메서드
이러한 엔드포인트는 언어 검색엔터티핵심 문구  감정


감정
 
아래와 같이 POST send 할 수 있음.
 

Content-Type: application/json
Ocp-Apim-Subscription-Key: ••••••••••••••••••••••••••••••••
{
 "documents": [
    {
      "language": "en",
      "id": "1",
      "text": "i can not make love."
    },
    {
      "language": "ko",
      "id": "2",
      "text": "아프다 너도 아프냐"
    },
    {
      "language": "es",
      "id": "3",
      "text": "La carretera estaba atascada. Había mucho tráfico el día de ayer."
    }
 ]
}
 

결과Response
Transfer-Encoding: chunked
x-ms-transaction-count: 2
CSP-Billing-Usage: CognitiveServices.TextAnalytics.BatchScoring|2
x-aml-ta-request-id: cd6f5fde-c872-4afd-bf73-c0dda5f22070
X-Content-Type-Options: nosniff
apim-request-id: 62d92304-b7cf-4182-8d47-19de15955aef
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Date: Mon, 04 Mar 2019 23:02:21 GMT
Content-Type: application/json; charset=utf-8

{
 "documents": [{
    "id": "1",
    "score": 0.11315375566482544
 }, {
    "id": "3",
    "score": 0.334433376789093
 }],
 "errors": [{
    "id": "2",
    "message": "Supplied language is not supported. Pass in one of: ar,da,de,el,en,es,fi,fr,it,ja,nl,no,pl,pt-PT,ru,sv,tr,zh-Hans. Seehttps://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview for the complete list of support languages."
 }]
}
 
 
 
Pricing tier
5K 9/30N Entity Extraction 0.00 S Standard Calls per minute Entity Extraction 2.00 usonooo TEXT RE. so 25K Entity Extraction 300USD/1K 74.71
 
100K Entity Extraction 250USD/1K 249.86 500K 9/30N Entity Extraction 200USD/1K 999.75 2.5M Entity Extraction 1 musD/1K 2499.84
 
10M Entity Extraction o_50USD/1K 4,999.99
 
 
 
 
혹시 지원되는 언어라면 아래와 같은 서버리스 리소스를 이용 구성가능
 Azure Queue Storage, Azure Functions, Azure Cognitive Services 사용
 
피드백 정렬 아키텍처의 개념적 다이어그램
 
 
 
Function의 트리거가  앞단 큐에 데이터가 들어왔을 때
 
Function의 로직은 아래와 같음
감정에 따라 텍스트 문서를 출력 큐로 정렬하는 Azure 함수 내부의 논리 순서도.
 
 
Function 만들고 -> 함수 추가
템플릿 더보기 선택 -> 템플릿 완료 후 보기 선택
-> Queue Trigger 추가 하니, 확장설치하라함.
Timer trigger 자접된 팉접으트 실할三Ⅰ든 함수입LⅠ二\Ⅰ Azure Qu은u은 Storage tngger 자접된 之」•든 호:r트;든 「화시iⅠ가 즈가들 :수二卜二\ 슽 는 할수힡니二卜Ⅰ A간」r은 Queue 5t0드§e trigger 확장이 설치되지 않았 습니다. 이 원들릿하는 二卜을의 화장이 들요합Ll二卜l Mi그050t 쏠지 확장 혈지 문제 하결를 자Ail즤 할아보려 여기를 클릭하kl요l
 
 
A간」r은 Queue 5t0드§e trigger 확장을 설치 했습니다. 계속 Timer trigger 자접된 팉접으트 실할三Ⅰ든 함수입LⅠ二\Ⅰ Azure Qu은u은 Storage tngger 자접된 之」•든 호:r트;든 「화시iⅠ가 즈가들 :수二卜二\ 슽 는 할수힡LⅠ二卜Ⅰ
 
Microsoft OneNote 2016에서 작성




Azure Container Instance  ACI

·         컨테이너 실행
·         컨테이너 종료 시 수행되는 동작 제어
·         컨테이너 시작 시 환경변수 이용 컨테이너 구성 (--environment-variables)
·         컨테이너 시작 시 보안 환경변수 이용 (--secure-environment-variables)
·         컨테이너 종료 시 데이터볼륨 연결 데이터보존
 
애플리케이션, 작업 자동화
격리된 컨테이너 시나리오 가능
 
·         빠른시작
·         초당 청구
·         하이퍼바이저 수준 격리 보안 / 애플리케이션의 완전 격리
·         사용자 지정 크기 가능
·         영구 스토리지 (컨테이너에도 Auzre 파일 공유 가능)
·         리눅스, 윈도우
 
오케스트레이션 필요한 시나리오의 경우 AKS 이용
 
 

예제

웹앱을 호스트하는 컨테이너 배포
 
DNS이름을 이용하여, 인터넷에 노출도 가능
-demo-$RANDOM 
onestxQAzure 
onestxQAzure
 
 
az container create \
  --resource-group 196a7813-f063-4037-8414-a8ddf757801a \
  --name mycontainer \
  --image microsoft/aci-helloworld \
  --ports 80 \
  --dns-name-label $DNS_NAME_LABEL \
  --location eastus
 
az container show \
  --resource-group 196a7813-f063-4037-8414-a8ddf757801a \
  --name mycontainer \
  --query "{FQDN:ipAddress.fqdn,ProvisioningState:provisioningState}" \
  --out table
 
onestx@Azure.-$ az container show fi 
--resource-grouo 4-aBddf757BOla 
--name mycontainer fi 
--auery " {FQDN: ioAddress. fadn, Prov isi on ngState: Orov isi on ngState}' 
--out table 
aci -demo-1 44gl eastus. azurecontai ner io 
onestx@Azure 
ProvisioningState 
Succeeded
 
웹사이트 확인
Azure Container Instances 
Bookmarks • 
Azure?' EDI 
x Welcome to Azure Container Ir x 
aci-demo -14491 .eastus.azurecontainer.io 
TDG_SPS C} C} 
3LUEDIC 
Microsoft Learn 
Welcome to Azure Container Instances!
 
다시 시작 정책
설명
Always
컨테이너 그룹의 컨테이너가 항상 다시 시작됩니다. 이 정책은 웹 서버와 같은 장기 실행 작업에 적합합니다. 컨테이너를 만들 때 다시 시작 정책이 지정되지 않은 경우 적용되는 기본 설정입니다.
Never
컨테이너 그룹의 컨테이너가 절대로 다시 시작되지 않습니다. 컨테이너가 한 번만 실행됩니다.
OnFailure
컨테이너 그룹의 컨테이너가 컨테이너에서 실행된 프로세스가 실패할 때만(0이 아닌 종료 코드로 종료될 때) 다시 시작됩니다. 컨테이너가 한 번 이상 실행됩니다. 이 정책은 단기 작업을 실행하는 컨테이너에 적합합니다.
 
 
추가 예시
az container create \
  --resource-group 196a7813-f063-4037-8414-a8ddf757801a \
  --name mycontainer-restart-demo \
  --image microsoft/aci-wordcount:latest \
  --restart-policy OnFailure \
  --location eastus
 
microsoft/aci-wordcount:latest 템플릿
셰익스피어의 Hamlet 텍스트를 분석하고, 가장 많이 쓰이는 10개의 단어를 표준 출력에 쓰고 종료하는 Python 스크립트임.
 
작업이라서, 아래 코드로, 종료여부를 확인해야됨. 결과 출력은 로그로됨
az container show \
  --resource-group 196a7813-f063-4037-8414-a8ddf757801a \
  --name mycontainer-restart-demo \
  --query containers[0].instanceView.currentState.state
onestx@Azure 
az container show 
--resource-grouo 4-aBddf757BOla 
--name mycontainer-restart-demo fi 
--auery containers[D] instanceV i ew currentState. state 
'Terminated"
 
로그확인
onestx@Azure 
az container logs fi 
--resource-grouo 4-aBddf757BOla 
--name mycontainer-restart-demo 
ggcl) , 
'of' 
'to' 
544) , 
agg) , 
HAMLET
 
 
추가예제 : 환경변수 이용
 Azure Cosmos DB 인스턴스를 만들고 환경 변수를 사용하여 연결 정보를 Azure Container Instance에 전달해보자
 
COSMOS_DB_ENDPOINT, COSMOS_DB_MASTERKEY 환경변수
 
코스모스DB만들기  az comosdb create 명령
COSMOS_DB_ENDPOINT=$(az cosmosdb create \
  --resource-group 196a7813-f063-4037-8414-a8ddf757801a \
  --name $COSMOS_DB_NAME \
  --query documentEndpoint \
  --output tsv)
 
키 가져오기
COSMOS_DB_MASTERKEY=$(az cosmosdb list-keys \
  --resource-group 196a7813-f063-4037-8414-a8ddf757801a \
  --name $COSMOS_DB_NAME \
  --query primaryMasterKey \
  --output tsv)
 
이렇게 값 확인가능
onestx@Azure 
bash: vRSmVWGoWJW3hNfcaGkLgI cvcoawseS5xnOFecj 
command not found 
onestx@Azure
 
위에 값을 가져온 환경변수 이용하여 컨테이너 create
--environmenet-variables 이용
 
az container create \
  --resource-group 196a7813-f063-4037-8414-a8ddf757801a \
  --name aci-demo \
  --image microsoft/azure-vote-front:cosmosdb \
  --ip-address Public \
  --location eastus \
  --environment-variables \
    COSMOS_DB_ENDPOINT=$COSMOS_DB_ENDPOINT \
    COSMOS_DB_MASTERKEY=$COSMOS_DB_MASTERKEY
 
 
컨테이너 속성 쿼리방법
az container show \
  --resource-group 196a7813-f063-4037-8414-a8ddf757801a \
  --name aci-demo \
  --query ipAddress.ip \
  --output tsv
onestx@Azure.-$ az container show fi 
--resource-grouo 4-aBddf757BOla 
--name aci -demo fi 
--auery ioAddress. io fi 
--outout tsv 
243
 
 
기존 환경변수 보는 방법
az container show \
  --resource-group 196a7813-f063-4037-8414-a8ddf757801a \
  --name aci-demo \
  --query containers[0].environmentVariables
아래와 같이 다 조회됨.
onestxQAzure.-$ az container show 
--resource-grouo 4-aBddf757BDla 
--name aci -demo 
--auery containers[D] envi ronmentVar i abl es 
'name' 
secureVaI ue" 
"httos: //aci -cosmos-db-1 1 30.documents.azure.com 443/ " 
'name' 
secureVaI ue" 
onestxQAzure
 
해당 값을 가리고 싶으면
--secure-environment-variables
이용하면 됨.
az container create \
  --resource-group 196a7813-f063-4037-8414-a8ddf757801a \
  --name aci-demo-secure \
  --image microsoft/azure-vote-front:cosmosdb \
  --ip-address Public \
  --location eastus \
  --secure-environment-variables \
    COSMOS_DB_ENDPOINT=$COSMOS_DB_ENDPOINT \
    COSMOS_DB_MASTERKEY=$COSMOS_DB_MASTERKEY
 
 
기본적으로 ACI 는 상태비저장임.
컨테이너 중지 시 모든 값 소실
외부저장소 볼륨 탑재해야됨
 
파일공유만들기
STORAGE_ACCOUNT_NAME=mystorageaccount$RANDOM
az storage account create \
  --resource-group 196a7813-f063-4037-8414-a8ddf757801a \
  --name $STORAGE_ACCOUNT_NAME \
  --sku Standard_LRS \
  --location eastus
 
 
변수에 만든 파일공유 연결문자열 저장하기
Export 라는 걸 쓰네, 위에서 코스모스DB이름 가져올때는 안썼는데.. 길어서 그런가
 
export AZURE_STORAGE_CONNECTION_STRING=$(az storage account show-connection-string \
  --resource-group 196a7813-f063-4037-8414-a8ddf757801a \
  --name $STORAGE_ACCOUNT_NAME \
  --output tsv)
 
ON_STRI 
onestx@Azure 
bash: Defaul tEndoointsProtocoI tos; EndoointSuff x=core. windows. net ; AccountName=mystor 
t 3D 1 04 ; t PXnQO dPWCmZt eul V xW6dl T BEHD6SN4_Ir j I CQUyO 
command not found 
onestx@Azure
 
export 부분은 곧 실행하게 될 다른 CLI 명령에 이 변수가 액세스할 수 있게 해줍니다.
 
az storage share create --name aci-share-demo
 
 
STORAGE_KEY=$(az storage account keys list \
  --resource-group 196a7813-f063-4037-8414-a8ddf757801a \
  --account-name $STORAGE_ACCOUNT_NAME \
  --query "[0].value" \
  --output tsv)
 
 
값 확인 시 echo 붙여도 되고 안붙여도 확인가능
$STORAGE_KEY 
onestx@Azure 
bash: T CQUyOZrebBW2dl 
command not found 
echo $STORAGE_KEY 
onestx@Azure 
cbLza PXnQO dPWCmZt eul V xW6dl T BEHD6SN4_Ir j I CQUyOZr ebBW2dl j 
onestx@Azure
 
 
 
컨테이너 생성 시 영구볼륨 같이 탑재
az container create \
  --resource-group 196a7813-f063-4037-8414-a8ddf757801a \
  --name aci-demo-files \
  --image microsoft/aci-hellofiles \
  --location eastus \
  --ports 80 \
  --ip-address Public \
  --azure-file-volume-account-name $STORAGE_ACCOUNT_NAME \
  --azure-file-volume-account-key $STORAGE_KEY \
  --azure-file-volume-share-name aci-share-demo \
  --azure-file-volume-mount-path /aci/logs/
 
az container show \
  --resource-group 196a7813-f063-4037-8414-a8ddf757801a \
  --name aci-demo-files \
  --query ipAddress.ip \
  --output tsv
 
파일공유 스토리지에 저장된 파일보기
az storage file list -s aci-share-demo -o table
 
onestx@Azure.-$ az 
Name 
1 551 txt 
onestx@Azure 
storage 
Content 
file list 
Length 
-s aci -share-demo -o table 
T yoe 
Last Modi fied
az storage file download -s aci-share-demo -p 1551654589974.txt
 
다운로드완료
onestx@Azure.-$ az 
share-demo - 
Fini shed[ 
'content 
'met adata" 
storage 
file 
download - 
s aci- 
1551 txt 
'name 
" " 1 551 txt 
'orooert es' 
'contentLength" 
"bytes 0-6/7" , 
'content Range' 
content Sett ings' 
cacheCont row 
'contentDi soosition' 
'contentEncoding" 
content Language' 
i cat ion/octet -st ream' 
'contentTyoe" 
copy' 
'complet ionTime" 
lid" 
'or ogress' 
source' 
'status" 
statusDescr iot on 
lastModi fi ed" 
" CIO" 
'serverEncryoted"
 
 
열어보기 Shell에서 바로
시스템 생성 대체 텍스트:
onestx@Azure =$ cat 15뒤듬545巳四741 txt 
11111110nestx@Azure
 
이런식으로, 데이터 영구보존 가능함.
 
 

컨테이너 로그확인

 
az container logs \
  --resource-group 196a7813-f063-4037-8414-a8ddf757801a \
  --name mycontainer
 
아래와 같이 긴 로그 확인 가능
onestx@Azure.-$ az container logs fi 
--resource-grouo 4-aBddf757BOla 
--name mycontainer 
Checking for script in /aoo/orestart . sh 
Running script /aoo/orestart . sh 
Running inside /aoo/orestart .sh, you could add migrat ions to this fi le, 
/usr/bin/env bash 
# Let the DB start 
# Run migrat ions 
alembic upgrade head 
/usr/l ib/oython2. 7/dist-oackages/suoervisor/oot ions. 2gB: UserWarning: Supervisord is 
running as root and it is searching for its configurat ion file in default locat ions (in 
luding its current working di rectory); you probably want to specify a 
" -c" argument spe 
i fying an absolute oath to a 
'Supervisord is running as 
23: 13: 42, CRI T 
201+03-03 23: 13: 42, 
f" during oarsing 
201+03-03 23: 13: 42, BOO 
23: 13: 42, BOO CRI T 
cat ion checking 
201+03-03 23: 13: 42, BOO 
201+03-03 23: 13: 43, 
201+03-03 23: 13: 43, 
getting INI 
getting INI 
NFO 
NFO 
NFO 
NFO 
NFO 
configurat ion file for improved security. 
root and it is searching 
Supervisor running as root (no user in config fi le) 
Incl uded extra fi le " /etc/suoervisor/conf d/suoervisord. con 
RPC interface 'supervisor 
Server 
running without any HTTP authenti 
supervisord started with oid 5 
spawned: 
nginx' with Did B 
spawned: 
uwsgl 
[uWSGI] 
[uWSGI] 
configurat ion from /aoo/uwsgi ini 
configurat ion from /etc/uwsgi/uwsgi ini
 
az container attach 명령은 컨테이너 시작 중에 진단 정보를 제공합니다. 컨테이너가 시작되면 표준 출력 및 표준 오류 스트림도 로컬 터미널에 씁니다.
az container attach \
  --resource-group 196a7813-f063-4037-8414-a8ddf757801a \
  --name mycontainer
 
 
컨테이너에서 명령 실행  : 예시, 쉘명령
az container exec \
  --resource-group 196a7813-f063-4037-8414-a8ddf757801a \
  --name mycontainer \
  --exec-command /bin/sh
 
쉘접속됨, 간단한 명령 호출 가능
onestx@Azure.-$ az container exec fi 
--resource-grouo 4-aBddf757BOla 
--name mycontainer fi 
--exec-command /bin/sh 
# Is 
--oycache__ 
main.oy orestart . sh 
/bin/sh: 2: 
not found 
# Is 
--oycache_ 
main.oy orestart . sh 
# cat uwsgi 
. Inl 
module = 
cal lable = apo 
static 
static 
t emol at es 
t emol at es 
uwsgl 
uwsgl 
. Inl 
. Inl
 
Exit로 나옴
 
컨테이너의 CPU 및 메모리 사용량 모니터링
컨테이너ID를 먼저 가져오기
CONTAINER_ID=$(az container show \
  --resource-group 196a7813-f063-4037-8414-a8ddf757801a \
  --name mycontainer \
  --query id \
  --output tsv)
Azure 모니터 조회 명령
az monitor metrics list \
  --resource $CONTAINER_ID \
  --metric CPUUsage \
  --output table
g-03-03 
22: 
g-03-03 
22 : 
g-03-03 
22 : 
47 : 
g-03-03 
22 : 
g-03-03 
22 : 
g-03-03 æ: 
g-03-03 æ: 51 
g-03-03 æ: 52: 
g-03-03 æ: 53: 
g-03-03 æ: 54 : 
g-03-03 æ: 55: 
CPU 
CPU 
CPU 
CPU 
CPU 
CPU 
CPU 
CPU 
CPU 
CPU 
CPU 
Usage 
Usage 
Usage 
Usage 
Usage 
Usage 
Usage 
Usage 
Usage 
Usage 
Usage
 
혹은 메트릭에 MemoryUsage
 
g-03-03 
g-03-03 
g-03-03 
g-03-03 
g-03-03 æ: 51 
22 : 
22 : 
22 : 
22 : 
46 : 
47 : 
48 : 
g-03-03 22 : 50 : 
g-03-03 22 : 52 : 
g-03-03 22 : 53 : 
g-03-03 æ: 54 : 
g-03-03 22 : 55: 
Memory 
Memory 
Memory 
Memory 
Memory 
Memory 
Memory 
Memory 
Memory 
Memory 
Usage 
Usage 
Usage 
Usage 
Usage 
Usage 
Usage 
Usage 
Usage 
Usage 
1 gB72.o 
1 71 
1741
물론 Azure Portal에서도 확인 가능함.
 
Microsoft OneNote 2016에서 작성




 

 

Luis Bot service on Azure Test결과


봇프레임워크 v3.0 이었는데

템플릿 이름은 BotApplication 이었고.

지금은 4.0이 나옴.

웹상에 예제들은 모두 3.0 기반임 ㅠ

처음부터 끝까지 쌩으로 만들기 시도해봤으나, 예제도 없고,

어려움. 불가함.

 

순서.

방법은 두가지임.

1.     Azure 포털에서 Bot Service 만들기

2.     Bot Framework 설치, 템플릿 선택하여 수동으로 다 해볼 수 도 있음.

    

 

그럼. 첫번째 방법으로 진행해봄.

1.       Azure Bot Service에서 생성하여, 소스를 다운로드 하여 서버에서 구동할 수 있음.

Azure Bot Service 생성 시 v.3.0 선택도 가능함.

v.3.0 cognitive Luis Bot 선택하여 아래와 같이 진행

Luis.ai (아래 사이트) 자동으로 My app이 만들어짐. Luisbot12345

인텐트와, 엔티티 등록 및 문장 매핑, 트레이닝은 다 해줘야됨.

2.     소스를 다운로드 한다.

최초 Luis 관련 구성정보 3개를 web.config에 수동 입력이 필요하다.

Azure 포털에 만든  Bot Service 애플리케이션 구성정보에는 자동으로 등록이 되어 있지만.(Luis.ai 사이트에 만들어질때 다 세팅이되는가봄)

소스에는 해당 정보가 없기때문에, 수동으로 키생성 값넣기 작업을 해줘야됨.

수정하고 싶은 로직을 약간 수정을 하여,

로컬 PC에서 F5 구동한다(서버역할)

그리고 봇 에뮬레이터로 로컬 챗봇서비스에 접속하여,

질의를 던진다.

소스는

3.     Luis.ai 수정 후에는 Publish를 해줘야 되는 것 같음. 나는 그렇게 테스트함.

 

암튼 루이스봇 테스트 중

일단 Intent를 영어로 사용.

Manage에 가보면 Culture en-us 되어있는데, 크게 중요치 않은 듯.

 

로컬 3984 포트를 통해 서비스중인, 챗봇서비스에 접속하여, 아래와 같이 질의를 던져봄.

인텐트결과는 luis.ai 에 퍼블리싱된 URL에 질의하여, 결과 인텐트를 받아오는 형태임.

 

 

챗봇 에뮬레이터 테스트할 봇서비스 등록방법

 

혹은 .bot 확장자가 있다면, 더블클릭하면 봇에뮬레이터가 자동으로 정보도 들어가고 열림.

 

 

 

Luis.ai

인텐트--엔티티 연결방법

아래와 같이 단어 하나하나에 엔티티를 매핑해줘야됨.

 

 

 

 

 

 

 

예약 다음에 한칸을 띄워쓰고 훈련을 시키니깐

오른쪽과 같이 띄워써야 Reservation 인텐트가 선택됨.

 

 

"진료예약 이" 도 마찬가지임. 아래 캡쳐

 

 

 

Microsoft OneNote 2016에서 작성





리눅스VM생성 CLI

az vm create \
  --name myVM \
  --resource-group f7bb2bd5-d278-471d-8af3-ef4e9987bd42 \
  --image UbuntuLTS \
  --location eastus \
  --size Standard_DS2_v2 \
  --generate-ssh-keys
 
 
SSH key files '/home/onestx/.ssh/id_rsa' and '/home/onestx/.ssh/id_rsa.pub' have been generated under ~/.ssh to allow SSH access to the VM. If using machines without permanent storage, back up your keys to a safe location.
 

생성결과

{
  "fqdns": "",
  "id": "/subscriptions/a01e3ec6-836c-4dc6-8597-cca20f8163ce/resourceGroups/f7bb2bd5-d278-471d-8af3-ef4e9987bd42/providers/Microsoft.Compute/virtualMachines/myVM",
  "location": "eastus",
  "macAddress": "00-0D-3A-4F-8E-8A",
  "powerState": "VM running",
  "privateIpAddress": "10.0.0.4",
  "publicIpAddress": "23.96.119.131",
  "resourceGroup": "f7bb2bd5-d278-471d-8af3-ef4e9987bd42",
  "zones": ""
}
 

Nginx 무료오픈소스 웹서버

az vm extension set \
  --resource-group f7bb2bd5-d278-471d-8af3-ef4e9987bd42 \
  --vm-name myVM \
  --name customScript \
  --publisher Microsoft.Azure.Extensions \
  --protected-settings '{"commandToExecute": "./configure-nginx.sh"}'
 
 

Sh 스크립트 내용

#!/bin/bash

# Update apt cache.
sudo apt-get update

# Install Nginx.
sudo apt-get install -y nginx

# Set the home page.
echo "<html><body><h2>Welcome to Azure! My name is $(hostname).</h2></body></html>" | sudo tee -a /var/www/html/index.html

 

VM 방화벽 포트 오픈

az vm open-port \
  --name myVM \
  --resource-group f7bb2bd5-d278-471d-8af3-ef4e9987bd42 \
  --port 80
 

PIP 쿼리해보기

az vm show \
  --name myVM \
  --resource-group f7bb2bd5-d278-471d-8af3-ef4e9987bd42 \
  --show-details \
  --query [publicIps] \
  --output tsv




AZ CLI + JMESPath 실습

 
  1. 쿼리에 리소스명을 지정
리턴은 배열형태로
값만 바로 나옴.
쿼리 이하는 작은따옴표로 싸준다
JMESPath 쿼리 라 한단다….
az vm show -g QueryDemo -n TestVM --query '[name, osProfile.adminUsername, osProfile.linuxConfiguration.ssh.publicKeys[0].keyData]' -o json
 
[
  "TestVM",
  "azureuser",
  "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMobZNJTqgjWn/IB5xlilvE4Y+BMYpqkDnGRUcA0g9BYPgrGSQquCES37v2e3JmpfDPHFsaR+CPKlVr2GoVJMMHeRcMJhj50ZWq0hAnkJBhlZVWy8S7dwdGAqPyPmWM2iJDCVMVrLITAJCno47O4Ees7RCH6ku7kU86b1NOanvrNwqTHr14wtnLhgZ0gQ5GV1oLWvMEVg1YFMIgPRkTsSQKWCG5lLqQ45aU/4NMJoUxGyJTL9i8YxMavaB1Z2npfTQDQo9+womZ7SXzHaIWC858gWNl9e5UFyHDnTEDc14hKkf1CqnGJVcCJkmSfmrrHk/CkmF0ZT3whTHO1DhJTtV stramer@contoso"
]
 
  1. 배열리턴 대신 사전 형태로 가져오기는 { } 이용
그리고 원하는 이름 지정해서 같이 나오게 하려면 아래와 같이
쿼리 이하는 작은따옴표로 싸준다
az vm show -g QueryDemo -n TestVM --query '{VMName:name, admin:osProfile.adminUsername, sshKey:osProfile.linuxConfiguration.ssh.publicKeys[0].keyData }' -o json
 
 
{
  "VMName": "TestVM",
  "admin": "azureuser",
  "ssh-key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMobZNJTqgjWn/IB5xlilvE4Y+BMYpqkDnGRUcA0g9BYPgrGSQquCES37v2e3JmpfDPHFsaR+CPKlVr2GoVJMMHeRcMJhj50ZWq0hAnkJBhlZVWy8S7dwdGAqPyPmWM2iJDCVMVrLITAJCno47O4Ees7RCH6ku7kU86b1NOanvrNwqTHr14wtnLhgZ0gQ5GV1oLWvMEVg1YFMIgPRkTsSQKWCG5lLqQ45aU/4NMJoUxGyJTL9i8YxMavaB1Z2npfTQDQo9+womZ7SXzHaIWC858gWNl9e5UFyHDnTEDc14hKkf1CqnGJVcCJkmSfmrrHk/CkmF0ZT3whTHO1DhJTtV stramer@contoso"
}
 
  1. 평면화 형태 출력 [ ] 이용
az vm list -g QueryDemo --query '[].{Name:name, OS:storageProfile.osDisk.osType, admin:osProfile.adminUsername}' -o json
 
아래와 같은 형태 리턴
[
  {
    "Name": "Test-2",
    "OS": "Linux",
    "admin": "sttramer"
  },
  {
    "Name": "TestVM",
    "OS": "Linux",
    "admin": "azureuser"
  },
  {
    "Name": "WinTest",
    "OS": "Windows",
    "admin": "winadmin"
  }
]
 

--테이블 형태 output 하면

az vm list -g QueryDemo --query '[].{Name:name, OS:storageProfile.osDisk.osType, Admin:osProfile.adminUsername}' --output table
 
Name     OS       Admin
-------  -------  ---------
Test-2   Linux    sttramer
TestVM   Linux    azureuser
WinTest  Windows  winadmin
 
 
  1. 배열 필터링
az vm list -g QueryDemo --query "[?storageProfile.osDisk.osType=='Linux'].{Name:name,  admin:osProfile.adminUsername}" --output table
 
 

크기조정

az vm resize \
  --resource-group f7bb2bd5-d278-471d-8af3-ef4e9987bd42 \
  --name myVM \
  --size Standard_DS3_v2
 
VM중단은 필수



실제로 1 정도 중단됨
서비스 자동 구동됨.



크기조정된 잘되었는지 , VM 타입 조회
az vm show \
  --resource-group f7bb2bd5-d278-471d-8af3-ef4e9987bd42 \
  --name myVM \
  --query "hardwareProfile" \
  --output tsv
 
 





리전이 없는 서비스들...
Microsoft Azure Active Directory, Microsoft Azure Traffic Manager, Azure DNS
 
 
특수 Azure 지역
Azure 리전 중에서 해당 리전에 해당되는 법적규제, 규정을 준수해야 하는 리전이 있음.
정해진 파트너사가 있음
  • US DoD 중부, US Gov 버지니아, US Gov 아이오와 : 미국 정부 기관 및 파트너를 위한 물리적 및 논리적 네트워크로 격리된 Azure 인스턴스로, 선별된 미국인이 운영합니다. 추가 규정 준수 인증서를 포함하고 있습니다.
  • 중국 동부, 중국 북부 : 이러한 지역은 Microsoft 21Vianet 간의 고유한 파트너십을 통해 사용할 수 있으며, Microsoft에서 데이터 센터를 직접 관리하지 않습니다.
  • 독일 중부 독일 북동부: 이러한 지역은 데이터 트러스티 모델을 통해 사용할 수 있으며, 독일 데이터 트러스티 역할을 수행하는 독일 통신국 회사인 T-Systems의 관리 하에 고객 데이터가 독일에서 유지됩니다. 데이터가 독일에 상주해야 하는 사용자 또는 기업은 이 서비스를 사용하면 됩니다.
 

개념(아래로 수록 작은 개념)
지리적위치 》》》 Azure 지역쌍 》》》 리전 》》》 가용성영역

지리적위치 :

아메리카, 유럽, 아시아 태평양, 중동 및 아프리카
 

Azure 지역 쌍

예로는 미국 동부와 미국 서부 쌍, 동남 아시아와 동아시아 쌍
?? 미리 구성을 해놔야 되겠지?

리전

 

가용성영역

  • 리전 내에 물리적으로 분리된 데이터 센터
  • 독립된 전원, 냉각 및 네트워킹 갖춤
  • 데이터센터를 쪼개놨을수도…. (추정)
  • 가용성 영역을 지원하는 Azure 지역으로는 미국 중부, 북유럽동남 아시아 리스트가 있다함
  • 모든 서비스가 가용성 영역 사용을 지원하는 것은 아닙니다. 가용성 영역은 VM, 관리형 디스크, 부하 분산 장치, SQL 데이터베이스에 주로 사용됩니다
 
 
 

계정/구독/AD테넌트

AzureAD 강력하며, 최신의 ID공급자 솔루션?
구독은 N 가능
계정관리자/서비스관리자 계정타입이 있음.
최초 Azure 계약 로그인주소가 계정관리자/서비스관리자 두개 권한 모두 받을 있음.
서비스관리자는 IAM에서 계정등록해서 부여해줄 있음.
계정관리자는 account.azure 에서 변경할 있을 같음

두 가지 Azure AD 테넌트를 보여주는 일러스트레이션. 하나의 테넌트에는 두 개의 구독이 있고, 각 구독은 Azure 리소스 집합에 연결되어 있습니다. 다른 테넌트에는 다른 Azure 리소스 집합에 연결된 구독이 하나 있습니다.



 
 
 





Azure 구독에 대한 파트너 전환
  1. Azure 구독을 새 파트너로 이전하려면 고객이 프로세스를 시작하고 현재 POR(Partner of Record)에 서면으로 연락해야 합니다.
 
  1. 기존 CSP파트너사에 CSP파트너를 변경하겠다  유선통보

                참고
                 전환 프로세스를 시작하는 서비스 티켓을 만드는 것은 현재 파트너의 책임입니다.
                        Microsoft
는 고객이나 새로운     파트너를 대신할 수 없습니다. 원활하게 전환하도록 고객은 
                현재 파트너와 긴밀히 공조하여 계획해야 합니다.

 
  1. 구독에 대한 파트너는 다음 작업을 수행해야 합니다.
    파트너 센터에서 구독 이전을 요청하는 Azure 서비스 티켓을 만듭니다.
     
    • 파트너 센터 메뉴에서 고객을 선택 하 고 선택 하 고 목록에서 해당 고객 관리 서비스를선택 합니다지원 티켓 섹션에서 새 티켓 드롭다운을 선택하고 Microsoft Azure를 선택합니다.
    • Azure Portal에서 새 지원 요청을 선택합니다.
      1단계에서 구독 관리를 문제 유형으로 선택하고 이전하려는 구독 ID를 지정한 다음 클라우드 솔루션 공급자를 지원 계획으로 선택합니다.
      2단계에서 C–Minimal impact(C - 최소 영향)를 선택하고 문제 유형으로 Other General Questions(기타 일반 질문)를 선택합니다.
      CSP 구독 이전 양식을 다운로드합니다.
 
  1. 구독의 파트너CSP 구독 이전 양식을 작성하고 서명한 다음 고객에게 보냅니다. 양식을 작성하려면 다음 정보가 필요합니다.
    • 현재 파트너의 연락처 정보 및 Microsoft ID. 파트너 센터 메뉴에서 계정 설정 > 조직 프로필을 선택하고 나열된 Microsoft ID, 조직 이름  주소를 사용합니다.
    • 고객의 Microsoft ID. 파트너 센터 메뉴에서 고객을 선택하고 고객 목록을 확장하여 Microsoft ID를 확인합니다.
    • 이전할 구독 ID. 확장된 고객 목록에서 구독 보기를 선택한 다음 선택한 구독을 확장하여 구독 ID를 확인합니다.
       참고
      구독을 이전하면 전송된 구독의 구독 편집 페이지에 두 개의 구독 ID가 표시됩니다. 1- 파트너 센터 구독 ID는 요금 청구를 위해 사용됩니다. 2- 원래 Azure 구독 ID는 유지되며 Azure 관리 포털뿐만 아니라 파트너 센터에도 표시됩니다. ID는 사용자의 조정 파일에 나타납니다지원 티켓을 로깅할 때 두 ID를 모두 사용해야 합니다.
 
  1. 구독의 고객 및 새 파트너:
    양식을 검토하고 새 파트너에 대한 정보를 입력한 다음 서명합니다. 새 고객에게 계약 협약서가 있는지 확인합니다. 현재 POR(Partner of Record)에게 양식을 다시 보냅니다.
    중요: CSP 파트너가 고객과의 재판매인 관계가 없으면 구독을 이전하기 전에 재판매인 관계를 설정해야 합니다여기서 이 작업을 수행하는 방법에 대한 자세한 내용을 확인할 수 있습니다.
     참고
    CSP 파트너와 고객 테 넌 트와 동일한 국가에 있어야 합니다.
 
  1. 현재 파트너:
    양식에 두 파트너 관리자의 연락처 정보가 포함되어 있는지 확인합니다. Microsoft 지원 센터에서 두 관리자에게 연락하여 이전을 확인합니다. 세 개의 서명이 모두 있는지 확인한 다음 파일 업로드 옵션을 사용하여 완성된 양식을 기존 서비스 요청에 첨부합니다. Microsoft 지원 엔지니어가 업무 시간으로 8시간 내에 연락하여 수신 및 완료를 확인합니다.
 
  1. 새 파트너:
    Azure 구독 설정을 업데이트하여 계정에서 이전 파트너를 제거합니다. 프로비전된 역할 할당을 보려면 두 개의 Powershell Commandlet을 실행합니다.
    • 새 파트너를 계정의 재판매인으로 추가:
      PS C:\> Add-AzureRMAccount -tenant "CustomerDomainName"
      customerDomainName을 찾으려면 파트너 센터 메뉴에서 고객을 선택합니다. 고객 목록에서 고객을 선택합니다. 고객 메뉴에서 계정을 선택하고 도메인 이름을 사용합니다.
    • 이전 CSP 파트너를 포함하여 계정의 역할 보기:
      PS C:\> Get-AzureRMRoleAssignment
  2. 오래된 액세스 권한 제거
    • 파트너 센터 메뉴에서 고객을 선택합니다.
    • 고객 목록을 확장하고 구독 보기를 선택합니다.
    • 고객 메뉴에서 서비스 관리를 선택합니다.
    • Microsoft Azure 아래에서 Microsoft Azure 관리 포털로 이동하는 링크를 클릭합니다.
 



'기술(Azure 만...) > [MS]Azure' 카테고리의 다른 글

Azure CLI VM,웹서버,Scale,JMESPath  (0) 2019.01.17
Azure 기초 개념  (0) 2019.01.17
Azure 구독의 소유권을 다른 계정으로 양도  (0) 2019.01.15
Azure RBAC  (0) 2019.01.15
azure 관리그룹(management groups)  (0) 2019.01.15
    결론은
    기본적으로 구독이전 메뉴는
     
    구매 타입별로(EA, CSP, 일반, VS MPN ) 가능여부가 다름
    VS MPN 이전 버튼이 보이지 않음.
     
    사전 확인이 필요함.
    running 중인 서비스라면 특히…
    QnA 보면
    • 이전   서비스중지는 없다함.
    • 이전 시점 이후부터의 과금은 양도받은 사람이…
     
     
     
    1. 받는 사람을 지정합니다.
      중요
      Azure AD 테넌트에 구독을 전송하는 경우 원본 테넌트에서 RBAC(역할 기반 액세스 제어)의 모든 역할 할당을 영구적으로 삭제하고 대상 테넌트에 마이그레이션하지 않습니다.


    1. 받는 사람은 수락 링크가 포함된 전자 메일을 자동으로 받게 됩니다.


    1. 받는 사람은 링크를 클릭하고 지불 정보 입력 등의 지침을 따릅니다.


     


    1. 성공! 구독이 이제 양도됩니다.
    EA(기업 계약) 고객의 구독 소유권 양도
    엔터프라이즈 관리자는 등록 내 구독 소유권을 양도할 수 있습니다. 양도를 시작하려면 EA 포털에서 계정 소유권 양도를 참조하세요.
    구독 소유권을 수락한 후 다음 단계
    1. 이제 계정 관리자가 되었습니다. 서비스 관리자, 공동 관리자 및 다른 RBAC 역할을 검토하고 업데이트합니다. 자세한 내용은 Azure 구독 관리자 추가 또는 변경 RBAC Azure Portal을 사용하여 액세스 관리를 참조하세요.
    2. 다음을 비롯한 이 구독의 서비스와 연결된 자격 증명을 업데이트합니다.
    3. 구독 리소스에 대한 관리자 권한을 사용자에게 부여하는 관리 인증서. 자세한 내용은 Azure 용 관리 인증서 만들기 및 업로드
    4. 저장소와 같은 서비스에 대한 액세스 키. 자세한 내용은 Azure Storage 계정 정보를 참조하세요.
    5. Azure Virtual Machines 같은 서비스에 대한 원격 액세스 자격 증명.
    6. 파트너와 함께 작업하는 경우 이 구독에서 파트너 ID를 업데이트하는 것이 좋습니다. Azure Portal에서 파트너 ID를 업데이트할 수 있습니다.
    지원되는 내용:
    셀프 서비스 구독 양도는 다음 표에 나열된 제안 또는 구독 유형에 사용할 수 있습니다. 현재 평가판 또는 AIO(Azure in Open) 구독을 전송할 수 없습니다. 해결 방법을 보려면 새 리소스 그룹 또는 구독으로 리소스 이동을 참조하세요. 스폰서쉽 또는 지원 플랜과 같은 다른 구독을 전송하려면 고객 지원팀에 문의하세요.
    제품 이름
    제품 번호
    MS-AZR-0017P
    MS-AZR-0025P
    MS-AZR-0062P
    MS-AZR-0003P
    MS-AZR-0023P
    MS-AZR-0063P
    MS-AZR-0064P
    MS-AZR-0059P
    MS-AZR-0060P
     
     
    질문과 대답(FAQ)
    구독의 계정 관리자는 누구인가요?
    계정 관리자는 Azure 구독을 등록 또는 구입한 사람입니다. 이러한 사용자는 계정 센터에 액세스하고, 구독 만들기, 구독 취소, 구독에 대한 청구 변경 또는 서비스 관리자 변경 등의 다양한 관리 작업을 수행할 수 있는 권한이 있습니다. 구독에 대한 계정 관리자를 잘 모를 경우 다음 단계를 사용하여 확인하세요.
    1. Azure Portal의 구독 페이지를 방문하세요.
    2. 확인하려는 구독을 선택한 다음 설정에서 확인합니다.
    3. 속성을 선택합니다. 구독의 계정 관리자는 계정 관리자 상자에 표시됩니다.
    모든 것이 양도되나요? 양도 항목에 리소스 그룹, VM, 디스크 및 기타 실행 중인 서비스가 포함되나요?
    VM, 디스크, 웹 사이트 등 모든 리소스가 새 소유자에게 양도됩니다. 그러나 설정한 관리자 역할 RBAC(역할 기반 Access Control) 정책은 다른 디렉터리 간에 양도되지 않습니다. 또한 앱 등록 및 다른 테넌트 관련 서비스는 양도되지 않습니다.
    "구독 양도" 단추가 보이지 않는 이유는 무엇인가요?
    아쉽게도 셀프 서비스 구독 양도는 해당 제안 또는 국가에 사용할 수 없습니다. 구독을 양도하려면 지원에 문의하세요.
    구독 양도로 인해 서비스 가동 중지 시간이 발생합니까?
    서비스에 영향은 없습니다. 구독을 양도하면 현재 계정 관리자의 구독이 취소되고 받는 사람의 계정에서 구독이 만들어집니다. 새 구독은 기본 Azure 서비스에 연결됩니다. 구독 ID는 동일합니다.
    어떻게 이 프로세스를 사용하여 구독 디렉터리를 변경하나요?
    계정 관리자가 속한 디렉터리에 Azure 구독이 생성됩니다. 디렉터리를 변경하려면 구독을 대상 디렉터리의 사용자 계정으로 전달합니다. 해당 사용자가 전달을 수락하는 절차를 완료하면 구독이 자동으로 대상 디렉터리로 이동합니다.
    다른 조직으로부터 구독 청구 소유권을 양도 받은 경우, 내 리소스에 계속 액세스할 수 있습니까?
    구독을 다른 테넌트에 양도하는 경우, 이전 테넌트와 연결된 사용자는 구독에 액세스할 수 없게 됩니다. 사용자가 더 이상 서비스 관리자 또는 공동 관리자가 아닌 경우에도 다른 보안 메커니즘을 통해 다음 항목을 포함하여 구독에 액세스할 수도 있습니다.
    • 구독 리소스에 대한 관리자 권한을 사용자에게 부여하는 관리 인증서. 자세한 내용은 Azure용 관리 인증서 만들기 및 업로드를 참조하세요.
    • 저장소와 같은 서비스에 대한 액세스 키. 자세한 내용은 Azure 저장소 계정 정보를 참조하세요.
    • Azure Virtual Machines 같은 서비스에 대한 원격 액세스 자격 증명.
    받는 사람은 리소스에 액세스를 제한해야 하는 경우 서비스와 연결된 암호 업데이트를 고려해야 합니다. 다음 단계를 사용하여 대부분의 리소스를 업데이트할 수 있습니다.
    1. Azure 포털로 이동합니다.
    2. 허브 메뉴에서 모든 리소스를 선택합니다.
    3. 리소스를 선택합니다.
    4. 리소스 블레이드에서 설정을 클릭합니다. 여기서 기존 암호를 보고 업데이트할 수 있습니다.
    청구 주기 도중에 구독을 양도하는 경우 전체 청구 주기에 대해 받는 사람이 지불해야 합니까?
    양도가 완료되는 지점까지 보고된 사용량에 대한 지불 책임은 보낸 사람에게 있습니다. 받는 사람은 양도 받는 시점부터 보고된 사용량에 대해 지불 책임이 있습니다. 양도하기 전에 발생하지만 나중에 보고되는 일부 사용량이 있을 수 있습니다. 이 사용량은 받은 사람의 청구서에 포함됩니다.
    받는 사람은 사용량 및 청구 내역에 액세스할 수 있습니까?
    받는 사람이 사용할 수 있는 유일한 정보는 마지막 청구 금액입니다. 첫 번째 청구가 생성하기 전에 구독이 양도된 경우에는 현재 잔액도 공개됩니다. 나머지 사용량 및 청구 내역은 구독과 함께 양도되지 않습니다.
    양도하는 동안 제품을 변경할 수 있습니까?
    제품을 동일하게 유지해야 합니다. 제안을 변경하려면 Azure 구독을 다른 제안으로 전환을 참조하세요.
    다른 국가에서 사용자 계정에 대 한 구독을 양도할 수 있습니까?
    아니요. 다른 국가의 사용자 계정으로 구독을 양도할 수는 없습니다. 받는 사람의 사용자 계정은 동일한 국가에 있어야 합니다.
    받는 사람이 다른 지불 방법을 사용할 수 있나요?
    . 그렇지만 현재 구독 청구 내역이 두 계정으로 분할됩니다.
    Azure 구독을 양도하면 결제 방법에 영향을 주나요?
    구독을 양도하려면 구독 지불을 위해 신용 카드 또는 이와 비슷한 결제 방법을 제공해야 합니다. 예를 들어 Bob Jane에게 구독을 양도하고 Jane이 양도를 수락하는 경우 Jane은 구독의 결제 방법을 제공해야 합니다. 양도가 완료된 후에 Bob이 아닌 Jane에게 구독 요금이 청구됩니다.
    Azure 구독에 대한 데이터 및 서비스를 새 구독으로 마이그레이션하려면 어떻게 해야 하나요?
    구독 소유권을 양도할 수 없는 경우 리소스를 수동으로 마이그레이션할 수 있습니다. 새 리소스 그룹 또는 구독으로 리소스 이동을 참조하세요.
     



'기술(Azure 만...) > [MS]Azure' 카테고리의 다른 글

Azure 기초 개념  (0) 2019.01.17
CSP 간 Azure 계약(구독) 이전 절차  (0) 2019.01.15
Azure RBAC  (0) 2019.01.15
azure 관리그룹(management groups)  (0) 2019.01.15
Azure Cognitive service 비젼관련 실습  (0) 2019.01.01

+ Recent posts