aws memo

AWS関連の備忘録 (※本ブログの内容は個人的見解であり、所属組織及び企業の意見を代弁するものではありません。1年以上古いエントリは疑ってかかってください)

EMRがHIPAA対応

HIPAAとは?という方はこちらを参照。

HIPAA と AWS - アマゾン ウェブ サービスでのヘルスケア | アマゾン ウェブ サービス(AWS 日本語)

 

2015年7月29日に、HIPAA on AWSホワイトペーパーが更新された。

Updated HIPAA Whitepaper Now Available - AWS Security Blog

HIPAA Compliancy on AWS: Amazon DynamoDB, Amazon RDS, and Amazon EMR Now Covered Under the AWS Business Associate Agreement | AWS Partner Network (APN) Blog

ハイライトは、2点。

今までHIPAA対応サービスは EC2, S3, Glacier, Redshiftだったのが、RDS(MySQL, Oracle)、DynamoDB, EMRに対応したこと。

KMSで PHI(Personal Health Information)の暗号化する方法がホワイトペーパーに記載されていること。

Using AWS KMS for Encryption of PHI

Master keys in AWS KMS can be used to encrypt/decrypt data encryption keys used to encrypt PHI in customer applications or in AWS services that are integrated with AWS KMS. AWS KMS can be used in conjunction with a HIPAA account, but PHI may only be processed, stored, or transmitted in HIPAA-eligible services. KMS does not need to be a HIPAA-eligible service so long as it is used to generate and manage keys for applications running in other HIPAA-eligible services. For example, an application processing PHI in Amazon EC2 could use the GenerateDataKey API call to generate data encryption keys for encrypting and decrypting PHI in the application. The data encryption keys would be protected by customer master keys stored in AWS KMS, creating a highly auditable key hierarchy as API calls to AWS KMS are logged in AWS CloudTrail.

 HIPAAに抵触するような医療情報を保存し、EMRで解析などを行う場合のコンプライアンスのハードルが少し下がることになる。

 

 

 

 

 

AWS MarketplaceでのICEL (Intel Cloud Edition for Lustre* ) メモ

Intelが提供している分散並列ファイルシステム ICELは、AWS MarketplaceからCloudformationで簡単に起動し利用することができます。

Intel Cloud Edition for Lustre on Amazon Web Services - HPDD Community Space - HPDD Community Wiki

 

今まで(Software費用が)無償で使えていたIntel Cloud Edition for Lustre* Community Version (1.1.1)は、2015/8/11で新規起動ができなくなった模様。(サポートは2015/11/9までとのこと)

f:id:understeer:20150812124745p:plain

 

アップグレードパスとして、新たに以下の3つがMarketplaceに登場している。

Intel Cloud Edition for Lustre* software - Premier Support (8x5) on AWS Marketplace

 Software費用はインスタンスタイプ毎に変わる(インスタンス費用に約30%プラス?)。加えて、 Monthly Subscription Feeが $500/mo でかかる。C3, C4が選択可能。

Intel Cloud Edition for Lustre* software - Global Storage on AWS Marketplace

 Software費用はインスタンスサイズに拘らず$0.08/hr。m2, i2 c3, c4が選択可能。

Intel Cloud Edition for Lustre* software - Evaluation on AWS Marketplace

 Software費用は無償のかわりに、サポートを含んでいない。また、t2, m3と小さいインスタンスしか選べないので、動作検証用か。

 

CentOS6.7 AMI公開

RHEL6.7, CentOS6.7がリリースされた。

Red Hat Enterprise Linux 6.7 Release Notes

Manuals/ReleaseNotes/CentOS6.7/Japanese - CentOS Wiki

CentOSVM Import で持ち込んだAMIを公開(利用は自己責任で) 

AMI Tokyo Oregon Virginia
CentOS6.7HVM ami-b644fcb6 ami-4d5d577d ami-5b359c30
CentOS6.7HVM-SR-IOV ami-2e45fd2e ami-b15d5781 ami-53359c38
CentOS6.7HVM-SR-IOV-maxcpus=18 ami-a846fea8 ami-4f5d577f ami-5f359c34

※ ec2-userでログインしてください

RHEL6.7は、Red Hat社が提供しているAMIがSR-IOV化されているので、そのAMIをベースに18コア設定版を作成。

AMI Tokyo Oregon Virginia
RHEL6.7HVM-SR-IOV(provided by Red Hat, Inc.) ami-78379d78 ami-75f3f145 ami-0d28fe66
RHEL6.7HVM-SR-IOV-maxcpus=18 ami-efc7fe81 ami-7748ac17 ami-ace3c0c6

 

