Category: Amazon Web Services

Windows環境のAWS CLIでec2 create-tagsができない

  Windows(PowerShell)環境でAWS CLIを使い、EC2インスタンス起動後にタグを付与したい。 バージョンはaws-cli/1.7.7 Python/2.7.9 Windows/7。 普通に、PowerShellのコンソールからcreate-tags実行してるのに、クライアントエラーになる。 なぜタグ付けができんのだ。 PS C:\AWS> aws ec2 create-tags –resources i-xxxxxxxx –tags Key=Name,Value=test A client error (InternalError) occurred when calling the CreateTags operation: An internal error has occurred Linux上ではうまくいくのになぜ・・と思いリファレンスを見直すと、 If you are using Windows PowerShell, break out the characters with a backslash (\), surround them with double quotes (“), and then.

Amazon Linuxにuser data一発でnginx+HHVMをインストール

  Amazon Linux上に、nginx+HHVM環境をつくりたい。 ググると、以下のサイトがヒットし、一目くじけそうになる。 Building and installing HHVM on Amazon Linux 2014.03 シンドい・・。   しかし、もう少しググると、思ったより簡単にできそう。 Amazon Linux これなら、EC2のインスタンス起動時にUser dataにシェルを渡せば、一発でインストールできそう。   Management Consoleにて、「Amazon Linux AMI 2014.09.2 (HVM) – ami-18869819」を利用し、t2.microのインスタンスを起動する。 途中、「Step 3: Configure Instance Details」画面のAdvanced Detailsで、以下のUser dataをAs textとしてコピペする #!/bin/bash -ex cd /etc/yum.repos.d wget http://www.hop5.in/yum/el6/hop5.repo echo ‘priority=9’ >> hop5.repo echo ‘includepkgs=glog,tbb’ >> hop5.repo wget http://yum.sexydev.com/sexydev-amazon.repo yum -y install.

WindowsのAWS CLIでError parsing parameter ‘cli-input-json’: Invalid JSON: No JSON object could be decoded

  Windows環境でAWS CLIを試しているわけですが・・ PS C:\aws> aws ec2 run-instances –cli-input-json ec2-win-parameters.json Error parsing parameter ‘cli-input-json’: Invalid JSON: No JSON object could be decoded JSON received: ec2-win-parameters.json ぬ? ああ、file://スキーマがいるのかと思いつけてみると、 PS C:\aws> aws ec2 run-instances –cli-input-json file://ec2-win-parameters.json Traceback (most recent call last): File “aws”, line 27, in File “aws”, line 23, in main File “awscli\clidriver.pyc”, line 50, in.

Private key authentication has been deprecated from the CLI.

  EC2上でAWSのコマンドラインツールを使うためには、アクセスキー(アクセスキー ID およびシークレットアクセスキー)が必要・・ そんな風に考えていた時期が俺にもありました。   昔、Webの情報を参考に書いたEC2のスナップショットを自動的に取得するスクリプト、今はもう動かないようです。 EBSタイプインスタンスのスナップショット取得、パージを自動化 シェルスクリプトを実行すると、CLIツールが実行できない。 [hogehoge@ip-XXX-XXX-XXX-XXX bin]$ ./create_and_purge_snapshot.sh [creating…] Private key authentication has been deprecated from the CLI. Please refer to the following documentation for more details: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-soap-api.html Private key authentication has been deprecated from the CLI. Please refer to the following documentation for more details: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-soap-api.html 環境変数のEC2_PRIVATE_KEYとEC2_CERT、もう受け付けてくれない模様。 If you are.

