Amazon Web Services ブログ

AWS における Microsoft Windows の広大な世界

2008年以来、AWS における Microsoft Windows を実行することが可能となりました (古い記事、Amazon EC2 の Big Day: プロダクション、SLA 、Windows 、および 4 つの新機能がこの 10 年間以上でどれほど AWS が進歩したかを示しています)。IDC によると、AWS は次に大きいクラウドプロバイダーの約 2 倍近い Windows Server インスタンス を持っています。

今日では、AWS はクラウドにおいて Windows および Windows アプリケーションを実行するのに最適な場所であると考えています。20 箇所の AWS リージョンで 61 個のアベイラビリティーゾーンを活用しながら、Active Directory、SQL Server、System Center など、AWS でフルスタックの Windows を実行できます。既存の .NET アプリケーションを実行することができ、また AWS SDK for .NET を使用して Visual Studio または VS Code を使用した新しいクラウドネイティブの Windows アプリケーションを構築できます。

Windows の広大な世界
同僚の Jerry Hargrove 氏が描いた、この素晴らしい図から順に Windows-on-AWS エコシステムについて詳細を調べてみたいと思います。

1 – SQL Server のアップグレード
AWS は、各エディションの複数のバージョンと共に 4 つのエディション (Express 、Web 、Standard、および Enterprise) を網羅した SQL Server のファーストクラスサポートを提供します。この幅広いサポートにより、SQL Server は AWS 上で最も人気のある Windows ワークロードの 1 つになりました。

SQL Server アップグレードツール (AWS Systems Manager スクリプト) を使用することで、SQL Server 2008 R2 SP3 を実行している EC2 インスタンスを SQL Server 2016 に簡単にアップグレードできます。このツールは、実行中のインスタンスから AMI を作成し、その AMI を SQL Server 2016 にアップグレードして新しい AMI を起動します。詳しくは、「 AWSEC2-CloneInstanceAndUpgradeSQLServer アクションについて」をお読みください。

Amazon RDS を使用して DB インスタンスを SQL Server への新しいメジャーまたはマイナーバージョンに簡単にアップグレードできます。このアップグレードはインプレースで実行され、数回のクリックで開始できます。例えば、現在 SQL Server 2014 を実行している場合は以下のアップグレードを入手できます :

また、ご希望のメンテナンス期間内に行われる新しいマイナーバージョンへの自動アップグレードにオプトインすることもできます。

プロダクション DB インスタンスをアップグレードする前に、スナップショットバックアップを作成します。また、それを使用してテスト DB インスタンスを作成し、そのインスタンスを目的の新しいバージョンにアップグレードして、受け入れテストを実行できます。アップグレードの詳細については、「 Microsoft SQL Server DB エンジンのアップグレード」を参照してください。

2 – Linux での SQL Server
ユーザーの組織が Linux を好む場合は、Ubuntu 、Amazon Linux 2 または Red Hat Enterprise Linux 上で当社のライセンス込み (LI) Amazon Machine Images を使用して、 SQL Server を実行できます。最新の発表アナウンスメントを読むか、または EC2 Launch Instance Wizard を使用して、 AWS Marketplace で AMI を検索してください。

Windows のライセンスを購入は不要のため、非常に費用対効果の高い方法です。

新しい再プラットフォーム化ツール (別の AWS Systems Manager スクリプト) を使用して、既存の SQL Server データベース (2008 年以降、クラウドまたはオンプレミスのいずれか) を Windows から Linux に移行できます。

3 – Always-On アベイラビリティーグループ (Amazon RDS for SQL Server)
Amazon RDS (当社のマネージドデータベースサービス) でエンタープライズクラスのプロダクションワークロードを実行している場合は、この機能を必ず有効にしてください。 1 つのプライマリインスタンスともう 1 つのホットスタンバイで、2 つの AWS アベイラビリティゾーン間でのデータベースを複製し、計画的なメンテナンスやサービスの中断が発生した場合に迅速かつ自動的にフェイルオーバーすることで、可用性と耐久性を高めます。既存の DB インスタンスに対してこのオプションを有効にすることができ、また新しい DB インスタンスを作成するときにこれを指定することもできます。

詳細については、「 Microsoft SQL ミラーリングを使用したマルチ AZ 配置または常時接続 」を参照してください。

4 – Lambda サポート
開発者向けの機能についてお話しましょう。

2014 年の発表以来、継続的な革新の対象となっている AWS Lambda を使用すると、サーバーを所有、管理、または考慮する必要がなく、クラウド上でコードを実行できます。Lambda 関数では、いくつかの .NET Core ランタイムを選べます。そして、C# または PowerShell でコードを書くことができます。

詳細については、「 C#の操作」および 「 PowerShell の操作」(「AWS Lambda 開発者ガイド」) を参照してください。コードは AWS サービスのフルセットへのアクセス、また AWS SDK for .NET の利用が可能です。詳細については、「 .NET Core AWS Lambda 関数の開発」の投稿をご覧ください。

