AWS ワークショップシリーズ

App2Container を利用した .NET アプリケーションのコンテナ化

2024-05-01
デベロッパーのためのクラウド活用方法

Author : 小杉 真一郎

AWS に限らず技術を学ぶ一番の方法は「触ってみる」ことですよね ? とはいえ、初心者の方が新しい技術を何もガイダンスなしで触ってみるのは少し難しいかもしれません。ワークショップやハンズオンはそのような時にガイドに沿って「まずは触ってみる」ことができる便利な方法です。そのため、AWS も多くのワークショップを公開していますが、「自分が学びたいことのために何を選んだら良いかわからない」というお声も多く聞くようになりました。

このシリーズではそのような方のために、AWS の技術者がそれぞれおすすめのワークショップを紹介していきます。今回は、ソリューションアーキテクト 小杉 真一郎 による 「App2Container .NET Modernization workshop」のご紹介です。

ワークショップ紹介のその他の記事はこちら

選択
  • 選択
  • 3 時間でマスター !? 位置情報サービス Amazon Location Service 入門 ワークショップ
  • 産業 IoT による工場のデータ収集から可視化まで、AWS Industrial IoT Workshop で一気に体験 !
  • 開発者のためのデータベースサービスの学び方
  • AWS Security Hub を利用したセキュリティ体制の可視化
  • AWS Amplify Gen2 を使ったウェブアプリケーション構築の学び方
  • AI コード生成で開発効率アップ ! Amazon CodeWhisperer ワークショップ
  • データレイク構築の第一歩 ! はじめてのデータレイクハンズオン
  • App2Container を利用した .NET アプリケーションのコンテナ化
  • AWS Well-Architected Framework 持続可能性の柱を学べるワークショップ

このクラウドレシピ (ハンズオン記事) を無料でお試しいただけます »

毎月提供されるクラウドレシピのアップデート情報とともに、クレジットコードを受け取ることができます。 


はじめに

皆さん、ワークショップやハンズオンは好きですか ?

AWS では AWS Summit や re:Invent などで実施されているワークショップを皆さんが後から見て復習したり、ご自身の環境でお試しいただけるように Web ページで公開しています (一部対応していないワークショップもあります)。

AWS Workshops のページにいくとそのようなワークショップを探すことができます。また、日本語のコンテンツは日本の AWS メンバーの有志が JP Contents Hub というページでまとめてくれています。これらを使ってぜひ皆さんの興味や課題に応じたハンズオンを見つけ、勉強のお役に立てていただければ幸いです。


AWS App2Container って何?

AWS App2Container (A2C) は、Java および .NET ウェブアプリケーションをコンテナ形式に移行するためのコマンドラインツールです。

アプリケーションのデプロイと運用を標準化しながら、レガシーアプリケーションをコンテナに移行することが可能です。そしてスゴイのが、ソースが入手できないワークロードもコンテナ化できる、という点です。レガシーなワークロードや、商用ソフトウェアを利用しているケースでは、ソースの入手が難しいケースもあるかと思いますが、そんなワークロードもコンテナ化することができるのです。

さらに、コンテナ化するだけでなく、作成したコンテナを、Amazon ECS にデプロイする際に必要なコンピューティング、ネットワーク、およびセキュリティインフラストラクチャを設定する AWS CloudFormation テンプレートを自動で作成したり、CI/CD 用の AWS CodeStar パイプラインを生成する機能もあります。

今回ご紹介する App2Container .NET Modernization では、 .NET のアプリケーションを対象として、この一連の流れを体験することができます。


こんな人にオススメ !

このワークショップは、「AWS App2Container を利用して、既存の .NET アプリケーションを簡単にコンテナする方法を習得する」ためのワークショップです。特に、こんな人にオススメです。

  • 既存のワークロードをコンテナ化して運用を標準化したい人
  • レガシーな .NET アプリケーションをどうコンテナ化するか悩んでいる人

どんなことを学べるの?

このワークショップでは、「DNN コンテンツ管理システム」 と言うサンプルの ASP.NET アプリケーションを題材にして、下記の 3 つのステップでアプリケーションをコンテナ化し、AWS にデプロイしていきます。

  • 環境の設定
  • アプリケーションのコンテナ化
  • コンテナ化されたアプリケーションのデプロイ(AWS CloudFormation テンプレートを利用)

それでは、いくつかのセクションを具体的に説明してみたいと思います。

環境の設定

このセクションでは、App2Container を利用する際に必要となる、以下の作業を実施します。

  • DNN コンテンツ管理システムが App2Container をインストールするサーバーからアクセスできるように設定
  • App2Container のインストールと設定

