86
Saki Homma(@sakkuru) Microsoft Japan Commercial Software Engineering Technical Evangelist

はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-

Embed Size (px)

Citation preview

Page 1: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-

Saki Homma(@sakkuru)

Microsoft Japan

Commercial Software Engineering

Technical Evangelist

Page 2: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-

本間咲来 / Saki Homma

さっくる @sakkuru

Technical Evangelist

Web 開発や JavaScript/TypeScript/Node.js が得意分野

Azure全般 や Visual Studio Code, IoT についてのエバンジェ

リスト活動を行う

Page 3: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 4: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 5: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 6: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-

Session Agenda

o コンテナとは、Docker とは

o Web App for Containerso Docker コンテナを作ってデプロイする

o 導入事例紹介

o CI/CD 環境を構築する

Page 7: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-

コンテナとはDockerとは

Page 8: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 9: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-

Infrastructure Infrastructure

Host Operating System

Hypervisor

Guest OS

Bins/Libs

App 1

Guest OS

Bins/Libs

App 2

Guest OS

Bins/Libs

App 3

Bins/Libs

App/Svc 1

Bins/Libs

App/Svc 2

Bins/Libs

App/Svc 3

Container Engine

Operating System

+ Network isolation at container level+ Resources constraints at container level

Page 10: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 11: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 12: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 13: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-

Web App for Containers

Page 14: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 15: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 16: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 17: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 18: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 19: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-

Dockerコンテナを作ってみよう

Page 20: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 21: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 22: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-

Dockerfile Docker Image Docker Container

Docker Hub Web App for Containers

Build Run

Push SSHPull

Attach

Page 23: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 24: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-

Container

Tcp:2222

Azure Portal

こちら

https://docs.microsoft.com/ja-jp/azure/app-service/containers/app-service-linux-ssh-

support

Page 25: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-

FROM ubuntu:16.04

RUN apt-get update \&& apt-get install -y --no-install-recommends openssh-server \&& mkdir /var/run/sshd \&& echo "root:Docker!"| chpasswd

COPY sshd_config /etc/ssh/

EXPOSE 2222

RUN echo This is a simple contaier! > /tmp/check.txt

CMD ["/usr/sbin/sshd","-D"]

Source Code: https://github.com/sakkuru/Simple-Ubuntu-SSH-Container.git

Docker Hub: sakkuru/simple-ubuntu-ssh-container

Page 26: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-

Source Code: https://github.com/sakkuru/Simple-Ubuntu-SSH-Container.git

Docker Hub: sakkuru/simple-ubuntu-ssh-container

Page 27: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 28: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-

導入事例

Page 29: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-

Web App for Containers や Azure Media Services の利便性の高さから、

データサイエンティスト育成用の e-learning システムをAWSのIaaS環境から Azure へ移行

Page 30: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-

• 2日間で AWS から Azure へ移行完了• さらに CI/CD ツールを導入し、より開発と運用のコストを下げる仕組みに

Page 31: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 32: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 33: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 34: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 35: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-

Source Code: https://github.com/sakkuru/Ubuntu-Express-SSH-container.git

Docker Hub: sakkuru/ubuntu-express-ssh-container

Page 36: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-

Container

TCP:2222

TCP:8080TCP:80/443

Page 37: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-

• 下記プラグインを追加(Suggested plugins で入る)

• Docker CE をインストールしておく

Page 38: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-

Client ID

Client Secret

Tenant ID

Subscription ID

Appendix 参照

Page 39: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-

便利な機能

Page 40: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 41: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 42: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-

http://XXX.scm.azurewebsites.net/

Page 43: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-

Container

Tcp:2222

Azure Portal

Page 44: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 45: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 46: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 47: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 48: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 49: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-

Microsoft Developers

Page 50: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-

© 2017 Microsoft Corporation. All rights reserved.

本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。

Page 51: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 52: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 53: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 54: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 55: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 56: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 57: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 58: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 59: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 60: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-

Jenkins サーバのURL/github-webhook/

Page 61: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 62: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 63: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 64: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 65: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 66: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 67: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 68: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 69: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-

URLは適当で大丈夫

Page 70: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 71: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 72: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 73: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 74: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 75: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 76: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 77: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 78: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-

Web App for Container で使用するサブスクリプションを選択

Page 79: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 80: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 81: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-

Active Directory に登録したアプリの名前

Page 82: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 83: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-

• Subscription ID = サブスクリプション ID• Client ID = アプリケーション ID• Client Secret = キー• Tenant ID = ディレクトリ ID

Page 84: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Page 85: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-

デプロイメントスロットの名前

Page 86: はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-