AWSサービスの概要を一覧化するスクレイピング

背景

AWSにはサービスが多種多様にあり、なかなか全体感が一覧できません。
初学者には「全体的にどんなサービスがあるの?」というのが俯瞰的に見ることができないのか「サービスのカテゴリとサービス名と、その概要を一覧化してくれ」なんてことがあろうかと思います。
対してうるせぇググれよさっと各サービスの概要説明を一覧にして差し上げるのがクラウド時代のエンジニアの所作と思われます。知らんけど。

やってみる

cheerio-httpcliでクローリング&スクレイピングしてみました。
最初はHeadless Chromeで始めたのですが、どうやらSPAはなさそうでcheerio-httpcliでよいだろうと書き直しました。

コードは以下に配置しています。
https://github.com/morimop/aws-services-list

  • 重複あっても気にしない
  • 一応言語切り替えができるかもしれない雰囲気は出してみる

うまくいかなかったところ

サービスごとにレイアウトが統一されていないので、ここを取ってくればいい、という単純な判定はできませんでした。

index.js
            const pElements = [].filter.call(
              $('main').find('p'),
              (pn)=>{
                if($(pn).find('a').length == 0){
                  return true;
                };
                return ($(pn).find('a').text() != $(pn).text());
              });

この箇所はEMRのページのせいです。このページだけHadoopやらSparkやらのリンクが冒頭に付いているので、これを除外しています。

index.js
          return $('p').parent().text().trim();

mainが見つからなかったページはとりあえず何か取ってくる、という雑仕様です。
AWS Marketplaceのページが相当おかしな感じになります。

結果

出力は./tmp/以下にJSONで出力していますので、JSON to CSVしたりするとEXCELで見られると思われます。
sample-services.PNG
圧巻。

詳細を以下に貼り付けます。長いので前半のちょっとだけを転載します。