Spot Fleetで複数AZ指定ができるようになった

ので、メモ。

Spot fleet launches Spot instances in the lowest priced Availability Zone

本日(2015年7月24日)からSpotフリートの機能にて、spot fleet launch specificationで指定した複数VPCサブネットもしくはAZの中で最も安いAZにSpotインスタンスを起動するようになりました。以前は、複数サブネットの中で最安値のサブネットに起動したい場合には、自分自身で最安値のAZを決定し、Spotフリートリクエストを実行する必要がありました

ということで、spot fleet launch specificationの記載方法の自由度が増しました。

設定例(spot.json)

ここでは、 C3.8xlargeCC2.8xlargeを、subnet-aaaaaa (AZ-a)か subnet-bbbbbb(AZ-b)の組み合わせ4パターンのうち、最安値のパターンで、10台、$0.50で入札する、といった例。

{
    "SpotPrice": "0.50",
    "TargetCapacity": 10,
    "IamFleetRole": "arn:aws:iam::111111111111:role/SpotFleet",
    "LaunchSpecifications": [
       {
           "ImageId": "ami-xxxxxxx",
           "InstanceType": "cc2.8xlarge",
           "SubnetId": "subnet-aaaaaaaa"
       },
       {
           "ImageId": "ami-xxxxxxx",
           "InstanceType": "cc2.8xlarge",
           "SubnetId": "subnet-bbbbbbbb"
       },
       {
           "ImageId": "ami-xxxxxxx",
           "InstanceType": "c3.8xlarge",
           "SubnetId": "subnet-aaaaaaaa"
       },
       {
           "ImageId": "ami-xxxxxxx",
            "InstanceType": "c3.8xlarge",
           "SubnetId": "subnet-bbbbbbbb"
       }
    ]
}

実行

aws ec2 request-spot-fleet --region ap-northeast-1 \

  --spot-fleet-request-config file://spot.json

 Request時点で最安値のゾーン・タイプが10台 spot requestとして入札される。

RHEL6.7 AMIがデフォルトでSR-IOV対応した

RHEL6.7 AMIが公開されました。

RHEL6.7のリリースノートはこちら↓

access.redhat.com

 

Amazon Linuxと同じようにSR-IOVがデフォルトでOnとなっていて、 SR-IOV対応インスタンスタイプ(C4/C3/D2/I2/M4/R3)だと、何も気にせずに拡張ネットワーキングが使えます。

東京リージョンだと RHEL6.7 AMIは ami-78379d78 なので、確認してみると

$ aws ec2 describe-images --region ap-northeast-1 --image-id ami-78379d78 | jq '.Images[]|{Name, ImageId,VirtualizationType,SriovNetSupport}'
{
"SriovNetSupport": "simple",
"VirtualizationType": "hvm",
"ImageId": "ami-78379d78",
"Name": "RHEL-6.7_HVM_GA-20150714-x86_64-1-Hourly2-GP2"
}

と、最初からAMIで SriovNetSupportが有効になっています。

起動したインスタンスにログインして確認。

$ curl http://169.254.169.254/latest/meta-data/instance-type

c4.large

$ cat /etc/redhat-release

Red Hat Enterprise Linux Server release 6.7 (Santiago)

 

$ uname -a

Linux ip-10-0-1-6.ap-northeast-1.compute.internal 2.6.32-573.el6.x86_64 #1 SMP Wed Jul 1 18:23:37 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux

 

$ ethtool -i eth0

driver: ixgbevf

version: 2.12.1-k

firmware-version:

bus-info: 0000:00:03.0

supports-statistics: yes

supports-test: yes

supports-eeprom-access: no

supports-register-dump: yes

supports-priv-flags: no

 これでカジュアルに使えますね。

RHEL-6.7_HVM_GA-20150714-x86_64-1-Hourly2-GP2 のAMIはこちらのリンクから起動できます。

・Virginia : ami-0d28fe66

・Oregon: ami-75f3f145

・Tokyo: ami-78379d78

RHEL6 AMIでブート領域を拡張する

背景

RHEL6系のAMIからEC2を起動する際にブート用EBSのサイズを大きくしても、OSからは認識されない。(Amazon Linuxは起動時に自動的にサイズを合わせてくれる)

考察

パーティションがGPTになっている。かつ、起動時に対応してくれるようなスクリプトがAMIに仕込まれていない。

 

