58
AWS - Windowsアップデート re:Invent & Windows Server 2016 2016128渡邉源太(gentaw@) ソリューションアーキテクト

AWS - Windowsアップデートre:Invent & Windows Server 2016

Embed Size (px)

Citation preview

AWS - Windowsアップデートre:Invent & Windows Server 2016

2016年12月8日渡邉源太(gentaw@)

ソリューションアーキテクト

自己紹介

✤名前⎻渡邉源太

✤所属⎻アマゾンウェブサービスジャパン株式会社

⎻技術本部レディネスソリューション部

⎻ソリューションアーキテクト(Windows)

✤エンタープライズのお客様支援を経て、現在はマイクロソフトプラットフォームおよびエンタープライズアプリケーションを担当

アジェンダ

✤re:Invent 2016アップデート

✤Windows Server 2016 on AWS

re:Invent 2016の新発表(11/29分)

✤[NEW]AWS Organizationsを発表

✤[NEW]AWS Service Delivery Programを発表

✤[NEW]AWS Partner Solutions Finderを発表

✤[NEW]日本から新たに2社がプレミアパートナーに認定

✤[NEW]新たに2つのAPNコンピテンシーを発表

✤S3向けに4つのストレージ管理機能を発表

✤AWS Storage Gatewayのファイルゲートウェイを発表

✤AWS Storage Gatewayの値下げを発表

✤WorkSpacesでWindows10のルック&フィールが利用可能に

✤RDS for AuroraとPostgreSQLがHIPAAコンプライアンス対応

re:Invent 2016の新発表(11/30分)

✤[NEW]Amazon Aurora PostgreSQL-Compatible Editionを発表

✤[NEW]RDS向けのPerformance Insightを発表

✤[NEW]Amazon Rekognitionを発表

✤[NEW]Amazon Lexを発表

✤[NEW]Amazon Pollyを発表

✤[NEW]Amazon Athenaを発表

✤[NEW]Amazon LightSailを発表

✤[NEW]AWS Greengrassを発表

✤[NEW]AWS Snowball Edgeを発表

✤[NEW]AWS Snowmobileを発表

✤[NEW]EC2のT2ファミリのラインナップを拡充

✤[NEW]EC2の新インスタンスファミリR4を発表

✤[NEW]EC2の新インスタンスファミリI3を発表

✤[NEW]EC2の新インスタンスファミリC5を発表

✤[NEW]EC2の新インスタンスファミリF1を発表

✤[NEW]Amazon EC2 Elastic GPUsを発表

✤CloudFrontのRegional Edge Cacheを発表

re:Invent 2016の新発表(12/1分)

✤[NEW]AWS Batchを発表

✤[NEW]AWS Step Functionsを発表

✤[NEW]AWS CodeBuildを発表

✤[NEW]AWS X-Rayを発表

✤[NEW]AWS Pinpointを発表

✤[NEW]Lambda@Edgeを発表

✤[NEW]AWS Shieldを発表

✤[NEW]ECS向けのオープンソーススケジューラBloxを発表

✤[NEW]AWS Glueを発表

✤[NEW]EC2 System Managerを発表

✤[NEW]AWS Personal Health Dashboardを発表

✤[NEW]Amazon AppStream 2.0を発表

✤VPC内のEC2インスタンスがIPv6をサポート

✤AWS LambdaがC#をサポート

✤AWS LambdaのDead Letter Queue

✤OpsWorks for Chef Automateを発表

広範囲のプラットフォームをサポート仮想マシン、コンテナからサーバーレスまで

EC2インスタンスファミリをさらに拡充より多くのワークロードに最適化されたタイプをご利用可能に

AWSブログ:EC2インスタンスタイプのアップデート – T2, R4, F1, Elastic GPUs, I3, C5https://aws.amazon.com/jp/blogs/news/ec2-instance-type-update-t2-r4-f1-elastic-gpus-i3-c5/

EC2インスタンスの変遷2006年のサービス提供開始から様々なタイプを随時追加

2006 2008 2010 2012 2014 2016

m1.small

m1.large

m1.xlarge

c1.medium

c1.xlarge

m2.xlarge

m2.4xlarge

m2.2xlarge

cc1.4xlarge

t1.micro

cg1.4xlarge

cc2.8xlarge

m1.medium

hi1.4xlarge

m3.xlarge

m3.2xlarge

hs1.8xlarge

cr1.8xlarge

c3.large