AWS Summit Tokyo 2013(Day 2)、クラウド時代のキャリア、人材育成のヒント

  AWS Summit Tokyo 2013、夕方からだったが2日目も行ってきた。 (ちなみに、会場の混雑目覚ましく改善してたよ。こういう改善のスピードが、Amazonさんの持ち味だと思うよ) 最後のパネルディスカッション「クラウドで変わるSI,ISVとエンドユーザーの関係」しか聴けなかったのだが、クラウドで変わる「SI、ISV、ユーザー企業に求められる人材像」に関する話が、特に印象に残った。 パネルディスカッション「クラウドで変わるSI,ISVとエンドユーザーの関係」 モデレータ アマゾン、片山 暁雄さん パネリスト ミサワホーム、宮本 眞一さん(エンドユーザー代表) 日立製作所、中村 輝雄さん(SIer代表) インフォテリア、平野 洋一郎さん(ISV代表)   立場の違いはあるものの、パネリストの皆さんが言われているのは、付加価値を生み出せる人材になろう、そういう人材を育てよう、ということだと思う。商売を作れるエンジニア、情シス担当者になれるか。 AWSのような仕組みが普及してしまうと、一握りの超優秀なエンジニアがいれば、システムができてしまう。多くのエンジニアは、今までと同じやり方では、仕事がなくなる。情シスも、もっと人を減らせ、となる。 ここで、よし、技術力を磨いて、自分も「一握りの超優秀なエンジニア」になろう、というアプローチは、多くのエンジニアにとって、あまり賢いとは言えないと思う。きっと、できないと思いますよ。私を含めて。 だから、「組み合わせができる人材」にならないといけない。 組み合わせは、技術だけの話ではない。問題解決やお金儲けに必要な、会社、人、技術、お金を組み合わせられる人。全部を自分(自社)でやる必要はなく、取り纏め、コーディネートができる人。個々人が、商社的な動きができる、とでも言えばいいのだろうか。 そういう人材が求められている、ということだと思います。 (技術は好きだから追いかけるのやめないよ。それだけではダメ、ということ)   以下、メモ書き。例によって、表現の違いや、抜け漏れはあるかもしれない。 SI、ISV、ユーザー企業に求められる人材像   片山さん クラウドが主流になっていく時代、各社で求められる「ほしい人材」とは。 中村さん 今一番ほしい人材は、「ブローカー」。日立は、なんでも自分で作ってしまうところがある。そういうのはやめていこうと思っている。作るのではなく、「使う」というのも難しい。AWSの使い方ひとつとってもそう。使い方や使いどころを理解するためには、物事の本質を見抜く必要がある。 日立単独で、すべてのお客さんのニーズに対応するのは難しい。だから、エコシステム。パートナーとのお付き合いが重要になる。そこで必要になるのが、ブローカーであり、「ビジネスプロデューサー」。問題解決型の人材も当然必要だが、それに加えて「価値を作れる人」がほしい。そういった人材はなかなかいない。 宮本さん システム部門についても、そういう人(ビジネスを作り出せる人)はほしいが、システム部門に来ない。そういった人材は、システム部門より、営業や経営戦略に置きたがられる。よって、多様な人材が集められるシステム部門を、今後作っていかないといけないと考えている。そのためには、システム部門の人間も、ビジネスの話ができるように変わっていかないと。インフラはAWSなどを利用し、余力を作り、ビジネスに注力する。そういった取り組みが必要。 なお、中村さんが仰った、「エコシステム」には、今後エンドユーザも入っていくようになると思う。運用や、サービス利用の方法、具体的に言うとChefの利用の仕方等は、他社も真似できる。情報を共有できれば、試行錯誤が減る。ビジネスの話に人が入っていけるし、ビジネスに注力できる。そうすることでシステム部門の評価が上がり、社内でいい人材を配置できるようになる。 平野さん ISVの立場から。大事なのは、「”紺屋の白袴”にならない」ということだと思う。クラウド化が進むと、人材リソースも最適化されるようになる。必要な人材が、必要な時に使われ、そして切られるようになる。そこで大事なのが、雇用される人ではなく、「個用される人」になることだと思う。「個用される」とは、一人一人が、「必要とされる人」になること。そうでなければ、役立つ場所を失うことになると思う。  

