Twitter Facebook github

Category “AWS”

kitchen-ec2でChefレシピをEC2で実行する

お久しぶりです。
最近またAWSのサービスを一通り触ってみていて、プロビジョニングまでAWSマネージドでやってくれるOpsWorksを本番環境で使ってみたいと思い、Chefに取り組んでいます。

Chefにはレシピをローカルのvagrantで簡単に実行・テストできる test-kitchen というgemのツールがあるのですが、
これを初めて使ってみたところ非常に使い勝手がよく、当然ながらEC2でも試したいという気になりました。

今回は test-kitchen からEC2を扱える、kitchen-ec2を使ってみます。

環境

  • 実行元は手元の MBP macOS High Sierra 10.13.5
  • ruby 2.3.3 (rbenv) gem 2.7.2
  • Chef DK 3.0.36 をインストール
  • Test Kitchen version 1.21.2
  • aws-cli/1.11.63 Python/3.5.2

test-kitchen は単体でgemからインストールできますが、Chef DKに付いてくるので真っ新な環境ではこっちを入れた方がよいと思います。

Chef DK
https://downloads.chef.io/chefdk

AWS CLI で認証情報を設定

kitchen-ec2では、AWSの認証情報(APIキーとトークン)は環境変数か、aws-cliの認証情報から読み込むことになります。
今回は既にインストール済みのaws-cliを使っていますが、必要に応じて先に aws configure を行ってAPIキーを登録してください。

参考
AWS CLI の設定
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-chap-getting-started.html

インストールと準備

ChefDKで入れたtest-kitchenにはkitchen-ec2は付いてこないので、個別にgemで入れます。

適当なディレクトリでmetadata.rbを作り、それを元にinitし、
サンプルとして、適当なディレクトリを作成するレシピを用意します。

Read More »

Amazon Linux に php7.1 をインストール

昔の記事 Amazon Linuxで nginx + php7 環境構築 を見返しつつセットアップを進めていたら、どうやら今はphp7.1系がリリースされているとのこと。

基本的に同じremi-php70のリポジトリで7.1のphpも参照できるようなので、特に難しいことはないですが備忘録として簡単にメモ。

nginx、php-fpm 諸々は古い記事をご参考ください。

雑な記事を量産しないようにしたい

Beanstalkでデプロイ対象のファイルを柔軟に制御

前回 AWS Elastic Beanstalk を EB CLI からデプロイする方法について書きました。

この続きとして、今回はデプロイ対象のファイルを柔軟に制御する方法です。

gitと連携した eb deploy を実行した場合、Beanstalk環境にデプロイされるファイルもgitでステージされているファイルとなります。
この場合、.gitignore が存在すると、そのルールに従ってEB CLIがパッケージングを行います。

既存の問題点

何も設定せずとも .gitignore を参照してくれるのは便利な反面、困ったことも起こり得ます。
例えばデータベースへの接続情報やパスワードのソルトなど、セキュリティ上の観点などでgitの管理対象外にしているファイルが実際は存在するのではないでしょうか?

こうしたファイルは実行時には同時にパッケージングしてBeanstalk上にデプロイする必要があるため、gitignoreに含まれている故に無視されてしまっては困ります。

そこで便利なのが .ebignore です

Read More »

Elastic Beanstalk にEB CLIから簡単デプロイ

ごぶさたです。
今趣味で作っているプロダクトのテスト環境を、AWS Elastic Beanstakで実装してみたので備忘録をば。

Beanstalk でのデプロイメント

AWS Elastic Beanstalk (以下EB) で構築した環境へデプロイするには、ソースコード一式をzipに固めたソースバンドルファイルを作成し、マネジメントコンソール等からアップロードします。
この方法ではデプロイの度に手作業でzipアーカイブを作成しなくてはならず、CI環境を構築した自動化を行わない限り、毎回のデプロイに待ち時間が発生してしまいます。

もっと簡単にデプロイするために、今回は gitとEB CLIを使ったデプロイメントを紹介します。

