Amazon CognitoのGetOpenIdTokenForDeveloperIdentityとGetCredentialsForIdentityを使ってみる。

Amazon CognitoのGetOpenIdTokenForDeveloperIdentityとGetCredentialsForIdentityを使ってみたときのサンプルコードのメモ。 Amazon Cognito側でのIdentity Poolの作成は済んでいる前提。getOpenIdTokenForDeveloperIdentity AWSCredentials credentials = …

mod_rewriteを使ってAmazon S3のコンテンツを表示させる

自分で立てたWebサーバから静的コンテンツ(index.html等)を配信していた形を、元々のWebサーバのURLは変えずに、Amazon S3から配信させてみます。(事前にAmazon S3の該当バケットにindex.html等のコンテンツをアップしておきます。)今回は、Amazon Linux…

Amazon LinuxにRedisをインストール

yumを使ってRedisをAmazon Linuxにインストールしてみる。 $ sudo yum --enablerepo=epel install redis redis起動 $ sudo /etc/init.d/redis start redisの情報を確認 $ redis-cli -h localhost info redis_version:2.4.10 redis_git_sha1:00000000 redis_g…

AWS SDK for JavaScriptを使ってS3にダイレクトでファイルをアップロードする

AWS SDK for JavaScriptがリリースされました。これにより、例えばS3にJavaScriptのファイルを配置して、クライアントサイドでJavaScriptを実行、その中でS3へのファイルアップロードの処理を行えば、別途S3へのアップロードを行うためのWebサーバが必要なく…

S3バケット以下の特定のフォルダにのみアクセス可能なIAMユーザをつくる