c3.xlarge

c3.2xlarge

c3.4xlarge

c3.8xlarge

g2.2xlarge

i2.xlarge

i2.2xlarge

i2.4xlarge

i2.4xlarge

m3.medium

m3.large

r3.large

r3.xlarge

r3.2xlarge

r3.4xlarge

r3.8xlarge

t2.micro

t2.small

t2.med

c4.large

c4.xlarge

c4.2xlarge

c4.4xlarge

c4.8xlarge

d2.xlarge

d2.2xlarge

d2.4xlarge

d2.8xlarge

g2.8xlarge

t2.large

m4.largem4.xlarge

m4.2xlarge

m4.4xlarge

m4.10xlarge

x1.32xlarge

t2.nano

m4.16xlarge

p2.xlarge

p2.8xlarge

p2.16xlarge

x1.16xlarge

T2インスタンスのラインナップを拡充

✤CPU性能のバーストをサポートした汎用 T2に、従来よりも大きな2種類のサイズを追加

✤より多くのメモリを搭載しており、今までよりも幅広いワークロードに対応可能に

モデル vCPU RAM ベースラインパフォーマンス

CPUクレジット/時間

料金(Linux/東京)

t2.nano 1 0.5GB 10% 3 $0.08/h

t2.micro 1 1GB 15% 6 $0.16/h

t2.small 1 2GB 25% 12 $0.32/h

t2.medium 2 4GB 40% 24 $0.64/h

t2.large 2 8GB 60% 36 $0.128/h

t2.xlarge 4 16GB 90% 54 $0.256/h

t2.2xlarge 8 32GB 135% 81 $0.512/h

nano micro small medium

large

xlarge

2xlarge

AWSブログ:新しい T2.Xlarge および T2.2Xlarge インスタンスhttps://aws.amazon.com/jp/blogs/news/new-t2-xlarge-and-t2-2xlarge-instances/

R4インスタンスを提供開始

✤メモリ最適化 R3の後継としてR4を発表

✤2.4GHzのIntel Xeon E5-2686(Broadwell)を搭載し、DDR4のメモリと大容量で高速なL3キャッシュを利用可能

✤バージニア、オハイオ、オレゴン、北カリフォルニア、アイルランド、フランクフルト、シドニー、北京、GovCloudで既に利用可能

R4

モデル vCPU RAM NW帯域

r4.large 2 15.25GB 最大10Gbps

r4.xlarge 4 30.5GB 最大10Gbps

r4.2xlarge 8 61GB 最大10Gbps

r4.4xlarge 16 122GB 最大10Gbps

r4.8xlarge 32 244GB 10Gbps

r4.16xlarge 64 488GB 20Gbps

AWSブログ:次世代のメモリ最適化EC2インスタンス(R4)https://aws.amazon.com/jp/blogs/news/new-next-generation-r4-memory-optimized-ec2-instances/

I3インスタンスを発表(2017年予定)

✤ハイ I/Oインスタンス I2の後継としてNVMeベースのSSDを搭載したI3を発表

✤負荷の高いリレーショナルデータベースや、NoSQLデータベースなどに最適

✤低遅延のNVMe接続のSSDを搭載し4KBランダムアクセスで最大3,300,000IOPS、16GB/sを実現

✤6種類のサイズを提供し、最大で64vCPU、488GBメモリ、15.2TBのSSDストレージを搭載

✤Elastic Network Adaptor(ENA)をサポートI3

AWSブログ:EC2インスタンスタイプのアップデート – T2, R4, F1, Elastic GPUs, I3, C5https://aws.amazon.com/jp/blogs/news/ec2-instance-type-update-t2-r4-f1-elastic-gpus-i3-c5/

C5インスタンスを発表(2017年予定)

✤コンピューティング最適化 C4の後継として、SkylakeコアのXeonを搭載したC5を発表

✤前世代のHaswell(C4に搭載)と比較して、AVX-512命令セットが利用可能で機械学習やマルチメディア、科学技術計算などに最適

✤6種類のサイズを提供し、最大で72vCPU、144GBメモリを搭載

✤Elastic Network Adaptor(ENA)をサポートし、EBS最適化オプションがデフォルトで有効

C5

AWSブログ:EC2インスタンスタイプのアップデート – T2, R4, F1, Elastic GPUs, I3, C5https://aws.amazon.com/jp/blogs/news/ec2-instance-type-update-t2-r4-f1-elastic-gpus-i3-c5/

