Category: Amazon Web Services

aws : C:\Program Files\Amazon\AWSCLI\.\dateutil\parser.py:428: UnicodeWarning

  EC2のWindows環境を作っているのですが、AWS CLI実行時にUnicodeのWarningが出るのなんとかしてもらえませんかねえ。 aws : C:\Program Files\Amazon\AWSCLI\.\dateutil\parser.py:428: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode – interpreting them as being unequal At C:\Data\bin\win_dir_sync_to_s3.ps1:26 char:1 + aws s3 sync –delete C:\Data\Work s3://hoge/to/folder + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (C:\Program File…s being unequal :String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError   先人の知恵を借り、対応としてPythonのpin経由でのインストールを行う。 先ずは「AWS Command.

aws : C:\Program Files\Amazon\AWSCLI\.\dateutil\parser.py:428: UnicodeWarning

  EC2のWindows環境を作っているのですが、AWS CLI実行時にUnicodeのWarningが出るのなんとかしてもらえませんかねえ。 aws : C:\Program Files\Amazon\AWSCLI\.\dateutil\parser.py:428: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode – interpreting them as being unequal At C:\Data\bin\win_dir_sync_to_s3.ps1:26 char:1 + aws s3 sync –delete C:\Data\Work s3://hoge/to/folder + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (C:\Program File…s being unequal :String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError   先人の知恵を借り、対応としてPythonのpin経由でのインストールを行う。 先ずは「AWS Command.

aws : C:\Program Files\Amazon\AWSCLI\.\dateutil\parser.py:428: UnicodeWarning

  EC2のWindows環境を作っているのですが、AWS CLI実行時にUnicodeのWarningが出るのなんとかしてもらえませんかねえ。 aws : C:\Program Files\Amazon\AWSCLI\.\dateutil\parser.py:428: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode – interpreting them as being unequal At C:\Data\bin\win_dir_sync_to_s3.ps1:26 char:1 + aws s3 sync –delete C:\Data\Work s3://hoge/to/folder + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (C:\Program File…s being unequal :String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError   先人の知恵を借り、対応としてPythonのpin経由でのインストールを行う。 先ずは「AWS Command.

Elastic BeanstalkのDockerrun.aws.jsonファイル内のイメージ名指定方法

  最近(今日から)、Elastic BeanstalkのDockerランタイムで遊びはじめている。 公式ドキュメントによれば、公開されたDockerリポジトリからイメージを引っ張ってくるためには、Dockerrun.aws.json ファイル内で、 Docker コンテナを作成するときにベースとなる既存の Docker リポジトリの Docker ベースイメージを指定します。Name キーの値を、Docker Hub のイメージの場合は / 形式、その他のサイトの場合は // 形式で指定します。 とのことである。 Docker Hubでイメージを検索し、例えばghostのイメージだと、 な感じなわけだから、Dockerrun.aws.jsonファイルの記述は例えば { “AWSEBDockerrunVersion”: “1”, “Image” : { “Name” : “ptimof/ghost” }, “Ports” : [{ “ContainerPort”: “2368” }] } でいける。 じゃあ例えばJenkinsさんのオフィシャルイメージ(つまり組織名が明記されていない)場合はどうする? { “AWSEBDockerrunVersion”: “1”, “Image” : { “Name” : “jenkins” }, “Ports” : [{ “ContainerPort”:.

awsebcliインストール時に”DEPRECATION: Uninstalling a distutils installed project (pyyaml) has been deprecated”

  Elastic BeanstalkのCLI管理ツールであるawsebcliだが、インストールすべく公式ページのコマンドを頭から実行していくと、若干つまづく。 https://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/eb-cli3-install.html pip install awsebcli を実行すると、 Found existing installation: PyYAML 3.10 DEPRECATION: Uninstalling a distutils installed project (pyyaml) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project. Uninstalling PyYAML-3.10: Exception: Traceback (most recent call.