5 – CDK for .NET
AWS CDK for .NET (クラウド開発キット) を使用すると、クラウドインフラストラクチャをコードとして定義してから、AWS CloudFormation を使用してデプロイすることができます。例えば、( この記事から盗まれた) このコード は、Amazon Simple Queue Service (SQS) キューと Amazon Simple Notification Service (SNS) トピックを作成するテンプレートを生成します。

var queue = new Queue(this, "MyFirstQueue", new QueueProps
{
    VisibilityTimeoutSec = 300
}
var topic = new Topic(this, "MyFirstTopic", new TopicProps
{
    DisplayName = "My First Topic Yeah"
});

6 – EC2 AMIs for .NET Core
.NET Core を利用した Linux アプリケーションを構築している場合は、Amazon Linux 2 と Ubuntu AMI を使用できます。.NET Core 、PowerShell Core 、およびAWS Command Line Interface (CLI) がプリインストールされているので、数分で起動および実行することができ、アプリケーションをデプロイする準備が整います。EC2 インスタンスを起動したときにコアを検索することで AMI を見つけることができます。

7 – .NET Dev Center
AWS .NET Dev Centerには、AWS 上での .NET アプリケーションの設計、構築、および実行を行う方法を学ぶのに役立つ資料が含まれています。記事サンプルコード10 分間のチュートリアルプロジェクトなどがあります。

8 – AWS License Manager
我々は新しい方法でユーザーの Windows と SQL Server アプリケーションの管理および最適化を手助けいしたいと思っています。例えば、AWS License Manager を使用してクラウドまたはオンプレミスで稼働しているソフトウェアのライセンスを管理できます。 (詳細については、「新しい AWS License Manager – ソフトウェアライセンスの管理とライセンスルールの適用」をご参照ください。)ライセンス契約のルールを模倣するするカスタムルールを作成し、EC2 インスタンスの起動時にこれらを強制することができます。

また、License Manager はライセンスの利用状況に関する情報も提供します。これにより、廉価にライセンスポートフォリオを微調整できます。

9 – インポート、エクスポート、および移行
コードとデータを AWS に出し入れする場合、たくさんのオプションと選択肢があります。以下は簡単な概要です。

TSO Logic – この AWS ファミリーの新メンバー (弊社は今年初めにこの会社を買収しました) は、クラウドへの導入段階にユーザーが計画、最適化、そしてコストを削減するのをサポートする分析ソリューションを提供します。

VM Import/Export – このサービスを使用すると、既存の仮想マシンイメージを EC2 インスタンスにインポートし、それらをオンプレミス環境にエクスポートすることができます。詳細については、「 VM Import/Export を使用してイメージとして VM をインポート」をご参照ください。

AWS Snowball – このサービスは、ペタバイト規模のデータセットを AWS に対して双方向で転送可能にします。エクサバイトの場合は、AWS Snowmobile をチェックしてください。

AWS Migration Acceleration Program – このプログラムには、AWS プロフェッショナルサービスおよびパートナーのチームが含まれます。これは、準備状況の評価、計画段階、および実際の移行を含む 3 段階の移行モデルに基づいています。

10 – 21 世紀のアプリケーション
AWS は、フル機能を備えた強固な基盤と豊富なサービスセットを提供するため、明日のアプリケーションを今日のうちに構築できます。 Lambda で .NET Core サポートを使用してサーバーレスにしたり、Windows 用 深層学習 AMI を利用したりすることが可能です。また、Amazon ECS または eks] でコンテナ化されたアプリをホストしたり、最新の AI 搭載サービスを利用するコードを書くこともできます。推奨事項予測画像分析ビデオ分析テキスト分析文書分析テキスト読み上げ翻訳転記などをアプリケーションで活用できます。

11 – AWS の統合
クラウドベースとオンプレミスの両方の既存の Windows アプリケーションは、AWS 内の Windows ファイルシステムとディレクトリサービスを利用できます。

Amazon FSx 用 Windows Server – この完全に管理されたネイティブ Windows ファイルシステムは、SMB プロトコルと NTFS との互換性があります。高速で信頼性の高いパフォーマンスを実現するために、SSD ストレージに裏打ちされた Windows アプリケーション用の共有ファイルストレージを提供します。詳細については、ブログ記事をご覧下さい。

AWS Directory Service – ディレクトリ対応ワークロードおよび AWS Enterprise IT アプリケーションは、AWS クラウドで実行されている管理された Active Directory を使用できます。

チームに参加する
Windows 市場向けに新しい AWS 製品を構築、管理、または市場に投入する場合は、必ず我々の新着情報を確認してください。事例の一部をご紹介します。

シニアデジタルキャンペーンマーケティングマネージャ – 製品の認知度を高めるためのデジタル戦略を所有し、採用キャンペーンを実施します。

シニアプロダクトマーケティングマネージャー – コミュニケーションとマーケティングを推進し、説得力のあるコンテンツを作成し、そして意識を高めます。

開発者支持 – EC2 上 の SQL Server の採用とコミュニティの参加を促進します。

詳細
新しく更新された AWS での Windows および AWS での SQL Server のページには、ケーススタディ、クイックスタート、その他の有用な情報が多数含まれています。

Jeff;