“category” “services__name” “services__href” “services__abstruct”
“コンピューティング” “Amazon EC2” https://aws.amazon.com/jp/ec2/?nc2=h_m1 “Amazon Elastic Compute Cloud (Amazon EC2) は、安全でサイズ変更可能なコンピューティング性能をクラウド内で提供するウェブサービスです。ウェブスケールのクラウドコンピューティングを開発者が簡単に利用できるよう設計されています。 Amazon EC2 のシンプルなウェブサービスインターフェイスによって、手間をかけず、必要な機能を取得および設定できます。お客様のコンピュートリソースに対して、高機能なコントロールが提供され、Amazon の実績あるインフラストラクチャ上で実行できます。Amazon EC2 では、わずか数分間で新規サーバーインスタンスを取得して起動できるようになります。これにより、コンピューティング要件の変化に合わせて、すばやく容量をスケールアップおよびスケールダウンできます。実際に使用した分のみ料金が発生するため、Amazon EC2 はコンピューティングの経済性も変革します。Amazon EC2 を利用すれば、耐障害性に優れたアプリケーションの構築が可能になり、よくある障害のシナリオとは無縁になります。”
“” “Amazon EC2 Container Registry” https://aws.amazon.com/jp/ecr/?nc2=h_m1 “Amazon EC2 Container Registry (ECR) は、完全マネージド型の Docker コンテナレジストリです。このレジストリを使うと、開発者は Docker コンテナイメージを簡単に保存、管理、デプロイできます。Amazon ECR は Amazon EC2 Container Service (ECS) に統合されているため、開発から本番までのワークフローを簡略化できます。Amazon ECR を使用すると、自前のコンテナリポジトリの運用や、基盤となるインフラストラクチャのスケーリングの検討は不要になります。Amazon ECR は非常に可用性が高くスケーラブルなアーキテクチャでイメージをホストするため、コンテナをアプリケーションに確実にデプロイすることが可能です。AWS Identity and Access Management (IAM) に統合すると、各リポジトリをリソースレベルで制御できます。Amazon ECR に前払い料金などの義務はありません。リポジトリに保存したデータ量とインターネットに送信されたデータ量に対してのみ料金が発生します。 AWS 無料利用枠の一環として、Amazon EC2 Container Registry を無料でお試しいただけます。Amazon ECR では、新しいお客様に、月 500 MB 分のストレージを 1 年間にわたって提供いたします。”
“” “Amazon EC2 Container Service” https://aws.amazon.com/jp/ecs/?nc2=h_m1 “Amazon EC2 Container Service (ECS) は、非常にスケーラブルかつ高性能なコンテナ管理サービスで、Docker コンテナに対応しており、Amazon EC2 インスタンスのマネージド型クラスターでアプリケーションを簡単に実行できます。Amazon ECS を使用すると、自社でクラスター管理インフラストラクチャのインストール、運用、スケールを行う必要がなくなります。簡単な API 呼び出しを使用して、Docker 対応アプリケーションの起動と終了、クラスターの完了状態のクエリ、多くの使い慣れた機能 (セキュリティグループ、Elastic Load Balancing、EBS ボリューム、IAM ロールなど) へのアクセスを実行できます。Amazon ECS を使用することで、リソースニーズと可用性要件に基づいて、クラスター全体のコンテナの配置をスケジューリングできます。ビジネスまたはアプリケーション固有の要件を満たすために、独自のスケジューラーまたはサードパーティ製のスケジューラーを統合することもできます。 Amazon EC2 Container Service に追加料金は発生しません。アプリケーションを保存および実行するために作成した AWS リソース(EC2 インスタンス、EBS ボリュームなど)に対してのみ料金が発生します。”
“” “Amazon Lightsail” https://amazonlightsail.com “Everything you need to jumpstart your project on AWS—compute, storage, and networking—for a low, predictable price. Launch a virtual private server with just a few clicks.”
“” “Amazon VPC” https://aws.amazon.com/jp/vpc/?nc2=h_m1 “Amazon Virtual Private Cloud (Amazon VPC) により、アマゾン ウェブ サービス (AWS) クラウドの論理的に分離したセクションをプロビジョニングできます。これにより、AWS リソースをユーザー定義の仮想ネットワークで起動できます。ユーザーの IP アドレス範囲の選択、サブネットの作成、ルートテーブルとネットワークゲートウェイの構成など、仮想ネットワーク環境を完全にコントロールできます。VPC では、リソースやアプリケーションに安全かつ簡単にアクセスできるよう、IPv4 と IPv6 を両方とも使用できます。 Amazon Virtual Private Cloud のネットワーク設定は容易にカスタマイズすることができます。例えば、インターネットとのアクセスが可能なウェブサーバーのパブリック サブネットを作成し、データベースやアプリケーションサーバーなどのバックエンドシステムをインターネットとのアクセスを許可していないプライベート サブネットに配置できます。セキュリティグループやネットワークアクセスコントロールリストなどの複数のセキュリティレイヤーを活用し、各サブネットの Amazon EC2 インスタンスへのアクセスをコントロールすることができます。”
“” “AWS Batch” https://aws.amazon.com/jp/batch/?nc2=h_m1 “AWS Batch を使用することにより、開発者、科学者、およびエンジニアは、数十万件のバッチコンピューティングジョブを AWS で簡単かつ効率的に実行できます。AWS Batch では、送信されたバッチジョブのボリュームと特別なリソース要件に応じて、コンピューティングリソース (CPU やメモリ最適化インスタンス) の最適な数量とタイプを動的にプロビジョニングできます。AWS Batch を使うと、ジョブを実行するためのバッチコンピューティングソフトウェアやサーバークラスターをインストールしたり、管理したりする必要がなくなります。これにより、結果の分析と問題解決に集中できます。AWS Batch では、Amazon EC2 やスポットインスタンスなどの AWS コンピューティングサービスと機能を最大限に活用して、バッチコンピューティングワークロードを計画、スケジュール作成、実行します。 AWS Batch に対する追加料金はありません。バッチジョブを保存したり実行したりするために作成した AWS リソース (EC2 インスタンスなど) に対してのみ料金が発生します。”
“” “AWS Elastic Beanstalk” https://aws.amazon.com/jp/elasticbeanstalk/?nc2=h_m1 “簡単に開始でき、不足を感じることなく利用 AWS Elastic Beanstalk は、Java、.NET、PHP、Node.js、Python、Ruby、Go および Docker を使用して開発されたウェブアプリケーションやサービスを、Apache、Nginx、Passenger、IIS などの使い慣れたサーバーでデプロイおよびスケーリングするための、使いやすいサービスです。”
“” “AWS Lambda” https://aws.amazon.com/jp/lambda/?nc2=h_m1 “AWS Lambda を使用すれば、サーバーのプロビジョニングや管理なしでコードを実行できます。課金は実際に使用したコンピューティング時間に対してのみ発生し、コードが実行されていないときには料金も発生しません。Lambda を使用すれば、実質どのようなタイプのアプリケーションやバックエンドサービスでも管理を必要とせずに実行できます。コードさえアップロードすれば、高可用性を実現しながらコードを実行およびスケーリングするために必要なことは、すべて Lambda により行われます。コードは、他の AWS サービスから自動的にトリガーするよう設定することも、ウェブやモバイルアプリケーションから直接呼び出すよう設定することもできます。 AWS Lambda とは(日本語字幕)”
“” “Auto Scaling” https://aws.amazon.com/jp/autoscaling/?nc2=h_m1 “Auto Scaling により、アプリケーションの可用性を維持できると同時に、お客様が定義する条件に応じて Amazon EC2 のキャパシティーを動的および自動的に縮小あるいは拡張できます。Auto Scaling を EC2 インスタンスのフリート管理に使用することによって、フリートの状態と可用性を維持し、必要な数の Amazon EC2 インスタンスを確実に実行できます。また、Auto Scaling を EC2 インスタンスの動的スケーリングに使用することによって、需要が急激に上昇したときには Amazon EC2 インスタンスの数を自動的に増やしてパフォーマンスを維持し、需要が落ち着いた状態にあるときには能力を縮小してコストを削減できます。Auto Scaling は需要のパターンが一定のアプリケーションにも、使用量が時間、日、週で変動するアプリケーションにも適しています。Auto Scaling を Amazon EC2 で使用する以外に、Application Auto Scaling を使用して、Amazon ECS、Amazon EC2 スポットフリート、Amazon EMR クラスター、AppStream 2.0 フリート、Amazon DynamoDB といった AWS のその他のサービスのリソースを自動的にスケールできます。 12 か月間の AWS 無料利用枠と、24 時間年中無休のカスタマーサービスやサポートフォーラムなどの AWS の基本的なサポート機能を利用できます。”
“” “Elastic Load Balancing” https://aws.amazon.com/jp/elasticloadbalancing/?nc2=h_m1 “Elastic Load Balancing は、アプリケーションへのトラフィックを複数のターゲット (Amazon EC2 インスタンス、コンテナ、IP アドレスなど) に自動的に分散します。Elastic Load Balancing は、変動するアプリケーショントラフィックの負荷を、1 つのアベイラビリティーゾーンまたは複数のアベイラビリティーゾーンで処理できます。Elastic Load Balancing では、3 種類のロードバランサーが用意されています。これらはすべて、アプリケーションの耐障害性を高めるのに必要な高い可用性、自動スケーリング、堅牢なセキュリティを特徴としています。 Application Load Balancer”
“ストレージ” “Amazon Simple Storage Service (S3)” https://aws.amazon.com/jp/s3/?nc2=h_m1 “今日の企業に求められるのは、大規模なデータを簡単かつ安全に収集、保存、分析する能力です。Amazon S3 は、ウェブサイトやモバイルアプリケーション、社内アプリケーション、IoT センサーやデバイスからのデータなど、どこからの、どのような量のデータでも保存と取得が可能なオブジェクトストレージです。これは 99.999999999% の耐久性を提供し、すべての業界のマーケットリーダーによって使用される何百万ものアプリケーションのデータを保管できるように設計されています。S3 では最も厳格なセキュリティ要件を満たす包括的なセキュリティおよびコンプライアンス機能が提供されます。お客様は柔軟にデータを管理して、コスト最適化、アクセス制御、コンプライアンスに対応できるようになります。S3 は、インプレースクエリ機能を備えた唯一のクラウドストレージソリューションであり、S3 の保管データに強力な分析を直接実行できます。また、Amazon S3 は、ISV ソリューションやシステムインテグレータのパートナーによる最大のエコシステムを備えた、最も強力なサポートが提供されているストレージプラットフォームです。 “

