4

コンソール アプリと、場合によっては Windows サービス アプリを AWS にデプロイする最善の方法を検討しています。私が CloudFormation について読んだことはすべて、それが進むべき道のように思えますが、私が目にするすべての例は Web アプリケーション用です。Web以外のアプリにCloudFormationを使用できるかどうか知っている人はいますか? もしそうなら、それがどのように行われるかを示すテンプレートの例を知っている人はいますか?

4

3 に答える 3

2

最近、同様の問題がありました。私は実際に、複数の子パッケージとそれらをインストールする runCommand を含むラッパー MSDeploy パッケージをインストールしようとしていました。

私が発見したのは、CloudFormation に渡された MSDeploy パッケージ自体が iisApp パッケージでない限り、AWSDeploy は失敗するということです。調査の結果、AWSDeploy が -setParam:"IIS Web Application Name"="value set in config" を指定して MSDeploy スクリプトを実行し、これが失敗した理由であることが判明しました。

このエラーを回避し、AWSDeploy と CloudFormation を使用して非ウェブサイトを正常にインストールするには、このパラメーターを含む MSDeploy パッケージにパラメーター ファイルをパックするだけです。

これがサンプルファイルです。

<parameters>
  <parameter name="IIS Web Application Name" defaultValue="Default Web Site/" tags="isIisApp" />
</parameters>

その後、次のようにファイルを渡すように、マニフェストまたは contentPath を使用して MSDeploy パッケージを作成できます。

msdeploy -verb:sync -source:contentPath=C:\ConsoleApp\ -dest:package=deploy.zip -declareParamFile=parameters.xml

これを CloudFormation テンプレートで正常に使用できます。サイトを実行していない場合は、インスタンスのヘルス モニタリングを無効にすることを忘れないでください。

于 2013-02-02T22:10:37.237 に答える
1

はい、あらゆる種類のアプリに CloudFormation を使用できます。任意の AMI に基づいてインスタンスを作成できます (Linux インスタンスを使用する場合は、cloud-init を使用してソフトウェアをインストールし、起動時に実行します)。

また、ソフトウェアがプリインストールされた独自の AMI を簡単に作成し、CloudFormation を使用してその AMI に基づいてインスタンスを起動することもできます。

CloudFormation に固有の Web アプリは特にありません。これは、一連の AWS リソースを説明する方法にすぎません。

于 2012-05-04T07:16:49.980 に答える
1

Windows Server EC2 インスタンスを使用しないのはなぜですか? CloudFormation はクラウド リソースを管理するための手段にすぎませんが、古き良き EC2 インスタンス (利用可能なリソースの 1 つ) を引き続き使用しています。

1 つのインスタンスで、コンソール アプリと Windows サービスの両方をデプロイできます。

更新: この記事の情報を使用して現在のアカウントのリソースから CloudFormation テンプレートを生成できます。このようにして、手動で設定してからテンプレートを生成できます。

お役に立てれば

于 2011-10-07T20:35:51.850 に答える