WIN1@Codename

Codename

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Azure Site Recovery -Vol.1 ハイブリッドクラウドのはじめの一歩

Microsoftのパブリッククラウドサービス「Microsoft Azure」では、様々なサービスが日々進化しながら提供されています。その中には、オンプレミスのHyper-Vと、Azureのクラウドサービスを連携させて、災害対策(Disaster Recovery:DR)としてより安全なデータ保全を実現するものや、クラウドのサービスからオンプレミスのサーバーを管理することのできるものなどが用意されています。これらは、オンプレミスのサーバーで構築するプライベートクラウドと、パブリッククラウドサービスを連携させた「ハイブリッドクラウド」を実現するためのキーとなるサービスとなっています。
今回は、ハイブリッドクラウド実現のためのはじめの一歩として、Hyper-VとAzureを組み合わせて利用できるサービス「Azure Site Recovery」(Site Recovery)を3回に分けて紹介します。

GMO TechReport
https://www.gmo.jp/report/single/?art_id=215

Windowsコンテナのインストールとコンテナ管理

Windows Server 2016が正式にリリースされました。WindowsコンテナはTechnical Preview 5までとは異なり、完全にDockerの仕様に沿ったコンテナとなりました。今回は、Windowsコンテナのインストール方法と、主だったコンテナ管理のためのDockerコマンド、さらには開発中のDocker-PowerShellについていち早く紹介します。

GMO TechReport
https://www.gmo.jp/report/single/?art_id=214

Hyper-VでAndroidも動きます!さて、何をしましょうか?

WindowsやLinux、FreeBSDが、Hyper-VでサポートされているOSとなっていますが、Androidも仮想マシンとして利用することができます。Hyper-Vとしては正式サポートされていないものの、x86系のプロセッサ上でAndroidを動かそうというプロジェクトが公開しているISOイメージを利用して、実際にインストールの手順や設定方法を紹介します。

GMO TechReport
https://www.gmo.jp/report/single/?art_id=213

インターネット接続の共有(ICS)を利用した仮想マシンのネットワーク接続

Hyper-V上の仮想マシンをインターネット接続する場合、いくつかの方法が考えられます。仮想マシン自体にグローバルIPを割り振る方法や、Hyper-V自体にリモートアクセスの役割を追加する方法、ゲートウェイとして専用の仮想マシンを用意して接続する方法などがあります。
今回は、お手軽に仮想マシンをインターネットに接続することができる「インターネット接続の共有(ICS)」を利用した方法を紹介します。

GMO TechReport
https://www.gmo.jp/report/single/?art_id=212

Windows Container Docker and Docker-PowerShell Commands

#Install Docker Engine

Install-WindowsFeature containers

Restart-Computer -Force

 

Invoke-WebRequest "https://download.docker.com/components/engine/windows-server/cs-1.12/docker.zip" -OutFile "$env:TEMP\docker.zip" -UseBasicParsing

Expand-Archive -Path "$env:TEMP\docker.zip" -DestinationPath $env:ProgramFiles

$env:path += ";c:\program files\docker"

[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Program Files\Docker", [EnvironmentVariableTarget]::Machine)

dockerd --register-service

Start-Service docker

 

#Install DockerPowerShell

Invoke-WebRequest "https://github.com/Microsoft/Docker-PowerShell/releases/download/v0.1.0/Docker.0.1.0.zip" -OutFile "$env:TEMP\dockerpowershell.zip" -UseBasicParsing

Expand-Archive -Path "$env:TEMP\dockerpowershell.zip" -DestinationPath $home\Documents\WindowsPowerShell\Modules\Docker

Register-PSRepository -Name DockerPS-Dev -SourceLocation https://ci.appveyor.com/nuget/docker-powershell-dev

Install-Module Docker -Repository DockerPS-Dev -Force

Update-Module Docker

 

#Docker PowerShell Commands

Get-Command -Module Docker

 

#View MS ContainerImages

docker search microsoft

 

#Pull ContainerImages

docker pull microsoft/windowsservercore

docker pull microsoft/iis

docker pull microsoft/nanoserver

 

Pull-ContainerImage microsoft/windowsservercore

Pull-ContainerImage microsoft/iis

Pull-ContainerImage microsoft/nanoserver

 

#ContainerImages

docker images

 

Get-ContainerImage

 

#Deploy IIS Container

docker run --name IIS01 -t -d -p 80:80 microsoft/iis #(-isolation = hyperv)

docker run -it microsoft/nanoserver powershell

 

$Image = Get-ContainerImage | Where-Object { $_.RepoTags -eq "microsoft/iis:latest" }

$Container = New-Container -Name IIS01 -Image $Image -Input #(-Isolation HyperV)

Start-Container $Container

$IP = Invoke-Command -ContainerId $Container.ID -ScriptBlock {[Net.Dns]::GetHostAddresses('').IPAddressToString[1]}

$NatName = Get-NetNat

Add-NetNatStaticMapping -NatName $NatName.Name -Protocol TCP -ExternalIPAddress 0.0.0.0 -InternalIPAddress $IP -InternalPort 80 -ExternalPort 80

#(Remove-NetNatStaticMapping -NatName $NatName.Name -StaticMappingID (Get-NetNatStaticMapping|? {$_.ExternalPort -eq 80}).StaticMappingId)

 

#Containers

docker ps -a

 

Get-Container | Select ID, Names, Image, Created, Status

 

#Start Containe

docker start IIS01

 

Start-Container IIS01

 

#Stop Container

docker stop IIS01

 

Stop-Container IIS01

 

#Del Container

docker rm IIS01

 

Remove-Container IIS01

 

#New Container Image (Repository name must be lowercase.)

docker commit IIS01 my:IISContainerImage

 

Commit-Container -Container $Container -Author WIN1 -Repository my -Tag IISContainerImage

 

#Del Container Image

docker rmi my:IISContainerImage2

 

Remove-ContainerImage my:IISContainerImage2

 

#Connect Container

docker exec -it IIS01 powershell

 

Enter-PSSession -ContainerId $Container.ID RunAsAdministrator

 

#Exec Command

docker exec IIS01 ipconfig

 

Invoke-Command -ContainerId $Container.ID -ScriptBlock {ipconfig}

 

#Push

docker login

docker commit IIS01 <USERNAME>/iiscontainerimage

docker push <USERNAME>/iiscontainerimage

 

$DockerAuth = [Docker.DotNet.Models.AuthConfig]::new()

$DockerAuth.Username = "<USERNAME>"

$DockerAuth.Password =  "<PASSWORD>"

$IMG = Get-ContaierImage <USERNAME>/iiscontainerImage

Submit-ContainerImage -Image $IMG -Authorization $DockerAuth

 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。
前のページ 次のページ

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。