続きを読む

【Terraform】インスタンスが作成できない。(Error launching source instance: OptInRequire)

エラー

main.tfを作成して、terraform applyをしたら、下記エラーが出ました。
AWSのコンソールで確認すると、EC2インスタンスのみ作成されていないようでした。
→セキュリティグループやVPCなど、インスタンスに依存しない部分は作成されていました。

Error applying plan:

1 error(s) occurred:

* aws_instance.TestEC2: 1 error(s) occurred:

* aws_instance.TestEC2: Error launching source instance: OptInRequired: In order to use this AWS Marketplace product you need to accept terms and subscribe. To do so please visit http://aws.amazon.com/marketplace/pp?sku=aw0evgkw8e5c1q413zgy5pjce
    status code: 401, request id: 845acf0d-7dec-4ebd-b4b4-a4771f04ea16

Terraform does not automatically rollback in the face of errors.
Instead, your Terraform state file has been partially updated with
any resources that successfully completed. Please address the error
above and apply again to incrementally change your infrastructure.

解決方法

AWS Marketplaceで認証を許可してから、再度terraform applyを実行!

1.まずは、エラーに書いてあったWebページに移動し、[continue]を押下します。

To do so please visit http://aws.amazon.com/marketplace/pp?sku=aw0evgkw8e5c1q413zgy5pjce