The parameter groupName cannot be used with the parameter subnet

  VPC定義等、様々なシーンで共通的に使用するようなテンプレートを再利用し、CloudFormationのスタックをネストして使用するのはベストプラクティスの1つである。 VPC用のテンプレートを用意した後、AWS::CloudFormation::Stackリソースを使って別テンプレートからVPCのリソースを参照し、VPC上にEC2インスタンスを立ててみる。 この際、表題のエラーにぶちあたったのであった。 AWS::EC2::Instanceの作成のステップのところでエラーとなっている。 The parameter groupName cannot be used with the parameter subnet 色々調べて試行錯誤したが、セキュリティグループの参照を”SecurityGroup”ではなく、”SecurityGroupIds”にしたら通った。 “EC2Instance” : { “Type” : “AWS::EC2::Instance”, “Properties” : { “InstanceType” : { “Ref” : “InstanceType” }, “SecurityGroupIds” : { “Ref” : “InstanceSecurityGroup” }, “KeyName” : { “Ref” : “KeyName” }, “SubnetId” : { “Fn::GetAtt” : [ “CloudFormationVpcStack”, “Outputs.SubnetDmzAzBId” ].

AWSでVM Importの結果をフィルタする

  VM Importを複数回実行していき、インポート失敗が発生すると、aws ec2 describe-import-image-tasksを実行した時に失敗した過去履歴も一緒に表示されてしまい、わずらわしい。 そんな時は、タスクIDでフィルタすれば見やすくなります。 aws ec2 describe-import-image-tasks –import-task-ids インポートタスクIDは例えば”import-ami-fhaxxsaefa”のようなID。   Amazon Web Services パターン別構築・運用ガイド posted with amazlet at 15.09.20 NRIネットコム株式会社 佐々木 拓郎 林 晋一郎 小西 秀和 佐藤 瞬 SBクリエイティブ 売り上げランキング: 10,578 Amazon.co.jpで詳細を見る

VM ImportでWindowsをAWSにインポートした場合のライセンスの考え方

  VM importコマンドを使ってWindows ServerをオンプレミスからAWSに移行する場合のライセンスの考え方は、クラスメソッドさんのブログに詳しく書いある。   が、(あたりまえだが)ブログ記事なんで、一切の保障はない旨の但し書きがしてある。 で、それだと仕事では困るんで、AWSに問い合わせしてVM Import時のCALの考え方を確認した。   先ず、AWSのWindowsインスタンスに付属するライセンスは、SPLAとして提供されている。 Microsoft Services Provider License Agreement (SPLA) は、ソフトウェア サービスやアプリケーションをホストしてエンドユーザーに提供する企業のためにご用意しました、マイクロソフト製品のライセンスを取得するプログラムです。 SPLA は、第三者へのホスティングを目的としてマイクロソフト ソフトウェアのライセンス使用権が得られる唯一のマイクロソフトライセンス プログラムです。 めちゃめちゃわかりづらいが、要はAWSがマイクロソフトからライセンスを買っている、そしてユーザはそのライセンスをAWSの利用料金を通じて使うことができる、ということらしい。 WindowsサーバをVM ImportでAWSに持っていくと、デフォルトではライセンスはAWSが持っているSPLAライセンスに置き換わる。 よって、Windows ServerのライセンスをAWS用に追加で購入する必要はない。ちなみに、VM Importのオプションで、オンプレミス側で使っているライセンスを使う、という選択もできる。 また、CALもオンプレミス用に購入しているのであれば、そのまま利用できる。   なのでクラスメソッドさんのブログ記事に書いてあることは概ね正しいことが確認できたのだが、1点だけ、誤解を招く表現があった。 「Remote Desktop Servicesもライセンスモビリティの対象サービスであるため、RDP CALも追加で購入しなくていい」という表現。 これは、「RDP CALにソフトウェアアシュアランスのオプションが付いていれば」という条件が付く。 ソフトウェアアシュアランスの特典の中に「ソフトウェアアシュアランスによるライセンスモビリティ」というものがあって、これがあることで、RDP CALをAWSに持ち込めることになるようだ。 リモートデスクトップのCALをAWSでも使いたい方は、購入した時にSAを付けていたか、確認された方がよいでしょう。 そして・・念の為断っておくと、この記事は個人のブログ記事なんで、内容の真偽は一切保障できませんのであしからず。 以上、チラ裏レポッス。

SQL Workbench/JからAmazon Redshiftに接続できない(2015年)

  WindowsからRedshiftに接続できる環境をつくるべく、SQL Workbench/Jをインストールした。 環境は、Windows 7 SP1、JRE 1.7.0_07、SQL Workbench/JはBuild 117 (2015-01-04) 。   Cluster Subnet Groupを作成してVPCと紐付けをし、Redshiftクラスターを起動する。 ここまでは問題ない。 が、以下のサイトの手順通りSQL Workbench/Jをセットアップしたところ、Redshiftにつながらない・・。 ステップ 1: 前提条件の設定 – Amazon Redshift connection profileで設定値を入力して接続すると、下記のエラーが出てどうしても接続できない。   いろいろ切り分けした。 ・Security Groupの定義をよくよくチェック。ソースのIPを絞っていたので、試しにフルオープン(0.0.0.0/0)にしてみたり。 ・クライアント側のWindowsファイアウォールがブロックしている・・?SQLWorkbench64.exeの通信を許可してみたり。 ・名前解決・・?JDBC URLのFQDN部分をグローバルIPにしてみたり。 ・VPC内の同一サブネットにWindowsインスタンスを立て、そこからRedshiftにローカルIP経由でアクセスしてみたり。 ・ドライバ”postgresql-8.4-703.jdbc4.jar”が古いのかもしれない。最新のVersion 9.4-1201を試してみたり。 ここまで試してダメだったので「詰んだ~」とヘコんでいたところ、ふと「日本語のマニュアルがあやしい」説が頭をよぎった。 これがビンゴで、 日本語のマニュアルには PostgreSQL JDBC ドライバをダウンロードする Amazon Redshift の推奨される次の PostgreSQL JDBC ドライバをダウンロードします: http://jdbc.postgresql.org/download/postgresql-8.4-703.jdbc4.jar クライアントコンピュータの任意の場所にこのファイルを保存することができます。 とあるのだが、 英語のマニュアルに切り替えると、 Download the Amazon.

AWS CLIでiam-instance-profileを指定するとUnknown options

  AWS CLIでEC2インスタンスを起動する際、紐付けするIAMロールをオプションで指定したい。   CLIのドキュメントでは、IAM Instance Profileの指定方法は –iam-instance-profile Arn=value,Name=value とある。 しかし、実際に指定するとNameの方がUnknown optionsとなってコマンドが失敗する。   Unknownと言われてしまったら仕方がないので、arn(IAMの画面の”Instance Profile ARN(s)”)だけ指定したら通った。 aws ec2 run-instances –cli-input-json file://hogehoge.json –iam-instance-profile Arn=arn:aws:iam::0000000000:instance-profile/UpdateS3   AWS CLIのドキュメント、ちょくちょく罠が仕掛けられている。日々是修行也。