F1インスタンスを発表(開発者プレビュー開始)

✤FPGAを搭載し高性能計算用途に最適なF1を発表

✤Intel Xeon E5-2686v4(2.3GHz, Turbo mode対応)と1個から8個のFPGA(Xilinx UltraScale+ VU9P)、最大976GBメモリ、4TBのNVMe接続のSSDを利用可能

✤開発/テスト用AMIも提供。パッケージ化したAmazon FPGA Image(AFI)はAWS Marketplaceに公開可

✤サンプルアプリケーションなどはF1 Hardware Development Kit(HDK)として提供

✤バージニアリージョンにて開発者プレビューを開始。他リージョンへの展開も準備中

F1

AWSブログ:開発者プレビュー ー EC2 Instances (F1) with Programmable Hardwarehttps://aws.amazon.com/jp/blogs/news/developer-preview-ec2-instances-f1-with-programmable-hardware/

Amazon EC2 Elastic GPUsを発表

✤GPU搭載していないインスタンスタイプでも利用可能なElastic GPUsを発表

✤アタッチするだけで高度なグラフィクスアクセラレーション機能を利用可能に

✤現時点ではWindowsでのOpenGLのみサポート。他のAPIは後日対応予定⎻ DirectX

⎻ Vulkan

✤利用可能時期は追って発表予定

タイプ GPUメモリ

対応OS API

eg1.medium 1024MB Windows OpenGL

eg1.large 2048MB Windows OpenGL

eg1.xlarge 4096MB Windows OpenGL

eg1.xlarge 8192MB Windows OpenGL

AWSブログ:進行中 ー Amazon EC2 Elastic GPUshttps://aws.amazon.com/jp/blogs/news/in-the-work-amazon-ec2-elastic-gpus/

Amazon AppStream 2.0を発表

✤フルマネージドのアプリケーションストリーミングサービス

✤アプリに場所・デバイスを問わずブラウザから簡単・セキュアなアクセスを実現

✤NICE DCVの技術を採用し、高いパフォーマンスとセキュリティを両立

✤時間課金とは別にMicrosoft RDS SALの料金$4.19/ユーザ/月が必要(BYOL可)

✤バージニア、オレゴン、アイルランド、東京リージョンで利用可能

※詳細な価格情報はこちらを参照 https://aws.amazon.com/appstream2/pricing/

Graphics WorkSpaces

✤GPUを搭載したWorkSpacesによりグラフィック処理が高速化⎻ GPUを搭載することで、3D CAD等の利用において、画面が滑らかに動き、細かな場所まで正確に描画されるなど、グラフィック処理が改善

⎻ 仮想デスクトップ環境でもGPUによる恩恵を受けることができる

✤ユースケース⎻ CAD/CAM/CAE Workloads⎻ 3D エンジニアリング⎻ ビジュアルデザイン⎻ アニメーション

Web Access for Amazon WorkSpaces

✤Windows/Mac/Linuxを実行するChromeまたはFirefoxのWebブラウザからWorkSpacesにアクセスが可能に

✤Value/Standard/PerformanceおよびPlusバンドルで利用が可能

Windows 10デスクトップエクスペリエンス

✤Windows 10のデスクトップ環境をWindows Server 2016ベースで提供

✤PlusバンドルではOffice 2016が利用可能

✤GraphicsおよびWeb Accessは現在利用できない

OpsWorks for Chef Automateを発表

✤マネージドChef ServerとChef AutomateをOpsWorksと連携させたサービス

✤Chef AutomateによりCookbookとコードのContinues Deploymentワークフローの制御、コンプライアンスやセキュリティテストの実施を実現

✤OpsWorksはシステム環境のプロビジョン、パッチ適用、バックアップ、Chef Serverの管理を実施

✤Chef Serverへの接続ノード数毎に時間課金

✤バージニア、オレゴン、アイルランドの各リージョンで利用可能

https://www.chef.io/chef/

OpsWorks

EC2 Systems Managerを発表

✤EC2インスタンスやオンプレミスの構成管理を自動化するためのサービス

✤様々な運用タスクの自動化が可能⎻ WindowsのOSパッチ適用

⎻システムイメージの作成

⎻ Windows/LinuxのOS設定 など

✤AWS Configとの連携により、OSレベルの設定変更の履歴を見える化することができる

✤EC2 Systems Managerは無料で利用可能

サポートしているOS