スクリーンショット 2017-10-29 14.00.19.png

2.[Manual Launch]を選択し、[Accept Software Terms]を押下します。

スクリーンショット 2017-10-29 14.04.39.png

3.下記画面が出たら成功です!

スクリーンショット 2017-10-29 14.04.46.png

再度terraform applyして、問題なければ完了!

続きを読む

MapDをAWS上で試してみた

MapDとは

https://www.mapd.com/
地図データを扱うことに長けたデータベース製品であり、データを可視化するVisual Analytics Platformを持つ。
データベースの検索から地図上への表示までがとても高速なのが売り。
Enterprise Edition(有償)とCommunity Edition(無償)があり、どちらもAMIが提供されているため、AWS環境があれば簡単に触ることができる。
今回はCommunity EditionのAMIを試してみる。
ちなみに、AMIには既にデモデータが入っているため、どれだけ高速にデータを可視化できるのか試すことができる。

インスタンス作成上限の制限緩和申請

MapD Community EditionのAMIは次の3つのインスタンスタイプでしか作成できない。

  • p2.xlarge
  • p2.8xlarge
  • p2.16xlarge

しかし、これらのタイプのインスタンスの作成上限はデフォルトで0になっているようで、このままではインスタンスを作成できない。
そのため、AWSコンソールにログインし、EC2サービスを開いて、左上にある”制限”という項目から、今回利用したいインスタンスの上限制限を緩和する申請を出さなければならない。
私の場合は申請してから1日後にインスタンスを作成できるようになった。

費用

Community Editionの費用

インスタンスタイプ 1時間当たりの費用
p2.xlarge $1.542
p2.8xlarge $12.336
p2.16xlarge $24.672

2017年10月時点

導入手順

インスタンスの作成

  1. AWSコンソールにログインし、EC2サービスを開く
  2. インスタンスの作成をクリックし、左側のペインからAWS Marketplaceを開く
  3. AWS Marketplace 製品の検索にMapDと入力し、Community Editionを選択する
  4. インスタンスタイプはp2.xlargeを選択した
  5. ネットワークは必要に応じて設定し、ストレージはデフォルトのままとした
  6. セキュリティグループはデフォルトの設定に加えてHTTPSを通すように設定した

ElasticIPとパブリックDNS

  1. ElasticIPを使ってインスタンスにグローバルIPを割り当てる
  2. パブリックDNSが表示されればok
  3. されない人は、VPCの設定から、DNS解決とDNSホスト名を「はい」に設定する

早速触ってみる

https://<public_dns>:8443

上記のURLにアクセスすると、次のような画面になります。
(安全な接続ではありませんというエラーが出ても無視して進む)
image.png

ここでPASSWORDにインスタンスIDを入力するとログインできます。
ログイン後の画面はこんな感じ
image.png

デモデータはニューヨークのタクシー情報のようです。
画面をスクロールすると、右側の表示がリアルタイムに切り替わっていく。
(右上にデータ件数が表示されているのですが、この件数をほぼリアルタイムで可視化できる!)
右側の棒グラフをクリックすると、そのデータだけ地図上に表示できたりします。
image.png

まとめ

  • MapDの立ち上げは、ものの15分ぐらいでできた
  • デモデータも入っているし、可視化まで簡単にできるので、どの程度の性能なのか見たい人にオススメ

続きを読む

AWS サービス別 APIプロトコル一覧

Pythonのbotocoreに入っているメタデータから持ってきた。

