Onishiお久しぶりです。最近またAWSのサービスを一通り触ってみていて、プロビジョニングまでAWSマネージドでやってくれるOpsWorksを本番環境で使ってみたいと思い、Chefに取り組んでいます。いうgemのツールがあるのですが、これを初めて使ってみたところ非常に使い勝手がよく、当然ながらEC2でも試したいという気になりました。EC2を扱える、kitchen-ec2を使ってみます。DKに付いてくるので真っ新な環境ではこっちを入れた方がよいと思います。認証情報を設定kitchen-ec2では、AWSの認証情報(APIキーとトークン)は環境変数か、aws-cliの認証情報から読み込むことになります。行ってAPIキーを登録してください。設定https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-chap-getting-started.htmlインストールと準備ChefDKで入れたtest-kitchenにはkitchen-ec2は付いてこないので、個別にgemで入れます。kitchen-ec2適当なディレクトリでmetadata.rbを作り、それを元にinitし、サンプルとして、適当なディレクトリを作成するレシピを用意します。見返しつつセットアップを進めていたら、どうやら今はphp7.1系がリリースされているとのこと。基本的に同じremi-php70のリポジトリで7.1のphpも参照できるようなので、特に難しいことはないですが備忘録として簡単にメモ。これらはそのままインストール可能。諸々は古い記事をご参考ください。デプロイする方法について書きました。この続きとして、今回はデプロイ対象のファイルを柔軟に制御する方法です。実行した場合、Beanstalk環境にデプロイされるファイルもgitでステージされているファイルとなります。CLIがパッケージングを行います。参照してくれるのは便利な反面、困ったことも起こり得ます。データベースへの接続情報やパスワードのソルトなど、セキュリティ上の観点などでgitの管理対象外にしているファイルが実際は存在するのではないでしょうか?こうしたファイルは実行時には同時にパッケージングしてBeanstalk上にデプロイする必要があるため、gitignoreに含まれている故に無視されてしまっては困ります。Onishiごぶさたです。Beanstakで実装してみたので備忘録をば。構築した環境へデプロイするには、ソースコード一式をzipに固めたソースバンドルファイルを作成し、マネジメントコンソール等からアップロードします。この方法ではデプロイの度に手作業でzipアーカイブを作成しなくてはならず、CI環境を構築した自動化を行わない限り、毎回のデプロイに待ち時間が発生してしまいます。CLIを使ったデプロイメントを紹介します。gitを使ったデプロイといえば、SalesforceのHeroku等もPaaSとして有名なのですが、まさにソースバンドルのバージョン管理等も似た感覚で利用できます。Herokuと違い、直接インスタンスへのSSHも可能なので何か問題が発生したときも簡単に対応できます。Onishi最近、24時間起動しておきたいスタンドアロンなWindowsアプリがあり、自宅マシンの代わりにAWS上でWindowsインスタンスを使用することにしました。基本的には日常的に使用している手元のMacから使いやすいように設定しました。Windowsインスタンスにはリモートデスクトップを使ってアクセスすることになるのですが、これが曲者で・・・。日常的に使いやすいようにカスタムしていこうと思います。