AWS
費用見積もりサイト
作ったばかりのインスタンスでsu -
sudo su -
サービス集
リモートサーバ関連
AWS-S3:Amazon Simple Storage Service リモートストレージ関連
AWS-AMI:Identity and Access Management ユーザー作ったり権限設定したり
DNSサービス。ドメインを買ったりできる
IAM Identity and Access Management ユーザ作ったり権限設定したり
EC2 Elastic Cloud Computing リモートサーバ関係
EBS Elastic Block Store EC2のストレージ周りを担当する
S3 リモートストレージ関係
table:用語集
IAMユーザ 会員登録したユーザだと権限が広過ぎるので、ある程度制限したユーザ
ルートユーザ IAWユーザの逆。全権限を持つユーザ
AMI アマゾンマシンイメージ。ハードウェアの定義らしい
VPC AWS内部のLANの事
インスタンス AMIをコピーして、実行中になった仮想マシン的なもの
リージョン インスタンスが実行されている地域、異なるリージョン同士では直接通信できない
ルートデバイスボリューム AMIが保存されている記憶領域。
AWS Kinesis めっちゃ性能の良いキューイング専用サーバみたいなやつ
AWS SQS SimpleQueueService。Kinesisの簡易版・・・に見える・・・
AWS Lambda EC2抜きにサーバアプリケーションを動かす環境?
AWS S3 静的ファイルホスティング
AWS Route 53 DNS。ドメインを買える。
CloudFront キャッシュサーバ・・・だと思ってるけど他にも色々出来そう
OAI オリジンアクセスアイデンティティ。論理ユーザみたいなやつ
ルートデバイスボリューム
AMIが保存されている記憶領域。
Amazon EC2 インスタンスストア backed と Amazon EBS backed から選べる。 推奨は後者
ルートデバイスタイプは、AMIに紐づいた情報なので、AMIを選ぶと勝手に決まる
AWS Kinesis
逐次で来る大量のデータをいったん溜め込む振る舞いをするそうな
AWS SQS(SimpleQueueService)
AWS Lambda
HTTPリクエスト以外にも、S3へのアップロードやKinesisのストリーミングをトリガに何か動かすこともできるらしい。
海外のニュースメディアではWebサイトに表示する画像を異なるデバイスに合わせてリサイズするような処理で使われているという。
新規アカウントセットアップ
AWSユーザの作成
IAWユーザの作成
AWSユーザの権限が広すぎるから、少し絞ったアカウント作ってねという話
キーペアの作成
上記で作成したIAWユーザでログインした後、キーペアを作ることで、ログインしているIAWユーザのPEMファイルを作れる(ここではAdministrator)
鍵(PEMファイル)作成後、SSH接続する際にPuttyだと不便が多いので、試しにRLoginを導入
VPCの作成
要するに、AWS内のローカルネットワークの定義。
セキュリティグループの作成
要するにファイアーウォール。インバウンドに許可するポートとIPを書く
EC2インスタンスの作成
基本的には画面の通りに入力すればいける
ボリュームの作成を今まで行っていなかったので、インスタンス作成時に合わせて作ってるみたい
EC2にGitLabのインストール
インストール済のAMIがあるのでそれを使う
インスタンス作ったのに公開されない。SSHは動く
VPC周りの設定見直し
インターネットゲートウェイがある事、VPCに紐づいていること
パブリック用のサブネットを作成
ルートテーブルに0.0.0.0/0をゲートウェイに向けた定義
ルートテーブルにパブリック用のサブネットを紐づけ
どうもダメっぽい
手作業でインストールしてみる
AmazonLnux
Ubuntu
t2.microだとメモリが足りなくてインストールできない
t2.mediumにしたら動いた。
初回アクセス
初回アクセスしたらrootユーザのパスワード求められるので作成。
その後は普通に会員登録とかする
お値段
t2.mediumはざっくり月5千円くらい
DynamoDBのローカル環境
DynamodbLocalをダウンロード
tar zxvfで解凍
java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDbで起動
AWS-CLIの用意
CentOSの場合
pip(python-pip)インストール
code:sh
python get-pip.py
AWS CLIインストール
sudo pip install awscli
AWS 値段計算ツール
AWSにSSHで接続
インスタンス作成時に作成したキーペアを用意
AWSインスタンスのデフォルトユーザはec2-user
code:ssh
Host smt-t01
HostName ec2-54-214-225-51.us-west-2.compute.amazonaws.com
user ec2-user
IdentityFile ~/.ssh/takahashi_key.pem
AWSのEC2でちょっとつまづき
新規にインスタンス作ったら、秘密鍵の拡張子がpemになっててビビる。
~/.ssh/configに普通にパス書けば良いよ
ユーザー名、いつも忘れるけどデフォルトはec2-userです。これも未定義で最初間違えた
AWS CLI
始め方
認証方式が変わって、アクセスキーを使った認証は推奨されなくなった(けど、推奨の方法は敷居が高すぎる・・・)