ラベル クラウド の投稿を表示しています。 すべての投稿を表示
ラベル クラウド の投稿を表示しています。 すべての投稿を表示

2016年5月25日水曜日

AWS開始1年間の無料枠適用サービスと制限まとめ

このエントリーをはてなブックマークに追加
AWSアカウントを作って利用開始すると1年の無料枠が使えるんだけど、1年すぎても無料枠があって使えるものもあるのでメモ。

赤は1年間無料で使えるもの、青は1年過ぎても無料枠が設定されているもの。
Amazon EC2
クラウド内でサイズ変更可能なコンピューティング性能。

750 時間 1 か月あたりの LinuxRHEL、または SLES t2.micro インスタンスの使用量
750 時間 1 か月あたりの Windows t2.micro インスタンスの使用量
 例えば、1 インスタンスを 1 か月使用、または 2 インスタンスを半月使用
 サインアップから 12 か月で有効期限が切れます。
Amazon S3
高スケーラブル、高信頼性、低レイテンシーのデータストレージインフラストラクチャ。
5 GB 標準ストレージ
20,000 件の Get リクエスト 
2,000 件の Put リクエスト 
 サインアップから 12 か月で有効期限が切れます。
Amazon RDS
MySQLPostgreSQLMariaDBOracle BYOL または SQL Server のためのマネージド型リレーショナルデータベースサービス。
750 時間 Amazon RDS Single-AZ db.t2.micro インスタンスの使用
20 GB DB Storage: General PurposeSSD)または Magnetic の任意の組み合わせ
20 GB バックアップ(RDS Magnetic ストレージを使用。 General Purpose [SSD] 上の I/O は別々に請求されません)
1,000 I/O 
サインアップから 12 か月で有効期限が切れます。
AWS IoT
デバイスをクラウドに接続
250,000 件のメッセージ 毎月 (公開または配信)
 サインアップから 12 か月で有効期限が切れます。
Amazon EC2 Container Registry
Docker イメージの保存と取得
毎月 500 MB ストレージ
 サインアップから 12 か月で有効期限が切れます。
AWS Lambda
イベント発生時にお客様のコードを実行し、コンピューティングリソースを自動的に管理するコンピューティングサービス
100 万件 1 か月当たりの無料リクエスト数
1 か月あたり最大 320 万秒 のコンピューティング時間
 12 か月間の AWS 無料利用枠期間終了後にも期限切れになりません。 
Elastic Load Balancing
アプリケーションの着信トラフィックの複数の Amazon EC2 インスタンスへの自動分散。
750 時間 (1 か月あたり)
15 GB データ処理
 サインアップから 12 か月で有効期限が切れます。
Amazon DynamoDB
シームレスな拡張性を備えた、高速で柔軟な NoSQL データベースサービスです。
25 GB ストレージ
25 ユニット 書き込み容量
25 ユニット 読み込み容量
 1 か月当たり最大 2 億リクエストの処理が十分に可能。 
12 か月間の AWS 無料利用枠期間終了後にも期限切れになりません。
Amazon CloudFront
低レイテンシーかつ速いデータ転送速度で、エンドユーザーにコンテンツを配信するウェブサービスです。
50 GB データ転送 (アウト)
2,000,000 HTTP および HTTPS リクエスト
 サインアップから 12 か月で有効期限が切れます。
Amazon Elastic Block Storage
実行中の Amazon EC2 インスタンスに接続できる、高可用性、高信頼性、および予測可能性を備えたストレージボリューム。
30 GB Amazon EBS: 汎用 (SSD) または Magnetic の任意の組み合わせ
200 I/O  EBS Magnetic
1 GB スナップショットストレージ
 サインアップから 12 か月で有効期限が切れます。
Amazon ElastiCache
メモリ内キャッシュのデプロイ、運用、スケーリングをクラウド内で簡単に実行できるウェブサービス。
750 時間 十分な時間
 毎月マイクロキャッシュノードを継続的に実行するのに
 サインアップから 12 か月で有効期限が切れます。