AWS Summit Tokyo 2013(Day 1)に参加したレポートなど

  初日、行ってきた。 セッションは、エンタープライズトラック、コンシューマートラックを中心に選択しました。 テクノロジーの内容は、普段からAWSのサポート、SAのみなさんに伺える機会があるが、他のユーザさんの生の声は、こういう機会でないとなかなか聞けないため。 参加セッションは以下の通り。 アンデルセンにおけるAWS利用事例紹介 日本経済新聞社によるAWS利用事例紹介 【実録】エンタープライズ AWS ~その時歴史は動いた~ 東急ハンズ におけるAWS利用事例紹介 事例にみる、コンシューマーサービスでのAWSクラウドの使いどころ クラウドファースト企業が実践するAWS活用の実際   AWSへの要望   セッションの中で挙がった、各社さんからの「AWSへの要望」。 これらの要望は、他のAWS利用ユーザさんも抱えられている、共通の課題を含むはずです。 SI屋として、お客さんと一緒になって考えていかないといけない。 ■アンデルセンサービス 堀尾さん メールの機能がほしい。(※おそらく、Amazon SESでは要件を満たせない、ということだと思われる) ジョブ管理、ファイル連携機能がほしい。 コントロールパネルが、エンドユーザにとって難しい。日本語化してほしい。 コントロールパネルで操作できる機能が多すぎる。基本的なサービスだけでよい。 ■日本経済新聞社 東さん ELBはだいぶハマった。ELBでは実現できない要件があった。ELBの機能とパフォーマンスを向上させてほしい。 DynamoDBのパフォーマンスを向上させてほしい。 利用料をもっと安くしてほしい。 円で支払いさせてほしい。非常に切実な要望。プロジェクト開始前にコスト試算した時は、1ドル80円。円安が進み、かなり変わった。為替リスクがある。 ■インテージ (お名前を失念) ドル高にショックを受けた。見積もりがはずれたため、為替リスクをヘッジできる仕組みがあれば。 ■東急ハンズ、ハンズラボ 長谷川さん どんどん世界展開してほしい。もっといろんなリージョンを作ってください。 EDLP(エブリデイ・ロー・プライス)。いつも安くして下さい。競合よりも、圧倒的に安くしてください。他のクラウドサービスと比較検討しなくていいぐらいに。「一番安いんだから、AWSでいいじゃないか」と言えるように。 より簡単に使えるように。例えば、松竹梅の中から選択すると、冗長化や負荷分散がいい感じに設定される、的な。   クラウドファースト企業が実践するAWS活用の実際   パネルは、日経BP中田さんモデレータで、アンデルセン堀江さん、ケンコーコム新井さん、東急ハンズ長谷川さんがパネリスト。 実際にAWSを活用されているユーザさんの生の声が聞けたため、大変おもしろかったです。 (長谷川さんの漫談も・・) 以下、メモします。抜けていたり、表現が変わっていたりするかもしれませんがご容赦下さい。 AWSのよかった点、悪かった点   新井さん よかった点。PoCがめちゃめちゃ簡単。怖いので大きめのインスタンスを選択、安定稼働したら下げる。オンプレミスではできない。いらなくなっても、H/Wだと返せない。 悪かったというか、想定と違ったところ。AWSは新サービスのリリースが頻繁すぎて、社内の人材の習得が追いつかない。 長谷川さん よかった点。柔軟性。データセンタ―レベルの冗長化が簡単。データや、サーバイメージのコピーが簡単。 また、クラウドベンダーのイメージと違い、AWSはサポートが「普通に」対応してくれる。質問したらちゃんと答えが返ってくる。SAの方からも、大変積極的に情報提供してくれるところも評価できる。 悪かった点。POSシステムを導入したところ、VPC内ではマルチキャストができず、POSの時間起動ができなかった。 堀江さん よかった点。コストの桁が違う。夜のバッチ処理のタイミングのみ起動するため、利用料金を抑えることができる。EDIの仕組みをAWS上で実現した際、回線を用意する必要がなかった。EDIの監視は必須なので、サイトロック社やノーチラス・テクノロジーズ社の力を借りている。今のところ、業務が停止するような障害は起きていない。障害起きても、バッチ処理を冒頭からリランすればよい。バッチ処理時間が大幅に短縮できたため、リランしてもバッチウィンドウに収まる。  .