サービス名 API protocol
acm json
apigateway rest-json
application-autoscaling json
appstream json
athena json
autoscaling query
batch rest-json
budgets json
clouddirectory rest-json
cloudformation query
cloudfront rest-xml
cloudhsm json
cloudsearch query
cloudsearchdomain rest-json
cloudtrail json
cloudwatch query
codebuild json
codecommit json
codedeploy json
codepipeline json
codestar json
cognito-identity json
cognito-idp json
cognito-sync rest-json
config json
cur json
datapipeline json
dax json
devicefarm json
directconnect json
discovery json
dms json
ds json
dynamodb json
dynamodbstreams json
ec2 ec2
ecr json
ecs json
efs rest-json
elasticache query
elasticbeanstalk query
elastictranscoder rest-json
elb query
elbv2 query
emr json
es rest-json
events json
firehose json
gamelift json
glacier rest-json
greengrass rest-json
health json
iam query
importexport query
inspector json
iot rest-json
iot-data rest-json
kinesis json
kinesisanalytics json
kms json
lambda rest-json
lex-models rest-json
lex-runtime rest-json
lightsail json
logs json
machinelearning json
marketplace-entitlement json
marketplacecommerceanalytics json
meteringmarketplace json
mturk json
opsworks json
opsworkscm json
organizations json
pinpoint rest-json
polly rest-json
rds query
redshift query
rekognition json
resourcegroupstaggingapi json
route53 rest-xml
route53domains json
s3 rest-xml
sdb query
servicecatalog json
ses query
shield json
sms json
snowball json
sns query
sqs query
ssm json
stepfunctions json
storagegateway json
sts query
support json
swf json
waf json
waf-regional json
workdocs rest-json
workspaces json
xray rest-json

続きを読む

業務でawsを使っていたらCloudTrailを設定しよう

awsを使っていたらCloudTrailを設定しよう

CloudTrailとは

  • AWS アカウントのガバナンス、コンプライアンス、運用監査、リスク監査を可能にするサービスです。(公式)

CloudTrail-01-HeaderPic-v2-small.png

できること

  • アカウントアクティビティをログに記録し、継続的に監視し、保持できます。
  • SDK やコマンドラインツール、その他の AWS のサービスを使用して実行されるアクションなど、AWS アカウントアクティビティのイベント履歴を把握できます。
  • このイベント履歴により、セキュリティ分析、リソース変更の追跡、トラブルシューティングをより簡単に実行できるようになります。

メリット

コンプライアンスの簡素化

  • アカウント内で行われた操作のイベントログが自動的に記録および保存されるため、コンプライアンス監査を簡素化できます。
  • Amazon CloudWatch Logs との統合により、ログデータを検索したり、コンプライアンス違反のイベントを特定したり、インシデントの調査と監査者の要求に対する応答を迅速化したりできます。

ユーザーとリソースのアクティビティの可視化

  • AWS マネジメントコンソールでの操作と AWS API コールを記録することにより、ユーザーおよびリソースのアクティビティを把握しやすくなります。
  • AWS を呼び出したユーザーとアカウント、呼び出し元 IP アドレス、および呼び出し日時を特定できます。

セキュリティのオートメーション

  • セキュリティの脆弱性を引き起こす可能性のあるイベントが検出されたときに実行されるワークフローを定義できます。
  • 例えば、 Amazon S3 バケットを公開する API コールが CloudTrail によってログに記録されたときに特定のポリシーをそのバケットに追加する、というワークフローを作成できます。

利用してみる

  • CloudTrailにアクセスするとすでにログが記録されているのがわかります
  • 誰が何時に何の操作をしたのかがわかります

Screen Shot 2017-09-16 at 21.28.41.png

  • すべてのイベントを表示してみると

Screen Shot 2017-09-16 at 21.28.56.png

  • 7日以上のログを保存する場合や、アラートを飛ばしたいときは「証跡情報を作成」します

Screen Shot 2017-09-16 at 21.29.17.png

  • s3バケットなどを細かく設定できます!!!!!!

料金

  • WS CloudTrail を使用すると、サポートされたサービスの作成、変更、削除のオペレーションに関する過去 7 日間分のアカウントアクティビティの表示とダウンロードを無料で実行できます。

  • 証跡情報を作成する際に AWS CloudTrail からの課金は発生しません。CloudTrail の証跡を作成すると、Amazon S3 バケットに 2 種類のイベントを送信できるようになります。

  • 詳しくは公式の料金表

サポートされているサービス