✤Windows⎻ Windows Server2003 – 2016

✤Linux⎻ 32bit & 64bit

⎻ Amazon Linux 2014.03以降

⎻ Ubuntu Server 12.04以降

⎻ Red Hat Enterprize Linux6.5以降

⎻ CentOS 6.3以降

⎻以下のバージョンは64bitのみサポート⎻ Amazon Linux 2015.09以降

⎻ Red Hat Enterprize Linux7.0以降

⎻ CentOS 7.1以降

AWS X-Rayを発表

✤End-to-Endで分散アプリケーション環境へのリクエストトーレスを取得し、デバッグ・分析を行うマネージドサービス

✤アプリケーションにSDKとAgentを実装することで、トレースデータをX-RayにJSONで送付

✤言語はNode.js, Java, C#.NETをサポートし、今後順次追加予定

✤トレースデータを元に、サービスマップの生成と、レスポンスタイム含む詳細情報を収集。コンソール/AWS API/CLIによりデータ分析が可能

✤GovCloud/北京除く各リージョンでプレビュー実施

ECS向けのオープンソーススケジューラBloxを発表✤Amazon ECS向けコンテナ管理およびオーケストレーションツール群を提供するオープンソースプロジェクト

✤ECS向けカスタムスケジューラによるタスクの制御、3rd Partyスケジューラとの連携

✤クラスターのスケールも管理

✤GitHubをレポジトリとして利用し、IssueやPull Requestを管理http://blox.github.io

Cluster-State-

Servicedaemon-scheduler

AWS LambdaがC#をサポート

✤AWS LambdaでC#によるアプリケーションを実行可能に。.NET Core 1.0ランタイムで稼働する

✤AWS Toolkit for Visual Studioに含まれるC#アプリケーションのテンプレートを利用して、開発を行うことができる

✤AWS CLIやManagement Consoleも利用可能。ランタイムとして”C#”を選択し、パッケージングしたZipファイルをアップロードする

✤東京リージョンでも利用可能

Lambda@Edgeを発表

✤Lambdaベースの処理をCloudFrontのエッジロケーションで実行し、リアルタイムにヘッダー、URLなどの編集可能に

✤アプリケーションはJavaScript(Node.js)で記述し、利用可能メモリは128MB、実行時間の上限は50ms

✤実行のタイミングは下記の4種類⎻ Viewer Request:リクエスト受信時に実行⎻ Viewer Response:クライアントへの応答時に実行⎻ Origin Request:キャッシュが無い場合に実行⎻ Viewer Response:オリジンからの応答受信時に実行

✤リミテッドプレビューを開始

ヘッダなどを編集!

WIN:Windowsトラックセッション

✤WIN201 - Simplifying Microsoft Architectures with AWS services

✤WIN203 - How Pitney Bowes is transforming their business in the cloud

✤WIN204 - How to move 1,000 VMs and Biz Critical Apps to AWS in 6 months. Methodology and lessons learned from Edwards Lifesciences

✤WIN205 - NEW LAUNCH! Amazon EC2 Systems Manager for Hybrid Cloud Management at Scale

✤WIN301 - Bring Microsoft Applications to AWS to Save Money and Stay License Compliant using PowerShell, Windows KMS, and Dedicated Hosts

✤WIN303 - How to Launch a 100K-User Corporate Back Office with Microsoft Servers and AWS

✤WIN304 - Design, Deploy, and Optimize Microsoft SharePoint on AWS

✤WIN305 - Best Practices for Integrating Active Directory with AWS Workloads

✤WIN306 - Design, Deploy, and Optimize Microsoft SQL Server on AWS

✤WIN307 - Searching Inside Video at Petabyte Scale Using Spot

✤WIN401 - How to Manage Inventory, Patching, and System Images for Your Hybrid Cloud with AWS Management Capabilities

✤WIN402 - How I learned to embrace DevOps and Configure Infrastructure at Scale

✤WIN403 - How to Migrate Microsoft Windows Applications to AWS Quickly, with Less Risk, Using Multisite Replication and SQL HA

BAP:Business Appトラックセッション

✤BAP201 - Move your desktops to the cloud with Amazon WorkSpaces

✤BAP202 - Extra, Extra! News UK Saves Money with Hourly Amazon WorkSpaces, Read All About It!

✤BAP203 - How Higher Ed Graduated from Traditional Desktops to DaaS Using Amazon WorkSpaces

