問題タブ [aws-opsworks]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
142 参照

caching - キャッシング デーモンはどこに置くべきですか?

TL;DR - セッション ストレージ用の単純なキャッシュ クラスター (memcache または redis を使用) は、アプリのサーバー (つまり、nginx および php と共に) または独自の個別の ec2 インスタンス (elasticache またはカスタマイズされた ec2 インスタンスなど) に存在する必要がありますか?

現在、Amazon OpsWorks を使用してウェブアプリのインフラストラクチャをセットアップしています。私は、独自の ec2 インスタンスとしてではなく、アプリ層自体にインストールされた memcache インスタンスを介してセッション キャッシュを実装することに傾いています。例えば:

対。

ここでの長所と短所は何ですか?私には後者の解決策は不必要に思えますが、非常に大きなセッション キャッシュを持つトラフィックの多い Web サイトでこれが必要になる可能性があることは理解できます。

nginx/php アプリ サーバー スタックと一緒に redis や Elasticache を実行したくない理由はありますか? おそらく、自動スケーリングまたはパフォーマンスの監視がより難しくなりますか?

0 投票する
1 に答える
354 参照

php - Where does aws opsworks deploy to by default?

Let's say we have a laravel app that is deployed from a github repository.

What I can't seem to find any documentation for is where the applications source code is deployed to on the filesystem?

We are using PHP5.5 features in our code so our PHP App Server is a custom layer based off an AMI.

I need to setup an apache vhost that points to the application, but I can't do this if I don't know where it get's deployed to!

0 投票する
1 に答える
1523 参照

php - OpsWorks / Chef PHP デプロイ プロセス

OpsWorks を使用して単純な PHP アプリケーションを確実にデプロイすることに深刻な不満を感じています。srv/www/app-name/releasesディレクトリの管理方法に関するドキュメントが見つかりませんが、それが現在の問題の原因である可能性があると思います。

私は Laravel アプリケーションをデプロイしているので、デプロイ時に Chef レシピで 2 つのことを行う必要があります。composer のインストールと、いくつかのディレクトリを書き込み可能にすることです。Composerは正常にインストールされているようですが、ディレクトリを作成してchmodする私のレシピは以前のリリースで発生したようです-これは私にはまったく意味がありません.

コンポーザーをインストールします。

これは問題なく動作します。これを実行すると、依存関係が表示されるため、ベンダー ディレクトリを更新できます。しかし、次に実行するレシピは次のとおりです。

からのコンテンツChef::logはログに表示されますが、エラーはありませんが、ディレクトリは単純にそこにありませんrelease/timestamp。このレシピの期間中に「現在の」シンボリックリンクが元に戻ったかのように、それらは PREVIOUS ディレクトリに作成されます。また、権限「411」で作成されます。

ここで私が間違っている場所を誰かが説明できますか? 「現在の」シンボリック リンクを使用する代わりに、新しいディレクトリ パスにアクセスできますか?

0 投票する
1 に答える
212 参照

php - OpsWorks の組み込みレシピはどのようにバージョン管理されますか?

OpsWorks でスタックをセットアップするとき、スタックは現在のビルトイン クックブックのバージョンに固定されますか?それとも、ライフサイクル イベントがトリガーされるたびに最新バージョンを使用しますか?

カスタム クックブックの場合、OpsWorks は毎回最新バージョンをフェッチするのではなく、提供されたレシピをキャッシュすることを理解していますが、組み込みのクックブックについても同じことが当てはまるかどうか疑問に思います。

私はいくつかの理由でこれについて心配しています。クックブックが更新されて、別のバージョンの Apache または PHP がインストールされたり、デフォルト設定がわずかに変更されたりした場合はどうなりますか? その後、古いレシピが使用されていたレイヤーに新しいインスタンスをセットアップし、構成がわずかに異なる複数のサーバーになってしまったらどうなりますか?

また、どの PHP5 バージョンがインストールされるかをカスタマイズする方法がないように見えるので、最新の安定バージョンを使用するという ubuntu パッケージ マネージャーの決定に翻弄されているのでしょうか?

最新かつ最高のソフトウェア バージョンを引き続き使用したいのですが、アプリケーションが新しいバージョンで動作することをテストできた後、自分の時間にそれらを展開したいと考えています。

0 投票する
2 に答える
490 参照

php - opsworks を使用した展開で、特定のレイヤーの最初のインスタンスのみでコマンドを実行する方法は?

aws opsworks に Laravel アプリケーションをデプロイしています。すべて問題なく動作していますが、他に 2 つのことを行う必要があります。

1) 各デプロイメントでphp artisan migrate、データベースの更新をインストールするために実行します。
2) 実行したいファイルの各行に、クラス名のリストを含むファイル (app/database/run.list) がありますphp artisan db:seed --class={line from file}。例えば

run.list を含む

私たちは走りたい

その部分はそれほど難しいものではありません (私は最後の部分で少し立ち往生していますが)。私が立ち往生している部分は、特定のレイヤー (php-app レイヤー) の最初のインスタンスでのみこれを実行したいということです。

明らかに、すべてのインスタンスに対してデータベースをシードする必要はありません。

これを自動化する方法はありますか、それとも別のレシピを作成し、デプロイ後にインスタンスでこのレシピを手動でトリガーする必要がありますか?

0 投票する
1 に答える
241 参照

ruby - OpsWorks でスタンドアロン プログラムを実行するにはどうすればよいですか?

簡単な答えがあると確信しています。このプログラムは実行可能な jar ファイルであり、そのためのシェル スクリプト ラッパーがあります。

  • OpsWorks が S3 から配布用の zip ファイルを取得します
  • それを解凍して、次の場所にあるスクリプト ファイルを実行しようとしています。bin/run_server.sh

私は現在、「その他」タイプのレイヤーで実行される、カスタムデプロイレシピを作成する道を進んでいます。

これが私の試みです:

これは、 が見つからないと主張して失敗しますbin/run_server.sh

前もって感謝します。

0 投票する
3 に答える
13223 参照

ruby - シェフの属性「文字列から整数への暗黙的な変換はありません」

データベース構成ファイルを作成するだけのシェフのレシピを書いていますが、属性にアクセスするだけで困惑しています。私はいくつかの PHP アプリケーションを各インスタンスにデプロイしており、OpsWorks は全員に同じレシピを使用しているため、属性ファイルにはいくつかの異なる設定があります。

属性/データベース設定.rb

レシピ/データベース設定.rb

私が得ているエラーはですno implicit conversion of String into Integer。考えられるあらゆる方法で設定を作成してアクセスしようとしました...

ここで私が間違っていることは明らかですが、考えられることはすべて試しましたが、これを機能させる方法が見つからないようです?! 理想的には、可能な場合は変数を使用したいのですが"api"、if/else を使用しても 3 つのアプリではそれほどひどいことにはなりません...

0 投票する
1 に答える
2176 参照

amazon-web-services - AWS Opsworks で EC2 タグを設定する方法

スタックをセットアップするために、さまざまなコミュニティ クックブックを使用してきました。

AWS Opsworks がいくつかのタグ (スタック名、レイヤー名) を設定していることは承知していますが、自分でいくつかのタグを設定する必要があります。

Opsworks API を介してそれらを設定する方法はないようです。そのため、クックブック/レシピを使用して何らかの方法で設定する必要があると仮定します。

そうするための既存の方法/クックブックはありますか、それともシェフを学ぶ必要がありますか?