以下のJSONポリシーをIAMユーザに割り当てることで、examplebucket以下のfolder1にのみアクセス可能でした。 { "Statement": [ { "Effect": "Allow", "Action": ["s3:*"], "Resource": ["arn:aws:s3:::examplebucket"], "Condition":{"StringLike":{"s3:pref…

AWS OpsWorksでのカスタムAMIの利用について

AWS OpsWorksで2013年10月現在サポートされているAMIは、Amazon LinuxとUbuntu 12.04 LTSベースです。これらを素のまま使うこともできますし、事前にEC2コンソールで起動して、必要なパッケージをインストールしておいて、それをOpsWorksで使うこともできま…

OpsWorksで起動されるインスタンスは複数のレイヤーに属することができる

OpsWorksで作成したインスタンスは複数のレイヤーに属することができます。例えばStatic Web Serverレイヤーに属するインスタンスを作成した場合、それにMySQLレイヤーも属させることで、1インスタンスで2つのレイヤーの役割をこなすことができます。ただし…

aws-cliを使ってAutoScaling Groupを作成してみる。

launch-configurationを作成 $ aws autoscaling create-launch-configuration --launch-configuration-name config1 --image-id ami-39b23d38 --instance-type t1.micro --key-name ap-northeast 作成結果を確認 $ aws autoscaling describe-launch-configur…

Amazon Linux 2013.03にデフォルトでインストールされているAWS CLIにhelpが入ってない。

https://forums.aws.amazon.com/thread.jspa?messageID=449307 こちらのディスカッションフォーラムにもあるように、Amazon Linux 2013.03にはaws-cliのhelp(manual entry)が入っていないです。 $ aws --version aws-cli/0.9.3 Python/2.6.8 Linux/3.4.43-43…

AWS CLIを使ってTagの値のみを取得する

AWS CLIを使って、以下のように割り当てられたインスタンスのTagの値のみ(今回はWordPress)を取得します。 今回はAmazon Linuxを使うので、AWS CLIのインストール方法は割愛します。# Amazon Linux 2013.03に入っているデフォルトのaws-cliを使いました。…

AWS Security Token Serviceを使ってみる

AWS SDKやAWSコマンドラインツールを使う場合、Security Credentialsが必要になります。Security Credentialsの中にはアクセスキーとシークレットアクセスキーが含まれています。AWSのサービスやリソースをAPIを使って管理するときには、この2つのキーを使…

DynamoDBでscanを実行してみる

DynamoDBのテーブル名が SampleTable, AttributeがIdとNameのみのテーブルに対してScanを実行した。AWS SDK for Javaで以下のように実行してみた。 import java.io.IOException; import java.util.Arrays; import java.util.HashMap; import java.util.Map; …

AWS OpsWorksで起動されたインスタンスの中身を見てみる

AWS OpsWorksを使ってHAProxyのレイヤーを追加し、HAProxyインスタンスを立ち上げてみる。自分のkeypairを使うように設定すれば、SSHでログインすることができる。早速ログインしてみる。 ec2-userでログインができた。OpsWorksの動作に関連しそうなものは以…

Amazon LinuxにZabbix 1.8.16をインストール

Amazon Linux 2012.09にZabbix 1.8.16をインストールしました。そのときに以下のページを参照させて頂きました。 http://dev.classmethod.jp/cloud/aws/zabbix1_8_15-on-amazon-linux/

Amazon RDS(MySQL)のログファイル出力について

Amazon RDSでログファイルにアクセス可能になりました。【AWS発表】Amazon RDS - より簡単にログファイルにアクセス可能に今まではRDS MySQLのgeneral logなどはRDSのテーブル内に出力していました。 上記機能により、テーブルではなくファイルのみに出力さ…

GitマスターサーバをAmazon Linuxにインストールしてみる

Gitマスターサーバにgitをインストールする。 $ sudo yum install git git-all git-daemon $ git --version git version 1.7.4.5 xinetdを使ってgitサーバを起動する sudo /etc/init.d/xinetd start gitの設定ファイルでdisable = no に変更 sudo vi /etc/xi…

ElastiCacheを使ってみる

Amazon ElastiCacheはインストール、構築不要のmemcachedクラスタ。 現状はMemcached 1.4.5, 1.4.14 に対応しているようです。使ってみて気づいたことは以下です。 ElastiCacheへはEC2(VPC)インスタンスからのみアクセスが可能。 ElastiCacheのセキュリティ…

好きなドメイン名でS3のオブジェクトにアクセスさせる

S3で静的なWebホストが出来ることは周知の事実ですが、そのURLが xxxxxx.s3-website-ap-northeast-1.amazonaws.com といった形で、S3にホストしていることがユーザーさんにもわかってしまっていました。S3を使っているのがわからないようにしたい!という場…

Route 53でELBと通常のサーバをアクセス分散させてみる

下記のような構成をRoute 53の重みづけラウンドロビンでアクセス分散できるか試しました。 結果としては、アクセス分散できます。ただ1点注意が必要なのは、Route 53でELBにエイリアス機能を使ってアクセスを割り振る場合に、TTLの値をRoute 53側で現状セッ…

Route 53で重みづけラウンドロビンしてみる

前回シンプルなDNSラウンドロビンを試したので、今回はWeighted (重みづけ)ラウンドロビンをRoute 53で実行してみる。AWS Management Console上では以下のように設定した。 注意事項としては、Set IDのところに異なるIDを入れること。 あとは、TTLの値を小さ…

Route 53でアクセスを分散させてみる

Amazon Route 53でアクセスを分散させてみます。 通常のDNSサーバで出来るように、Route 53でもホスト名を使って、ラウンドロビンでアクセスを分散できます。その方法は、AWS Management Consoleを使って、 一つの名前に複数のIPアドレスを割り当ててみます…

Elastic Transcoderを使ってみる

トランスコーダにより、動画ファイルをエンコードして、解像度などが異なる形式に変換できる。今回発表されたElastic Transcoderは、その面倒な処理を簡単に引き受けてくれて、しかもその処理自体をスケーラブルに実行できるというもの。早速使ってみる。AWS…

HAProxyを使って複数のRDS MySQLへ負荷分散させてみる。

今回は、バックエンドのRDSの中身が異なるものを使うことで、違うRDSに接続していることを確認したい。 RDS Read Replicaだと、すぐにDBの中身が同期されてしまい、中身が同じになってしまう。 ので、敢えて異なるRDS2つを立ち上げて、それらの全面にhaprox…

AWS CLIを使ってみる。

新しいAWS CLIが出ていたので試してみました。(2013/02/08現在)Amazon Linuxで以下の手順でインストールしてます。 sudo easy_install awscli 次にawscliconfig.txtを作成して、以下のように書き込みます。 aws_access_key_id = AKIAJFLJI2KDXLJIYVCA aws_…

EC-CubeをEC2上でインストールしてみる

AWS

以下のサイトを参考にインストールしましたので、そのリンクだけ載せておきます。 http://blog.serverworks.co.jp/tech/2012/03/14/ec-cube-on-aws-install/ https://gist.github.com/2027612

EBS Snapshot Copy CLIを使ってみる。

コマンドラインでEBS Snapshot Copyを使ってみました。 今回はWindows環境で実行してます。EC2コマンドラインツールの最新版をダウンロードして、AwsCredentials等もろもろの設定をします。注意が必要なのが、EBS Snapshot Copyはpull形式であること。つまり…

Billing Report (CSV)の内容を確認してみる

「Programmatic Billing Access」によって、S3に出力されたBilling Report(CSV)の中身を確認してみました。 その一例が以下です。 ProductCode UsageType Operation UsageQuantity TotalCost AmazonEC2 APN1-BoxUsage.t1.micro RunInstances 1097 29.62 t1.m…

Programmatic Billing Accessを使ってみる

今回はAWSのBilling(請求書)に対して、プログラムからアクセスする方法を紹介します。AWSのBillingの情報が含まれたCSVファイルが、ユーザーが指定したS3 bucketに出力されます。そのCSVファイルをS3から取得して、中身の情報を確認するという方法です。 …

EBS Snapshot Copyしたものを使ってAMIを作成、起動してみる

前回のの「EBS Snapshot Copyを使ってみる」の応用で、リージョン間でコピーしたSnapshotを利用して新たにAMIを作成、起動してみました。本来であれば、こちらのページにありますように、リージョン間のAMIコピー機能がリリースされるとのことなので、それを…

EBS Snapshot Copyを使ってみる

AWSブログで「リージョン間のスナップショットコピーが可能に!」という記事が出ていましたので、早速試してみました。今回は、以下の順番で確認してます。 東京リージョンで空のEBSボリュームを作成 EBSボリュームをEC2インスタンスにattach EC2インスタン…