✤BAP204 - Deliver Desktop Applications to Any Device, Anywhere with Amazon AppStream

✤BAP205 - Stop Managing Email Infrastructure: Move to Amazon WorkMail

✤BAP206 - Store and collaborate on content securely with Amazon WorkDocs and use the SDKs to integrate with your existing IT tools

✤BAP210 - Hardware-Accelerating Graphics Desktop Workloads with Amazon WorkSpaces

✤BAP212 - Deliver Engaging Experiences with Custom Apps Built on Salesforce App Cloud and AWS

✤BAP305 - Zero to Google Chrome in 60 Minutes: Lightweight and Inexpensive Client Devices for Amazon WorkSpaces

✤BAP402 - Best Practices from the Trenches: Deploy Amazon WorkSpacesLike a Pro

アジェンダ

✤re:Invent 2016アップデート

✤Windows Server 2016 on AWS

Windows Server 2016 AMI

✤Microsoft Windows Server 2016 Base (English/Japanese)

✤Microsoft Windows Server 2016 Base with Containers

✤Microsoft Windows Server 2016 Base Nano

✤Microsoft Windows Server 2016 with SQL Server (Express/Web/Standard)

Windows Server 2016 AMIにおける変更点

✤EC2Configサービスが廃止されEC2Launchによって置き換えられる

✤ドメイン参加とCloudWatch LogsインテグレーションはEC2 Systems Managerから実行

✤Windows Server 2016 Nano Serverではリモートデスクトップ接続をサポートしないためPowerShellリモーティングにより管理をおこなう

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/WindowsGuide/windows-ami-version-history.html

EC2LaunchによるWindowsインスタンスの構成

✤EC2LaunchはEC2 Configサービスを置き換えるためのWindows PowerShellスクリプト⎻壁紙にインスタンス情報を表示(Nano Serverは対象外)

⎻ コンピュータ名の設定

⎻ EC2コンソールにインスタンス情報を通知

⎻ EC2コンソールにRDP証明書のフィンガープリントを通知(Nano Serverは対象外)

⎻管理者アカウントにランダムパスワードをセット

⎻ DNSサフィックスの追加

⎻オペレーティングシステムパーティションを動的に拡張

⎻ userdataの実行

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/WindowsGuide/ec2launch.html

インスタンスの初期化タスクの設定

✤インスタンス上のC:¥ProgramData¥Amazon¥EC2-Windows¥Launch¥Config¥LaunchConfig.jsonを編集

✤Windows PowerShellで以下のコマンドを実行し、スケジュールされたタスクとして登録

{"setComputerName": false,"setWallpaper": true,"addDnsSuffixList": true,"extendBootVolumeSize": true,"adminPasswordType": "Random, Specify, Do Nothing","adminPassword": "Password that adheres to your security policy."

}

C:¥ProgramData¥Amazon¥EC2-Windows¥Launch¥Scripts¥InitializeInstance.ps1 –Schedule

EC2LaunchによるSysprepの実行

✤EC2LaunchSettingsを実行することでSysprepを実行可能

✤またはLaunchConfig.jsonファイルを手動で編集してからWindows PowerShellでInitializeInstance.ps1およびSysprepInstance.ps1を実行

EC2 Systems Managerの機能

✤実行可能なタスク⎻ Remote Administration(リモート管理)

⎻ Inventory Management (インベントリ管理)

⎻ State Management (状態管理)

⎻ Maintenance and Deployment Automation(メンテナンスとデプロイの自動化)

✤共有コンポーネント⎻ Maintenance Windows (メンテナンス時間)

⎻ Parameter Store (パラメータストア)

CloudWatchへのログのアップロード(1/2)

✤サンプルをもとにJSONファイルを作成し、.json拡張子で保存

{"Id": "CloudWatch","FullName":

"AWS.EC2.Windows.CloudWatch.CloudWatch.CloudWatchOutputComponent,AWS.EC2.Windows.CloudWatch",

"Parameters": {"AccessKey": "","SecretKey": "","Region": “ap-northeast-1","NameSpace": "Windows/Default"

}},

CloudWatchへのログのアップロード(2/2)

✤説明と使用可能なパラメータの表示

✤JSONファイルの読み込み

✤指定したインスタンスへのパラメータの指定

Get-SSMDocumentDescription -Name "AWS-ConfigureCloudWatch"

$cloudWatchjson = Get-ContentC:¥Documents¥AWS.EC2.Windows.CloudWatch.json -Encoding UTF8 –Raw