App2Container はアプリケーションのインストールされているサーバー上で利用することも、別のサーバーで利用することも可能ですが、後者のように、ワーカーノードを使用してコンテナ化の環境を分けることがベストプラクティスです。セキュリティ面でも機能面でもメリットがあり、コンテナ化プロセスを標準化して簡単にスケールできます。

アプリケーションのコンテナ化

このセクションでは、App2Container が DNN コンテンツ管理システムがインストールされたサーバーにアクセスし、以下の 4 ステップでアプリケーションのコンテナ化を行います。

  • サーバー上で実行されているアプリケーションのインベントリを取得します。
  • 取得されたインベントリから、コンテナ化したいアプリケーションを特定し、分析を行います。
  • 分析結果をもとに、アプリケーションコンテナに何を含めるべきかを判断します。
  • アプリケーションのアーティファクトを抽出し、コンテナ化を行います。

コンテナ化されたアプリケーションのデプロイ

最後に、以下の2ステップで、コンテナ化されたアプリケーションを AWS にデプロイします。

  • App2Container を利用して、デプロイアーティファクトを作成します。これにより、コンテナが ECR に自動的に登録され、自動デプロイメントを行う CloudFormation テンプレートが作成されます。
  • 作成された CloudFormation テンプレートを起動して、ECS にコンテナをデプロイし、正しくデプロイされたこと確認します。

自分で試すには ?

このワークショップを皆さんの手元で実際に試してみることもできます。その場合、ワークショップの冒頭にある「ラボ環境」ページの、「自分の AWS アカウントを使用する場合」タブの中の手順に従い、ご自身の AWS アカウント上にラボ環境を構築してください。環境のセットアップに利用可能な AWS CloudFormation テンプレートをご用意しておりますので、それを使うことで簡単にセットアップできるようになっています。

一方で、いくつかの AWS サービスを利用しますので、AWS 利用料もかかってきます。不要なコストが掛からないよう、試したあとは必ずリソースを削除するようにお願いいたします。


時間やスキルは ?

このワークショップを全て完了させるためには、平均的なユーザーで約 3 時間、上級者の場合は 90 分の時間が必要です。また、スキルについては、基本的な AWS の知識があれば問題なく、.NET または .NET プログラミングのエキスパートである必要はありません。


まとめ

いかがでしたでしょうか ?

この投稿では、開発者の方が、AWS App2Container を使って素早く既存の .NET アプリケーションをコンテナ化する、App2Container .NET Modernization workshop をご紹介しました。

コンテナの利用が一般的となった中で、既存のレガシーな .NET アプリケーションをどうコンテナ化するか、お悩みの方も多いのではないでしょうか。AWS App2Container は、このようなアプリケーションをソースコード不要で、素早くコンテナ化することが可能です。

ぜひ、本稿の内容をお役に立ていただければ幸いです。

ワークショップ紹介のその他の記事はこちら

選択
  • 選択
  • 3 時間でマスター !? 位置情報サービス Amazon Location Service 入門 ワークショップ
  • 産業 IoT による工場のデータ収集から可視化まで、AWS Industrial IoT Workshop で一気に体験 !
  • 開発者のためのデータベースサービスの学び方
  • AWS Security Hub を利用したセキュリティ体制の可視化
  • AWS Amplify Gen2 を使ったウェブアプリケーション構築の学び方
  • AI コード生成で開発効率アップ ! Amazon CodeWhisperer ワークショップ
  • データレイク構築の第一歩 ! はじめてのデータレイクハンズオン
  • App2Container を利用した .NET アプリケーションのコンテナ化
  • AWS Well-Architected Framework 持続可能性の柱を学べるワークショップ

builders.flash メールメンバーへ登録することで
AWS のベストプラクティスを毎月無料でお試しいただけます

筆者プロフィール

小杉 真一郎
アマゾン ウェブ サービス ジャパン合同会社
マイクロソフトワークロード スペシャリスト ソリューションアーキテクト

SIer にて主にマイクロソフトテクノロジーを利用したアプリケーション開発に従事後、ソリューションアーキテクトとして、アマゾン ウェブ サービス ジャパン合同会社に入社し、Micorosft Workload on AWS のスペシャリストとして活動中。
最近は毎日トラブルを引き起こす 3 人の娘の世話に忙殺されている。

AWS を無料でお試しいただけます

AWS 無料利用枠の詳細はこちら ≫
5 ステップでアカウント作成できます
無料サインアップ ≫
ご不明な点がおありですか?
日本担当チームへ相談する