対処方法(サマリ)

 

  1. 該当インスタンスのBoot EBSを100GBに指定して起動
  2. 該当インスタンス( A)をstopして /dev/sda1 にアタッチされているEBSをデタッチ
  3. 作業用インスタンス(B)を別途起動し、上記EBSを/dev/sdb にアタッチ
  4. 作業用インスタンス(B)にて作業 ( パーティションサイズ変更※ & ファイルシステムサイズ拡張※)
  5. 上記EBSを作業用インスタンス(B)からデタッチし、該当インスタンス(A)の /dev/sda1にアタッチ
  6. 該当インスタンス(A)をstartする

 

 

対処方法(詳細)

肝はこちらに書いてあるが、gdiskを使った。

docs.aws.amazon.com

作業用インスタンス(B)にて

まずはgdiskをインストール

$ sudo yum -y install gdisk 

gdiskを使用して、まずはパーティション情報を表示させる。赤字はメモっとく。

$ sudo gdisk /dev/svdb

Command (? for help): p

Disk /dev/xvdb: 209715200 sectors, 100.0 GiB

Logical sector size: 512 bytes

Disk identifier (GUID): C0E76C1A-B601-48A7-A1E0-CC49DEFF6CB4

Partition table holds up to 128 entries

First usable sector is 34, last usable sector is 20971486

Partitions will be aligned on 2048-sector boundaries

Total free space is 2014 sectors (1007.0 KiB)

 

Number  Start (sector)    End (sector)  Size       Code  Name

   1            2048        20971486   10.0 GiB    EF00  Linux

パーティションを削除する

Command (? for help): o

This option deletes all partitions and creates a new protective MBR.

Proceed? (Y/N): Y

新しいパーティションを作成する

Command (? for help): n

Partition number (1-128, default 1): 1

First sector (34-209715166, default = 2048) or {+-}size{KMGTP}: 2048

Last sector (2048-209715166, default = 209715166) or {+-}size{KMGTP}:

Current type is 'Linux filesystem'

Hex code or GUID (L to show codes, Enter = 8300): EF00

Changed type of partition to 'EFI System'

Expert モードに入って、ディスクGUIDを元に戻す(最初に表示した時のやつ)

Command (? for help): x

Expert command (? for help): g

Enter the disk's unique GUID ('R' to randomize): C0E76C1A-B601-48A7-A1E0-CC49DEFF6CB4

The new disk GUID is C0E76C1A-B601-48A7-A1E0-CC49DEFF6CB4

変更をディスクに書き込む

Expert command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING

PARTITIONS!!

Do you want to proceed? (Y/N): y

OK; writing new GUID partition table (GPT) to /dev/xvdb.

The operation has completed successfully.

念の為、ファイスシステムのチェック。

$ sudo e2fsck -f /dev/xvdb1 

$ lsblk

NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

xvda    202:0    0   10G  0 disk

└─xvda1 202:1    0    6G  0 part /

xvdb    202:16   0  100G  0 disk

└─xvdb1 202:17   0  100G  0 part

lsblkの結果を見る限り、これだけだと、パーティションは拡張したがファイルシステムは拡張していないので、拡張しておく。

$ sudo resize2fs /dev/xvdb1

この、ファイルシステム拡張についてだけが、こっち↓に書いてあって、ハマるポイント。

docs.aws.amazon.com

うまくいったら、元のインスタンスの/dev/sda1 にアタッチする。

 

 

 

 

 

 

 

C4.8xlarge対応 HVM AMI ( SR-IOVも対応)

2015/8/15 CentOS6.7, RHEL6.7が出ているので、こちらのAMIは公開を取りやめます。

 

ーーー

C4.8xlargeでも起動するRHEL6.6とCentOS6.6を公開。

(もちろん、それ以外のHVM対応インスタンスタイプでも起動する。)

簡単な内容

(作成方法は別エントリ)

RHEL

RHEL6.6_maxcpus-32-20150113
RHEL6.6_HVM_SR-IOV_ixgbevf-2.16.1-maxcpus-18-20150113 

 

CentOS

CentOS6.6_maxcpus-32-20150114
CentOS6.6_HVM_SR-IOV_ixgbevf-2.16.1-maxcpus-18-20150114

   (ブートパラメータにmaxcpus=18 を記載しているので、c4.8xlargeを物理18コアで使える。c3.8xlarge, cc2.8xlargeでは 物理16コアで利用可能)

 

 注意

yum updateでカーネルアップデートして、SR-IOVドライバが読み込めなくなった時は、こちらを参照のこと。

SR-IOV対応版AMIでのカーネルアップデート時は注意 (自分用メモ) - matetsuだもんで