$cloudWatchCommand=Send-SSMCommand -InstanceID i-xxxxxxxx -DocumentName 'AWS-ConfigureCloudWatch' -Parameter @{'properties' =$cloudWatchjson.ToString()}

EC2 Systems Managerを使用したドメイン参加

✤使用可能なパラメータの表示

✤指定したインスタンスのドメインへの参加

✤コマンド実行のステータス確認

Get-SSMDocumentDescription -Name "AWS-JoinDirectoryServiceDomain“

$domainJoinCommand=Send-SSMCommand -InstanceId i-xxxxxxxx -DocumentName AWS-JoinDirectoryServiceDomain -Parameter @{directoryId= 'd-xxxxxxxxx'; directoryName = 'corp.example.com'}

Get-SSMCommand -CommandId $domainJoinCommand.CommandId -Details $true

Nano Serverインスタンスへの接続

✤Nano ServerインスタンスのSecurity GroupでWinRM(TCP:5985)の通信を許可する

✤リモートからWindows PowerShellで以下のコマンドを実行して接続$ip = “192.168.0.x”Set-Item WSMan:¥localhost¥Client¥TrustedHosts $ip$user = "$ip¥Administrator"Enter-PSSession -ComputerName $ip -Credential $user

$ip = @{ IpProtocol="tcp"; FromPort="5985"; ToPort="5985";IpRanges="192.168.0.0/24" }Grant-EC2SecurityGroupIngress -GroupId sg-xxxxxxxx -IpPermission $ip

Nano Serverインスタンスへのファイルコピー

✤Nano Serverに接続するインスタンスで、Windows Management Framework 5.0をダウンロードしてインストール

✤Copy-Itemコマンドを使用してNano Serverインスタンスにファイルコピーが可能

$ip = "Your instance IP address"Set-Item WSMan:¥localhost¥Client¥TrustedHosts $ip$user = "$ip¥Administrator"$cs = New-PSSession –ComputerName $ip –Credential $userCopy-Item -Path path -Destination destination -ToSession $cs -Recurse

Nano ServerにおけるIISのインストール

✤Nano ServerでIISの役割を有効化するためには、以下のようにPowerShellコマンドを実行してPowerShell Galleryから必要なパッケージをインストール

Install-PackageProvider -Name NuGet -ForceSave-Module -Path "$env:ProgramFiles¥WindowsPowerShell¥Modules" -Name NanoServerPackage -MinimumVersion 1.0.0.0Import-PackageProvider NanoServerPackageInstall-NanoServerPackage -Name Microsoft-NanoServer-IIS-PackageStart-Service W3SVC

Nano Serverにインストール可能なパッケージ

✤Microsoft-NanoServer-Defender-Package

✤Microsoft-NanoServer-DSC-Package

✤Microsoft-NanoServer-IIS-Package

✤Microsoft-NanoServer-ShieldedVM-Package

✤Microsoft-NanoServer-DCB-Package

✤Microsoft-NanoServer-SCVMM-Compute-Package

✤Microsoft-NanoServer-DNS-Package

✤Microsoft-NanoServer-Compute-Package

✤Microsoft-NanoServer-Storage-Package

✤Microsoft-NanoServer-Host-Package

✤Microsoft-NanoServer-Containers-Package

✤Microsoft-NanoServer-OEM-Drivers-Package

✤Microsoft-NanoServer-FailoverCluster-Package

✤Microsoft-NanoServer-SecureStartup-Package

✤Microsoft-NanoServer-SCVMM-Package

✤Microsoft-NanoServer-SoftwareInventoryLogging-Package

✤Microsoft-NanoServer-Guest-Package

IISのオプション機能の有効化

✤有効化できるオプション機能の確認

✤IISのWindows認証を有効化

Get-WindowsOptionalFeature -Online

Enable-WindowsOptionalFeature -Online -FeatureName IIS-WindowsAuthentication

EC2 Systems Managerを使用したIISのインストール

✤パラメータの指定とコマンドの実行

✤コマンド実行のステータス確認

$commands = @(‘Install-PackageProvider –Name NuGet –ForceSave-Module –Path “$env:ProgramFiles¥WindowsPowerShell¥Modules” –Name NanoServerPackage –MinimumVersion 1.0.0.0Import-PackageProvider NanoServerPackageInstall-NanoServerPackage –Name Microsoft-NanoServer-IIS-PackageStart-Service W3SVC ‘) $runPSCommand=Send-SSMCommand -InstanceId i-xxxxxxxx -DocumentNameAWS-RunPowerShellScript -Parameter @{‘commands’ = $commands}

