Category Archives: ASP.NET

AWS Elastic BeanstalkのWindows環境からAmazon RDS for SQL Serverに接続する

  これまで、Beanstalkの環境の準備と、RDSの環境の準備を行ってきた。 1、AWS Elastic BeanstalkのWindows環境にASP.NETアプリケーションをデプロイする http://www.cyberarchitect.net/blog/archives/775 2、Amazon RDS for SQL Serverにオンプレミス環境のデータをインポート http://www.cyberarchitect.net/blog/archives/825   今回は、BeanstalkにデプロイしたASP.NETアプリケーションから、RDS for SQL Serverに接続を行う。   1、オンプレミスでデータベースアプリケーションを作成する 今回も、AWSを意識する必要はない。 普通に、employees表にクエリを発行し、GridViewに結果を表示するアプリを作成しておく。   2、web.configの修正 Beanstalkにアプリをデプロイする前に、web.configに記述されているSqlDataSourceのconnectionStringを、RDSに合わせて変更しておく。 サーバエクスプローラーにて、RDS用のデータ接続(今回であればrds.awssampledb.Northwind)を右クリックし、プロパティを実行。 「接続文字列」の文字列をコピーする。 web.configを開き、connectionStringに値をペーストする。パスワード部分は******になっているので、実際のパスワードを入力すること。 <?xml version=”1.0″?> <!– ASP.NET アプリケーションを構成する方法の詳細については、 http://go.microsoft.com/fwlink/?LinkId=169433 を参照してください –> <configuration> <connectionStrings> <add name=”NorthwindConnectionString” connectionString=”Data Source=awssampledb.c0gklmclwhik.us-east-1.rds.amazonaws.com,1433;Initial Catalog=Northwind;User ID=awsdbadm;Password=” providerName=”System.Data.SqlClient” /> </connectionStrings> <system.web> <compilation debug=”false” targetFramework=”4.0″ /> </system.web> </configuration> これで、データベースアプリケーションをBeanstalkにデプロイする準備はできた。   3、アプリケーションのデプロイ Visual Studio上で、デプロイ対象のWebサイトを右クリックし、Publish to AWSを実行。 前回設定したAccountが残っているので、AWS Elastic Beanstalkを選択し、Next。 今回も”Deploy application incrementaly”のチェックははずし、Next。 URL文字列を設定。Next。 Optionsの設定を行う。32bit環境でアプリを作成した場合は、”Enable 32-bit applications”のチェックを忘れないこと。 RDSが起動した状態でデプロイする場合、RDSのSecurity Groupの設定画面が表示される。 defaultをチェックし、Next。 Deployを実行。 Statusが”Environment is healthy”と表示されれば成功。   4、アプリケーションにアクセス ブラウザを開き、アプリケーションにアクセス。 BeanstalkにデプロイしたASP.NETアプリケーションから、RDSのSQL Serverにクエリを発行し、処理結果をブラウザに返すことができた。     これまでは、 サーバを調達・キッティング、ストレージを調達・設定、L2/L3機器を調達・設定、仮想化環境の設定、OSをインストール・設定、IISと.NET Frameworkをインストール・設定、データベースをインストール・設定、インターネット回線とグローバルIPを調達、負荷分散装置を調達・設定、ファイアウォールを調達・設定・・etc ときて、やっとアプリのデプロイまで辿りつけたのだが、BeanstalkとRDSのWindows対応で、インフラ構築工数が相当削減されることがわかる。 今回は単純な環境でテストしたため、手順としては非常に簡単だったが、商用環境の場合、そもそもデータ容量が数百GB~数TBであったり、外部キーやトリガー等の絡みで、データ移行はもっと複雑になる。また、運用等も含めて色々と考えることはたくさんあるため、商用環境での利用の場合、日本のAmazonさんに技術支援を依頼することが必要になると思われる。営業窓口や勉強会等を通じて、Amazonさんとは日頃からリレーションを作るようにしておきましょう。

AWS Elastic BeanstalkのWindows環境にASP.NETアプリケーションをデプロイする

  待ちに待ったElastic BeanstalkのWindows対応が、とうとう現実になった! AWS Elastic Beanstalk の機能性 http://aws.amazon.com/jp/elasticbeanstalk/#functionality   以下を参考に、さっそく試してみました。 【AWS発表】 Amazon RDS for SQL ServerとAWS Elastic Beanstalkによる.NETサポートの発表 http://aws.typepad.com/aws_japan/2012/05/amazon-rds-for-sql-server-and-net-support-for-aws-elastic-beanstalk.html Creating and Deploying AWS Elastic Beanstalk Applications in .NET Using AWS Toolkit for Visual Studio http://docs.amazonwebservices.com/elasticbeanstalk/latest/dg/create_deploy_NET.html なお、アプリの開発環境は、Visual Studio 2010 Ultimate、.NET Framework 4.0.30319、OSはWindows XP SP3を使い、インターネットに接続できる環境でテストした。   1、Elastic Beanstalkの有効化 初めてElastic Beanstalkを利用する場合、AWS Management Consoleの「Elastic Beanstalk」タブにて、サービスを有効化しておくこと。   2、AWS Toolkit for Microsoft Visual Studioをインストール 以下のサイトからToolkitをダウンロードし、Visual Studioを利用しているWindows環境にインストールする。 基本、次へ次へと進めていけばインストールは完了する。 AWS Toolkit for Microsoft Visual Studio http://aws.amazon.com/jp/visualstudio/   3、Visual StudioでASP.NETのアプリを作成する アプリを作成する際、AWSを意識する必要はない。 普通に ファイル→新規作成→Webサイト でサイトを作り、Webフォームを追加する。 今回、Webサイトは”AWSSampleApp”、Webフォームは”HelloAWS.aspx”とした。   4、AWSにアプリをデプロイ Webサイトを右クリックし、「Publish to AWS」を実行する。 アカウント情報を入力する。 AWSにサインアップする際に取得した、アクセスキー、シークレットアクセスキー、AWS アカウント IDを入力する。(参考) Display Nameも入力し、Next。 Accountにデプロイする環境の任意の名称を入力し、RegionはUS Eastを選択。 AWS Elastic Beanstalkを選択し、Next。 Application Detailに名称を入力。 Incremental Deploymentは、後述するがうまく動かなかったため、チェックをはずした。Next。 Environmentの名称を入力。URLは、check availabilityボタンをクリックすると、そのURLが利用可能かどうか判定できる。Next。 Options画面。 Amazon EC2の情報は、自動で入力される。 key pairは事前にAWS Management Consoleで作成しておかないと、自動で選択されない。未作成の場合、AWS Management ConsoleにてEC2タブを選択し、画面左側のNavigationの”Key Pairs”リンクをクリックし、作成しておくこと。 Application Pool Optionは、私の場合32bit環境でアプリを作成したため、”Enable 32-bit […]

64-bit Oracle Data Access Components (ODAC)のインストールでエラー

  64bitのODACを試す。環境はWindows Server 2008R2 Standard Edition(64bit)。 http://www.oracle.com/technetwork/jp/database/windows/downloads/index-214820-ja.html Xcopy版ではなく、ODAC112030_x64.zipを使う。 解凍してsetup.exeを実行したところ、「Could not find the main class. Program will exit.」とエラーが発生し、インストールできない。 インストールログを見ても原因がわからず途方に暮れていたが、試しに.zipをダウンロードし直してもう一回試してみると、すんなりインストールできた。 なんだったのだろう。