AWS Elastic BeanstalkのWindows環境からAmazon RDS for SQL Serverに接続する

  これまで、Beanstalkの環境の準備と、RDSの環境の準備を行ってきた。 1、AWS Elastic BeanstalkのWindows環境にASP.NETアプリケーションをデプロイする https://www.cyberarchitect.net/blog/archives/775 2、Amazon RDS for SQL Serverにオンプレミス環境のデータをインポート https://www.cyberarchitect.net/blog/archives/825   今回は、BeanstalkにデプロイしたASP.NETアプリケーションから、RDS for SQL Serverに接続を行う。   1、オンプレミスでデータベースアプリケーションを作成する 今回も、AWSを意識する必要はない。 普通に、employees表にクエリを発行し、GridViewに結果を表示するアプリを作成しておく。   2、web.configの修正 Beanstalkにアプリをデプロイする前に、web.configに記述されているSqlDataSourceのconnectionStringを、RDSに合わせて変更しておく。 サーバエクスプローラーにて、RDS用のデータ接続(今回であればrds.awssampledb.Northwind)を右クリックし、プロパティを実行。 「接続文字列」の文字列をコピーする。 web.configを開き、connectionStringに値をペーストする。パスワード部分は******になっているので、実際のパスワードを入力すること。 <?xml version=”1.0″?> <!– ASP.NET アプリケーションを構成する方法の詳細については、 http://go.microsoft.com/fwlink/?LinkId=169433 を参照してください –> <configuration> <connectionStrings> <add name=”NorthwindConnectionString” connectionString=”Data Source=awssampledb.c0gklmclwhik.us-east-1.rds.amazonaws.com,1433;Initial Catalog=Northwind;User ID=awsdbadm;Password=” providerName=”System.Data.SqlClient” /> </connectionStrings> <system.web> <compilation debug=”false” targetFramework=”4.0″ /> </system.web> </configuration> これで、データベースアプリケーションをBeanstalkにデプロイする準備はできた。  .

Amazon RDS for SQL Serverにオンプレミス環境のデータをインポート

  前回、AWS Elastic BeanstalkのWindows環境に、ASP.NETアプリケーションをデプロイする手順を確認した。 AWS Elastic BeanstalkのWindows環境にASP.NETアプリケーションをデプロイする https://www.cyberarchitect.net/blog/archives/775   今回は、データベースアプリケーションをBeanstalkの環境にデプロイする前準備として、Amazon RDS for SQL Serverを起動し、オンプレミス側のSQL Serverのデータを移行する。 なお、今回の手順はVisual Studioを使って実施したが、Visual Studioは必須ではない。SQL Server Management Studioを使ってもデータのインポートはできる。詳しくは、以下のユーザーガイドを参照されたい。 Importing Data to a Microsoft SQL Server DB Instance http://docs.amazonwebservices.com/AmazonRDS/latest/UserGuide/ImportData.SQLServer.html   1、オンプレミス側のデータをエクスポート オンプレミス側のSQL Serverに接続済みのVisual Studioを開き、メニューから、表示→サーバエクスプローラを実行。 データをエクスポートするデータ接続を右クリックし、”Publish to provider”を実行。 なお、今回はSQL Server 2000時代のサンプルデータベースである、Northwindを利用する。Northwindのデータは、マイクロソフトのサイトから.msi形式にてダウンロードできる。 Database Publishing Wizardにて、次へ。 Northwindを選択し、次へ。 スクリプトの保存先を指定し、次へ。 次へ。 完了。 成功すれば、データ移行用の.sqlファイルが作成される。   2、Amazon RDS for SQL.