Get-SSMCommand -CommandId $runPSCommand.CommandId

ASP.NET Core on Nano Server

✤.NET Core Windows Server Hosting Bundleを通常のWindows環境にインストール

✤ASP.NET Core Module (ANCM)をNano Serverにインストール⎻ Nano Serverにモジュールをコピー

⎻ インストール用のスクリプトを実行

✤.NET Coreフレームワークをインストール

✤アプリケーションを公開

https://docs.microsoft.com/en-us/aspnet/core/tutorials/nano-server

Active Directoryドメインへのオフライン参加

✤Active Directoryドメインに参加しているメンバーサーバーもしくはドメインコントローラーでデータファイルを作成

✤Nano Serverにデータファイルをコピーしてコマンドを実行し再起動

djoin /provision /domain domainname /machine computername/savefile .¥djoin.txt

djoin /requestodj /loadfile C:¥djoin.txt /windowspath c:¥windows/localosRestart-Computer

Windows Updateの適用

✤適用されていない更新プログラムの検索

✤更新プログラムの適用

$sess = New-CimInstance -Namespace root/Microsoft/Windows/WindowsUpdate -ClassName MSFT_WUOperationsSession$scanResults = Invoke-CimMethod -InputObject $sess -MethodNameScanForUpdates -Arguments @{SearchCriteria="IsInstalled=0";OnlineScan=$true}$scanResults.Update

$scanResults = Invoke-CimMethod -InputObject $sess -MethodNameApplyApplicableUpdatesRestart-Computer

Windowsコンテナの使用

✤Windows Serverコンテナ⎻プロセスと名前空間の分離テクノロジを使用してアプリケーションを分離

⎻ Windows Server 2016 Base with Containers AMIを用意

✤Hyper-Vコンテナ⎻高度に最適化された仮想マシンで各コンテナを実行

⎻ EC2上では実行できない

Windows Serverコンテナの実行

✤Dockerのインストール

✤Dockerコンテナの実行

Install-Module -Name DockerMsftProvider -Repository PSGallery -ForceInstall-Package -Name docker -ProviderName DockerMsftProviderRestart-Computer -Force

docker run microsoft/iis

EC2 Systems ManagerによるDockerの構成

✤AWS-ConfigureDockerとAWS-RunDockerActionの2種類のドキュメントを用意

✤Dockerのインストール

✤Dockerコンテナの実行

$configureDocker = Send-SSMCommand -InstanceId i-xxxxxxxx -DocumentName AWS-ConfigureDocker -Parameter @{‘action’ = 'Install'}

$runDockerAction = Send-SSMCommand -InstanceId i-8a4d9b04 -DocumentName AWS-RunDockerAction -Parameter @{'action' = 'Run';'image'= 'microsoft/iis'}

Windows Server 2016 インスタンスでの Docker コンテナの競合✤Windows Server 2016インスタンスでDockerを実行するためには、”Microsoft Windows Server 2016 Base with Container” AMIを使用する必要がある

✤EC2のインターナルCIDR(172.31.0.0/16)とDocker用のCIDR(172.16.0.0/12)がコンフリクトするのをふせぐためdaemon.jsonで172.17.0.0/16を指定している

Amazon ECS – Windowsコンテナ(Beta)

✤Amazon EC2 Container Service (ECS)でWindowsコンテナをパブリックベータとしてサポート⎻ Amazon ECS Container AgentをGitHub上に公開( https://github.com/aws/amazon-ecs-agent )

⎻ Windowsコンテナを実行するためのCloudFormationテンプレートも提供

✤注意点⎻ Linuxコンテナクラスタとの混在はできない

⎻ タスクのためのIAMロールに追加の設定が必要

⎻ Windows ServerのDockerイメージは比較的大きいためダウンロードにはより多くの時間とストレージ容量が必要

まとめ

✤re:Invent 2016では仮想マシン、コンテナ、サーバーレスなどさまざまな領域にわたって新サービス・新機能を発表

✤Windows Server 2016では従来のデスクトップ環境にくわえてNano Serverやコンテナなどの展開オプションを提供

✤EC2 Systems Managerを使用すると、リモートでのPowerShellスクリプトの実行などさまざまな管理タスクを実行可能