gitを使ったデプロイといえば、SalesforceのHeroku等もPaaSとして有名なのですが、まさにソースバンドルのバージョン管理等も似た感覚で利用できます。Herokuと違い、直接インスタンスへのSSHも可能なので何か問題が発生したときも簡単に対応できます。

Read More »

AWSで Windows インスタンスを使うときのハマリポイント

最近、24時間起動しておきたいスタンドアロンなWindowsアプリがあり、自宅マシンの代わりにAWS上でWindowsインスタンスを使用することにしました。基本的には日常的に使用している手元のMacから使いやすいように設定しました。

Windowsインスタンスにはリモートデスクトップを使ってアクセスすることになるのですが、これが曲者で・・・。日常的に使いやすいようにカスタムしていこうと思います。

Macの場合、App Storeから Microsoft Remote Desktop アプリを使います。執筆時点のバージョンは 8.0.31 です。

日本語のアプリが文字化けする

これは投資に使っているMetaTraderというチャートツールですが、思いっきり化けます。英語版があれば別にいいのですが、国産のアプリなんかで日本語版しか提供されていないと地獄を見ます。

Read More »

Amazon Linuxで nginx + php7 環境構築

以前書いた「nginx + php7 + Lumen な開発環境をVagrantでつくる」をAmazon Linuxに持って行くときの補填記事です。

AmazonLinuxはCentOS 6系ライクだから、EC2に持って行くことを前提とするならVagrantの開発環境も6系で作った方が良かった気がしている。。

ベースは上の記事内で紹介している通りだから、ここではAmazon Linuxで構築するときのコマンドを差分として備忘録に。

nginxはそのままインストール

違いとしては、Amazonのリポジトリがデフォルトで提供してくれているから、nginxのリポジトリをインストールする必要がなくなった。ちょっぴり楽に。

Read More »

キャッシュしないCloudFrontを設置する

タイトルの通りです。

キャッシュしないCloudFrontなんて何に使うの?って感じなんですが、最近 AWS WAF がリリースされたりして、ELBのように前段に挟むだけでも意味があると思っています。

動的コンテンツが多いと恩恵は受けにくいのですが、それでも静的なファイルのみを指定してキャッシュを配信したり、DDoS対策したり…これから新たにウェブサービスのアーキテクティングする際はとりあえず間に噛ませておく、というのが良いと感じています。

Read More »

Amazon WorkDocs(旧Zocalo)を使ってみる

前回は Amazon WorkSpaces をレポしましたが、今回は同様のエンタプライズアプリケーションである Amazon WorkSpaces をレポします!

このサービスは昔、Amazon Zocalo という名前の文書管理サービスとして存在していましたが、いつの間にか WorkDocs という名前に生まれ変わっていました。
Zocaloがプレビューとして提供されていた頃から使ってみたいと思っていたのですが、結局ずっと機会がなく放置していたサービスです。

Amazon WorkDocsとは

ユーザー単位で利用可能なクラウドストレージサービスで、企業向けのDropBoxやGoogleDriveと言えば分かりやすいでしょうか。ファイルならなんでもアップロードすることができ、一般的な形式のファイルはウェブ上でプレビューも可能で、例えば社内の稟議書など書類への承認機能やフィードバックの機能がビルトインされており、企業にとってより便利に利用できるようになっています。

Read More »

Amazon WorkSpacesを使ってみる

今回は仮想デスクトップコンピューティングサービスのAmazon WorkSpacesをレポします。

早速使ってみる

マネジメントコンソールからWorkSpacesをクリックします。

はじめてワークスペースを作る場合、見慣れたこの画面が表示されます。

早速 “Get Started Now” から進んでいきましょう。

Read More »

AWS認定デベロッパーになりました

やったー!AWS認定デベロッパー取ってきました!SysOpsより嬉しい!

先々週の認定ソリューションアーキテクト、先週の認定SysOpsアドミニストレータに続いて、今週は認定デベロッパーになりました。

この記事では本試験について詳しく書いていこうと思います。

Read More »