AWS Elastic BeanstalkのWindows環境にASP.NETアプリケーションをデプロイする

  待ちに待ったElastic BeanstalkのWindows対応が、とうとう現実になった! AWS Elastic Beanstalk の機能性 http://aws.amazon.com/jp/elasticbeanstalk/#functionality   以下を参考に、さっそく試してみました。 【AWS発表】 Amazon RDS for SQL ServerとAWS Elastic Beanstalkによる.NETサポートの発表 http://aws.typepad.com/aws_japan/2012/05/amazon-rds-for-sql-server-and-net-support-for-aws-elastic-beanstalk.html Creating and Deploying AWS Elastic Beanstalk Applications in .NET Using AWS Toolkit for Visual Studio http://docs.amazonwebservices.com/elasticbeanstalk/latest/dg/create_deploy_NET.html なお、アプリの開発環境は、Visual Studio 2010 Ultimate、.NET Framework 4.0.30319、OSはWindows XP SP3を使い、インターネットに接続できる環境でテストした。   1、Elastic Beanstalkの有効化 初めてElastic Beanstalkを利用する場合、AWS Management Consoleの「Elastic Beanstalk」タブにて、サービスを有効化しておくこと。   2、AWS Toolkit for.

Amazon S3を使ってiPadの容量を仮想的に増やす

  ふと、新しいiPadのSafariからAWS Management Consoleが使えることに気付いた。 昔は、コンソールにアクセスはできるけど、使えなかった記憶が。 ちょうど、自炊した書籍のPDFデータの内、「すぐには使わないけど、もしかしたら将来使うかもしれない。使いたくなったら出先でもダウンロードしたい」データをどこに保存しておこうか考えていて、Dropbox、SugarSync、SkyDrive等のクラウドストレージについて比較調査している最中だった。 AWS Management ConsoleがiPadで使えるなら、Amazon S3にデータを保存しておいて、必要になったらデータをダウンロードして、GoodReader等でデータを閲覧すればいいではないか。   PCでAWS Management Consoleを開き、S3にデータをアップロードしておく。複数ファイルの一括アップロードもできる。   iPad側の操作。 iPadのSafariでAWS Management Consoleにログインし、S3を選択。 (※残念ながら、iPadのSafariでAWS Management Consoleにアクセスすると、Safariがよく落ちる・・) ダウンロードしたいPDFを選択し、画面右部のPropertiesをタップ。   PDFデータのプロパティが表示される。試しにLinksをクリックしてみると・・   デフォルトではインターネット上に公開されない設定になっているため、Access Deniedになる。   ダウンロードするには、ダウンロードしたいPDFデータを選択し、Actions→Make Publicをタップ。   インターネットに公開される。GoodReaderでダウンロードするには、Linksに指をあてたままにし、メニューを表示させる。リンクをコピー。   SafariのURLバーにペーストし、URLの先頭に”g”を追記し、実行(例:ghttps://~)。   GoodReaderに自動的に切り替わり、ダウンロード完了後、データを閲覧できる。   ダウンロード後、AWS Management Consoleにて、Make Publicしたデータを非公開に戻しましょう。ダウンロードしたPDFを選択し、画面右部のProperties。Permissionsタブに”Everyone”への権限が追加されているので、削除し、Save。 こんな感じで、割と簡単にiPadの仮想ストレージにできる。 ただ、Make Publicにすると、自分以外にもデータが公開される点がイマイチ。IAMでユーザ作って、そのユーザに権限を割り当てたりしたが、結局うまくいかなかった。やはりAPI利用してアプリ作るしかないか。 [amazon_enhanced asin=”4844329804″ /] なお、Amazon Web Servicesに新規サインアップしたユーザには、S3を1年間無料で使用できる範囲がある。 AWS 無料使用範囲 AWS の無料使用範囲の一環として、Amazon.