Amazon Redshift
高速、シンプル、費用対効果の高いデータウェアハウス
2 か月間無料  
DC1.Large 750 時間 2 か月間、1 か月あたり
 サインアップから 2 か月で有効期限が切れます。
AWS Data Pipeline
データ駆動型ワークフローに対するオーケストレーションです。
3 個の低頻度の前提条件  
5 個の低頻度のアクティビティ  
 サインアップから 12 か月で有効期限が切れます。
Amazon Elasticsearch Service
AWS クラウドの Elasticsearch クラスターを、簡単にデプロイ、運用、スケールするマネージドサービス
750 時間 single-AZ t2.micro.elasticsearch インスタンスの使用量
1 か月あたり 10 GB オプションの EBS ストレージ (磁気または汎用)
 サインアップから 12 か月で有効期限が切れます。
Amazon Cognito
モバイルユーザー ID と同期。
 Your User Pool 機能には、各月 50,000 MAU の無料利用枠があります。**
 Amazon Cognito で、ユーザーの認証およびユニークアイデンティティの付与にフェデレーティッドアイデンティティ機能を使用する場合、課金が発生することは一切ありません。**
10 GB クラウド同期ストレージ。サインアップから 12 か月で有効期限が切れます。
100 万件 毎月の同期操作。サインアップから 12 か月で有効期限が切れます。
AWS Device Farm
iOSAndroidFireOS のアプリを AWS クラウド内の実際のデバイスでテスト
1 回限り、250 デバイス分の無料トライアル 
 12 か月間の AWS 無料利用枠期間終了後にも期限切れになりません。
Amazon Mobile Analytics
スピーディで安全なモバイルアプリケーションの使用分析。
1 億回 毎月の無料イベント
 12 か月間の AWS 無料利用枠期間終了後にも期限切れになりません。 
Amazon SNS
スピーディかつ柔軟な、完全マネージド型の PUSH メッセージングサービス
100 万件の発行 
100 万件のモバイルプッシュ配信 
10 万件の HTTP/S 配信 
1,000 件のメール配信 
12 か月間の AWS 無料利用枠期間終了後にも期限切れになりません。 
AWS CodeCommit
高度にスケーラブルなマネージド型ソースコントロールサービス
5 アクティブユーザー (1 か月あたり)
50 GB – 1 か月当たりのストレージ
10,000 Git のリクエスト 1 か月あたり
 12 か月間の AWS 無料利用枠期間終了後にも期限切れになりません。 
AWS CodePipeline
速度と信頼性に優れたアプリケーション更新を実現する継続的デリバリサービス