ほとんどサポートされていますね

  • AWS Marketplace
  • Amazon Athena
  • Amazon CloudSearch
  • Amazon EMR
  • AWS Data Pipeline
  • Amazon Kinesis Firehose
  • Amazon Kinesis Streams
  • Amazon QuickSight
  • Amazon API Gateway
  • Amazon Elastic Transcoder
  • Amazon Elasticsearch Service
  • Amazon Simple Workflow Service
  • AWS Step Functions
  • Amazon Machine Learning
  • Amazon Polly
  • Amazon WorkDocs
  • アプリケーションの Auto Scaling
  • Auto Scaling
  • Amazon EC2 Container Registry
  • Amazon EC2 Container Service
  • AWS Elastic Beanstalk
  • Amazon Elastic Compute Cloud
  • Elastic Load Balancing
  • AWS Lambda
  • Amazon Lightsail
  • Amazon DynamoDB
  • Amazon ElastiCache
  • Amazon Redshift
  • Amazon Relational Database Service
  • Amazon WorkSpaces
  • AWS CodeBuild
  • AWS CodeCommit
  • AWS CodeDeploy
  • AWS CodePipeline
  • AWS CodeStar
  • Amazon GameLift
  • AWS IoT
  • AWS Application Discovery Service
  • AWS CloudFormation
  • AWS CloudTrail
  • Amazon CloudWatch
  • Amazon CloudWatch Events
  • Amazon CloudWatch Logs
  • AWS Config
  • AWS マネージドサービス
  • AWS OpsWorks
  • AWS OpsWorks for Chef Automate
  • AWS Organizations
  • AWS Service Catalog
  • Amazon Simple Email Service
  • Amazon Simple Notification Service
  • Amazon Simple Queue Service
  • AWS Database Migration Service
  • AWS Server Migration Service
  • Amazon Cognito
  • AWS Device Farm
  • Amazon CloudFront
  • AWS Direct Connect
  • Amazon Route 53
  • Amazon Virtual Private Cloud
  • AWS Certificate Manager
  • Amazon Cloud Directory
  • AWS CloudHSM
  • AWS Directory Service
  • AWS Identity and Access Management
  • Amazon Inspector
  • AWS Key Management Service
  • AWS Security Token Service
  • AWS WAF
  • Amazon Elastic Block Store
  • Amazon Elastic File System
  • Amazon Glacier
  • Amazon Simple Storage Service
  • AWS Storage Gateway
  • AWS Personal Health Dashboard
  • AWS サポート

サポートされていないもの

サポートされていないものもありますので注意が必要です。

Amazon AppStream
Amazon AppStream 2.0
Amazon Connect
Amazon Lex
Amazon Mobile Analytics
Amazon Pinpoint
Amazon Rekognition
Amazon WorkMail
AWS Batch
AWS Greengrass
AWS Shield
AWS Snowball
AWS X-Ray
Amazon Chime
Amazon WorkSpaces Application Manager
AWS Artifact
AWS Mobile Hub
AWS Snowball Edge
AWS Snowmobile
AWS Trusted Advisor

便利なリンク先

こちらいろいろやっていらっしゃる方がいます

まとめ

  • これでアカウントのガバナンス、コンプライアンス、運用監査、リスク監査を可能になりました。
  • 案外かんたんなので、設定触ってみることをおすすめします!

続きを読む

AWSのGPUインスタンスでjupyterを使う

機械学習の試行錯誤でGPUを使いたくなったとき、自前のPCにはGPUがないのでAWSを使います。
その時のやり方。

環境
– OS: Windows 10
– ターミナル: TeraTerm
– キー変換ツール: PuTTYgen

手順

  1. GPUインスタンスを借りる

    1. AWS Marketplaceで”Deep Learning AMI”と検索して出てくるAMIを選択。(今回はUbuntsuを使う)
    2. インスタンスタイプで”g2.2xlarge”を選択
    3. インスタンスの詳細の設定。
      ここでIAMロールは適切なものを。できればスポットインスタンスにすると安く済む
    4. セキュリティグループの設定
      SSHの接続元が初期設定0.0.0.0/0になっているのを’マイIP’に変更する
    5. 作成する。
  2. SSH転送の設定をする

    1. キーペア(*.pem)をダウンロードして、PuTTYgenで.ppk ファイルへ変換する。
    2. TeraTermのメニューから[設定] > [SSH転送]を開く
    3. [追加]から、[ローカルのポート]のほうへ8888, [リモート側ホスト]へlocalhost、[ポート]に8888を入力。[リッスン]には何も入力しない。
      (リモート側ホストがlocalhostというのが大事。SSHで接続したところから転送する先がそのマシンそのものということ)
  3. ターミナルでログインする

    1. ホスト名のところに ubuntsu@ec2-なんたらかんたら.compute.amazonaws.com といれる。
    2. 認証方式に [RSA/・・・鍵を使う]を選択して、秘密鍵に (PuTTYで変換した).ppkファイルを指定する。
    3. ログインできたら、jupyterを起動する。
      $ jupyter notebook
  4. ブラウザで表示
    ターミナルにログインURLが出てくるので、そのURLをブラウザに入力して開く

続きを読む