Cognito Identity PoolsのUnauthenticated Identity(認証されていないID)を使ってS3へアップロードする

実現するのは以下のイメージです。 JavaScriptを使って、Cognito Identity Poolから必要なトークンを取得、トークンに含まれる一時的な認証情報を使って、S3へファイルをアップロードします。 前提条件 AWSアカウントは作成済み S3バケットを作成済み スクリ…

AWS Systems Managerでパッチコンプライアンスのステータスを確認する

AWS Systems ManagerのエージェントをWindows EC2インスタンスにインストール済みで、マネージドインスタンスとして確認がとれているインスタンスのパッチコンプライアンスのステータスを確認してみたいと思います。以下のi-0fc8232827e0748d1のマネージドイ…

AWS Systems ManagerでAWS-RunPatchBaselineをRun Commandで実行して、Windowsインスタンスにパッチを適用する

以前の記事にあるように、EC2 WindowsインスタンスをAWS Systems Manager(SSM)のマネージドインスタンスとして登録してあるのを前提とします。本記事では、このWindowsのマネージドインスタンスにSSMのRun CommandでAWS-RunPatchBaselineを実行してみます。A…

Windows Server 2016 AMIを起動して、AWS Systems Managerでマネージドインスタンスとして管理する

AWSから提供されているWindows Server 2016のAMIには、デフォルトでAWS Systems Managet(SSM)のエージェントがインストールされています。SSMエージェントのパスは以下です。 C:\Program Files\Amazon\SSM\amazon-ssm-agent.exe SSMエージェント用のIAMロー…

AWS Systems Managerでインベントリを実行して、/home/ec2-user以下にある*.txtファイルを確認、さらにカスタムインベントリで独自メタデータも登録・確認してみる。

事前にEC2インスタンスにSSM(Systems Manager)エージェントをインストール済みとします。まずはAWS Systems Managerのマネージメントコンソールにて、Inventoryを選択して、セットアップインベントリを選択します。 「インスタンスの手動選択」にて、該当す…

AWS Systems ManagerでサンプルのAutomation Documentを作成・実行してみる(3)~承認のステップを追加~

前回のメモでは、AWS Systems ManagerのAutomation Documentにて複数ステップを実行しました。今回はそのDocumentをベースに、承認のステップを追加します。分かりやすさのため、前回のAutomation Documentでの「ファイル削除」のステップは割愛します。今回…

AWS Systems ManagerでサンプルのAutomation Documentを作成・実行してみる(2)~複数ステップ実行 & ステップ実行エラー時の動作確認~

前回のメモでは、AWS Systems ManagerでAutomation Documentのサンプルを作成しましたが、実行ステップ数が1個のみだったので、今回は複数ステップで実行してみます。新規Automation Documentを作成します。名前はMySampleAutomationDocument2、ドキュメント…

AWS Systems ManagerでサンプルのAutomation Documentを作成・実行してみる(1)

AWS Systems Managerで自作で簡単なAutomation Documentを作成してみたので、そのメモです。Systems Managerエージェントは既にAmazon LinuxベースのEC2インスタンスにインストール・動作済みで、Managed Instanceとして動作済みの前提とします。まずは、AWS…

AWS CodeBuildで internet connectivity error になる件について

AWS CodeBuildで毎回Provisioningでfailedになり、エラーメッセージを見ると"Build does not have internet connectivity. Please check subnet network configuration."と表示されていました。VPCのサブネットはpublic subnetを選択していて、Route tableも…

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アドレスを割り当ててみます…