1 アクティブパイプライン (1 か月あたり
 12 か月間の AWS 無料利用枠期間終了後にも期限切れになりません。
AWS Key Management Service
AWS Key Management Service は、管理制御で暗号化を容易にするマネージドサービスです。
2 万件 1 か月当たりの無料リクエスト数
 12 か月間の AWS 無料利用枠期間終了後にも期限切れになりません。 
Amazon CloudWatch
AWS のクラウドリソースとアプリケーションをモニタリングします。
10 カスタムメトリックスおよび 10 アラーム  
100 万件の API リクエスト  
5 GB のログデータの取り込みおよび 5 GB のログデータのアーカイブ 
毎月最大 50 メトリックスのダッシュボード 3  
12 か月間の AWS 無料利用枠期間終了後にも期限切れになりません。 
AWS Trusted Advisor
AWS クラウド最適化エキスパート。

4 回のベストプラクティスチェック  パフォーマンスとセキュリティ (サービスの制限、セキュリティグループ、IAM、および MFA)
通知とカスタマイズ機能 
 サインアップから 12 か月で有効期限が切れます
Amazon API Gateway
スケールを問わない API の発行、維持、監視、セキュリティ確保
100 万回の API 呼び出しの受信 (1 か月あたり)
 サインアップから 12 か月で有効期限が切れます。
Amazon AppStream
Windows アプリケーションを任意のデバイスに配信可能。

20 1 か月当たりの無料時間枠
 サインアップから 12 か月で有効期限が切れます。
Amazon Elastic Transcoder
完全マネージド型メディアトランスコーディングサービス。

20 オーディオトランスコーディング
20 SD トランスコーディング
10 HD トランスコーディング
 サインアップから 12 か月で有効期限が切れます。
Amazon SES
コスト効率に優れたクラウドでのメールサービスです。

62,000 件の送信メッセージ Amazon EC2 インスタンスから直接、または AWS Elastic Beanstalk を介して Amazon SES を呼び出す際に、任意の受取人に送信できます (1 か月あたり)
1,000 件の受信メッセージ 1 か月あたり
 12 か月間の AWS 無料利用枠期間終了後にも期限切れになりません。
Amazon SQS
コンピュータ間でやり取りされるメッセージを格納するためのスケーラブルなキューです。

100 万件のリクエスト  
 12 か月間の AWS 無料利用枠期間終了後にも期限切れになりません。 
Amazon SWF
クラウドアプリケーション用のタスクコーディネーションと状態管理サービスです。

10,000 件のアクティビティタスク  
30,000 日のワークフロー日  
1,000 回の実行 
 12 か月間の AWS 無料利用枠期間終了後にも期限切れになりません。

2016年5月22日日曜日

IDCFクラウドをAPIから使う(VM作成編)

このエントリーをはてなブックマークに追加
IDCFクラウドをAPIから使う(準備編)でCLIから使えるようにしたので簡単にサクっと作ってみた。

IDCFクラウド API Referencesを見たけど、利用できるAPIは限られているけど普段使いにはあまり問題はなさそう。(英語のままのもあるけど)

とりあえずSSHの認証鍵を生成して、
$ssh-keygen -t rsa
クラウドにアップロードする。
$ cloudstack-api registerSSHKeyPair --name idcf --publickey "$(cat .ssh/生成した公開鍵)" -t
SSH公開鍵がアップロードされたのは、クラウドコンソールで確認してもいいしCLIで確認してもいい。今回はCLIからやってみる。
$ cloudstack-api listSSHKeyPairs -t
+-------------------------------------------------+------------+
|                   fingerprint                   |    name    |
+-------------------------------------------------+------------+
| 31:8a:93:ff:c3:12:8a:ae:19:**:**:**:**:**:**:** | idcf |
+-------------------------------------------------+------------+
マシン生成する。今回作るサーバプランは一番安いlight.S1にしておく。OSはCentOS7.1を選ぶ。念のためサーバプランとOSテンプレートのid確認方法をもう一度。
$ cloudstack-api listServiceOfferings -t id,displaytext
+--------------------------------------+------------------------------------+
|                  id                  |            displaytext             |
+--------------------------------------+------------------------------------+
| 10d303d6-d39f-4b15-80a1-982e86ef002b | highio.3XL128( 24CPU /128GB RAM)   |
| 12e39b73-3ce6-4e57-9036-3dac0c2b2b06 | highmem.M16( 2CPU / 16GB RAM )     |
| 354c62e6-b99b-42f2-b5c7-e741f1085422 | standard.XL32( 8CPU / 32 GB RAM )  |
| 435c1aab-e796-42c7-9320-22ebdc8f50aa | highcpu.L8( 4CPU / 8GB RAM )       |
| 55621f17-4d38-457c-ba34-e6199701b67b | standard.S4( 1CPU / 4GB RAM )      |
| 6a99ff4c-1a24-4aa6-b4cc-600220987ed0 | standard.L16( 4CPU / 16GB RAM )    |
| 6fda5e0c-e64d-46ea-893d-7e2ac9e128e7 | highcpu.XL16 ( 8CPU / 16GB RAM )   |
| 7ae143a6-5662-4f1d-bc4c-10defa775bcb | standard.M8( 2CPU / 8GB RAM )      |
| 7c548831-427b-437c-9c8b-80dde8031303 | highcpu.2XL32( 16 CPU / 32GB RAM ) |
| 8cf15770-c3c8-4efc-8ae5-b8327790db76 | highcpu.M4( 2CPU / 4GB RAM )       |
| 95edba75-7cb5-4654-a2f5-f40b7acf7a57 | standard.S8( 1CPU / 8GB RAM )      |
| 9a2f3ee4-af46-4790-9331-753674c16e68 | highio.5XL128( 40CPU /128GB RAM)   |
| d1aac6d2-bb47-4106-90d0-6a73ac3ae78e | light.S2( 1CPU / 2GB RAM )         |
| d59817bc-ed79-4083-8b71-51b26c76d311 | highmem.L32( 4CPU / 32GB RAM )     |
| e01a9f32-55c4-4c0d-9b7c-d49a3ccfd3f6 | light.S1( 1CPU / 1GB RAM )         |
| ec13a7d8-26ce-4c4e-a223-7ef832bb1243 | light.S2( 1CPU / 2GB RAM )         |
| ee5ee568-76b2-46ad-9221-c695e6f2149d | highmem.XL64( 8CPU / 64GB RAM )    |
+--------------------------------------+------------------------------------+
$ cloudstack-api listTemplates --templatefilter executable -t name,id | grep Cent | grep "7\.1"
| CentOS 7.1 64-bit                                   | ee7bc439-0186-49b4-82e4-bf821db89601 |
| CentOS 7.1 64-bit                                   | ee7bc439-0186-49b4-82e4-bf821db89601 |
| CentOS 7.1 64-bit                                   | ee7bc439-0186-49b4-82e4-bf821db89601 |
| CentOS 7.1 64-bit                                   | ee7bc439-0186-49b4-82e4-bf821db89601 |
| CentOS 7.1 64-bit                                   | ee7bc439-0186-49b4-82e4-bf821db89601 |
| CentOS 7.1 64-bit for Vagrant                       | aa39af2c-a91e-4c7d-8bf1-4e4754959b11 |
| CentOS 7.1 64-bit for Vagrant                       | aa39af2c-a91e-4c7d-8bf1-4e4754959b11 |
| CentOS 7.1 64-bit for Vagrant                       | aa39af2c-a91e-4c7d-8bf1-4e4754959b11 |
| CentOS 7.1 64-bit for Vagrant                       | aa39af2c-a91e-4c7d-8bf1-4e4754959b11 |
| CentOS 7.1 64-bit for Vagrant                       | aa39af2c-a91e-4c7d-8bf1-4e4754959b11 |
| Hatohol 15.06 on CentOS 7.1                         | eedabe07-5f0e-4822-b9d9-6bbb4a04de85 |
| Hatohol 15.06 on CentOS 7.1                         | eedabe07-5f0e-4822-b9d9-6bbb4a04de85 |
| Hatohol 15.06 on CentOS 7.1                         | eedabe07-5f0e-4822-b9d9-6bbb4a04de85 |
| Hatohol 15.06 on CentOS 7.1                         | eedabe07-5f0e-4822-b9d9-6bbb4a04de85 |
| MIRACLE ZBX 2.2.11 on CentOS 7.1                    | 9cf7a110-caaa-4ae5-807c-218c80c88f31 |
| MIRACLE ZBX 2.2.11 on CentOS 7.1                    | 9cf7a110-caaa-4ae5-807c-218c80c88f31 |
| MIRACLE ZBX 2.2.11 on CentOS 7.1                    | 9cf7a110-caaa-4ae5-807c-218c80c88f31 |
| MIRACLE ZBX 2.2.11 on CentOS 7.1                    | 9cf7a110-caaa-4ae5-807c-218c80c88f31 |
テンプレートは同じのが表示されるが気にせず、このidを使おう。ZoneIDはクラウドコンソールの「ゾーン管理」から「有効」になっているものを使う。僕の場合はradianだった。group、displayname、nameはお好みで。
$ cloudstack-api deployVirtualMachine --serviceofferingid e01a9f32-55c4-4c0d-9b7c-d49a3ccfd3f6 --templateid ee7bc439-0186-49b4-82e4-bf821db89601 --zoneid a53ff3d3-042b-4cbd-ad16-494bb8d33e06 --group highmountain --displayname highmountain --name highmountain --keypair keypairname
正常に終わるとJSON形式でidとjobidが返ってきた。
{
  "deployvirtualmachineresponse": {
    "id": "...",
    "jobid": "..."
  }
}
この後クラウドコンソールから確認すると仮想マシンがRunning状態でできていた。
コマンドからも確認してみる。
$ cloudstack-api listVirtualMachines -t

ここでインターネットから接続するためにPublicIPを確認する。
$ cloudstack-api listPublicIpAddresses -t id,ipaddress
+--------------------------------------+---------------+
|                  id                  |   ipaddress   |
+--------------------------------------+---------------+
| 205e7e75-aae1-4de9-a1fe-b79e4947a715 | xxx.xxx.xxx.xxx |
+--------------------------------------+---------------+
ソースIPはNATできないのでポートフォワードの設定をする。今回はSSH。
$ cloudstack-api createPortForwardingRule --ipaddressid 205e7e75-aae1-4de9-a1fe-b79e4947a715 --privateport 22 --protocol TCP --publicport 22 --virtualmachineid f3991f90-0962-4948-a965-508c013700c6
クラウドコンソールからも確認できるが、これもコマンドから確認できる。
$  cloudstack-api listPortForwardingRules -t
ここでSSHしてみるとログインできる!
$ ssh root@xxx.xxx.xxx.xxx -i ~/.ssh/PrivateKey
    ________  ______   ______                 __  _
   /  _/ __ \/ ____/  / ____/________  ____  / /_(_)__  _____
   / // / / / /      / /_  / ___/ __ \/ __ \/ __/ / _ \/ ___/
 _/ // /_/ / /___   / __/ / /  / /_/ / / / / /_/ /  __/ /
/___/_____/\____/  /_/   /_/   \____/_/ /_/\__/_/\___/_/

[root@hostname ~]#

2016年5月20日金曜日

IDCFクラウドをAPIから使う(準備編)

このエントリーをはてなブックマークに追加
コストの試算を考えるとめんどくさいですけど、クラウドいいですよね。スモールスタートしながらスピード感出して構築できるし。

AWSは押さえておかないといけないですが、今のところ、仕事上、コスト計算しやすいとか大人の事情とかでIDCFクラウドを使うことが多いです。クラウドコンソールからコツコツ作るのもできるけど、せっかくのクラウドなのでAPIからサーバ構築していきたいかなと。基盤にはCloudStackを採用しているようなので、その勉強にもなるし。

ドキュメントはIDCFクラウド API/技術ドキュメントにあるので、これを参照しながら手順はほぼ写経。
gitとpipのインストール

色々と必要なものをインストールしておく。
$ apt-get install --install-suggests git python-pip
 $ apt-get install --install-suggests gcc build-essential libxml2-dev libxslt1-dev python-dev
cloudstack-apiをインストールする。
 $ pip install git+https://github.com/idcf/cloudstack-api
バージョン確認する。
 $ cloudstack-api --version
APIを利用するために設定ファイル(.idcfrc)を作成する。
 
[account]
host=${idcf_end_point}
api_key=${your_api_key}
secret_key=${secret_key}
設定ファイルが効いているか確認する。
 $ cloudstack-api listZones
こんな感じでずらずらと出てきたら成功。
{
  "listzonesresponse": {
    "count": 5,
    "zone": [
      {
        "allocationstate": "Enabled",
        "dhcpprovider": "VirtualRouter",
:
:
:
利用できるゾーンの確認。ちなみに-tは結果をテーブル形式で出力する。何もなければJSON形式で出力される。
 
$ cloudstack-api listZones -t id
+--------------------------------------+
|                  id                  |
+--------------------------------------+
| 9703cdbb-aee7-41ba-ba80-4807eaa68b80 |
| a117e75f-d02e-4074-806d-889c61261394 |
| a53ff3d3-042b-4cbd-ad16-494bb8d33e06 |
| baf86a6e-4e3b-428e-8fd0-7fda43e468d4 |
| f0954b9b-2626-4549-82ad-ca421073b3bc |
+--------------------------------------+
利用できるサーバタイプの確認
 
$ cloudstack-api listServiceOfferings -t id,displaytext
+--------------------------------------+------------------------------------+
|                  id                  |            displaytext             |
+--------------------------------------+------------------------------------+
| 10d303d6-d39f-4b15-80a1-982e86ef002b | highio.3XL128( 24CPU /128GB RAM)   |
| 12e39b73-3ce6-4e57-9036-3dac0c2b2b06 | highmem.M16( 2CPU / 16GB RAM )     |
| 354c62e6-b99b-42f2-b5c7-e741f1085422 | standard.XL32( 8CPU / 32 GB RAM )  |
| 435c1aab-e796-42c7-9320-22ebdc8f50aa | highcpu.L8( 4CPU / 8GB RAM )       |
| 55621f17-4d38-457c-ba34-e6199701b67b | standard.S4( 1CPU / 4GB RAM )      |
| 6a99ff4c-1a24-4aa6-b4cc-600220987ed0 | standard.L16( 4CPU / 16GB RAM )    |
| 6fda5e0c-e64d-46ea-893d-7e2ac9e128e7 | highcpu.XL16 ( 8CPU / 16GB RAM )   |
| 7ae143a6-5662-4f1d-bc4c-10defa775bcb | standard.M8( 2CPU / 8GB RAM )      |
| 7c548831-427b-437c-9c8b-80dde8031303 | highcpu.2XL32( 16 CPU / 32GB RAM ) |
| 8cf15770-c3c8-4efc-8ae5-b8327790db76 | highcpu.M4( 2CPU / 4GB RAM )       |
| 95edba75-7cb5-4654-a2f5-f40b7acf7a57 | standard.S8( 1CPU / 8GB RAM )      |
| 9a2f3ee4-af46-4790-9331-753674c16e68 | highio.5XL128( 40CPU /128GB RAM)   |
| d1aac6d2-bb47-4106-90d0-6a73ac3ae78e | light.S2( 1CPU / 2GB RAM )         |
| d59817bc-ed79-4083-8b71-51b26c76d311 | highmem.L32( 4CPU / 32GB RAM )     |
| e01a9f32-55c4-4c0d-9b7c-d49a3ccfd3f6 | light.S1( 1CPU / 1GB RAM )         |
| ec13a7d8-26ce-4c4e-a223-7ef832bb1243 | light.S2( 1CPU / 2GB RAM )         |
| ee5ee568-76b2-46ad-9221-c695e6f2149d | highmem.XL64( 8CPU / 64GB RAM )    |
+--------------------------------------+------------------------------------+
利用できるテンプレートの確認
 
$ cloudstack-api listTemplates --templatefilter executable -t id,ostypename
+--------------------------------------+---------------------------------------+
|                  id                  |               ostypename              |
+--------------------------------------+---------------------------------------+
| 06c0be30-95e0-4f90-9af5-aa0637974e9b | CentOS 6.4 (64-bit)                   |
| 08d914bc-c632-4179-95ca-7913aca0275e | Red Hat Enterprise Linux 6.4 (64-bit) |
| 107a7aba-0867-4fa6-927d-772944208ba9 | CentOS 6.4 (64-bit)                   |
| 180ec450-2570-4d6c-b2c0-c40316814025 | CentOS 6.4 (64-bit)                   |
| 180ec450-2570-4d6c-b2c0-c40316814025 | CentOS 6.4 (64-bit)                   |
:
:
後は作っていこう。