情報整理用として活用中


AWS


●EC2
・アカウントの種類:
 - ルートアカウント
 - IAM(Identity and Access Management ):今まで(2023.6.18)ルートアカウントでログインしてプログラミングしてきたが、pip installでローカルインストールあたりで権限問題に直面し上手くいかなくなっていたので色々と調べているとルートでの使用はあまりよくないことが判明したので、このページを参考にIAMユーザを作成し、こちらのアカウントでログインすることにした。
 ⇒sshでのログインは従来と同じpemキーが使用できる(ubuntu@も同じ)。EC2を起動するためにコンソールにログインする際のアカウントをIAMでログインすれば良い。その際、エイリアスを作っておくと簡単にログインできる(上記のIAM今ロールにて設定しておく)。⇒IAMユーザでSSH接続

・EC2インスタンスの作成
 - 一般的にはAMIから作成。AWS AMI(Amazonマシンイメージ):EC2インスタンスの構築に必要な情報がまとまってる起動テンプレート ⇒参考
 - 料金プランは、CPUの数やメモリ容量、Region等によってことなる。⇒参考初期1年の無料枠時はt2.microインスタンス。私の場合はAWSを使い始めてからずっと、料金の一番安いOregonを使っている。
 - インスタンスを作成する際にストレージ(EBS)も自動的に作成される。タイプは8G,GP3を選択(GP2よりGP3のほうが安い模様)。
 - VPCについても、アカウント作成時に自動的に作成されている。自分でVPCを作成したい場合はこちらを参考⇒今回はこれを採用。

・EC2の起動:
 - スマホからAWS Consoleにて実施。

・AWSへの接続
 - .sshフォルダに移動した後にPowerShellから以下コマンドにて接続(TeraTermは特に必要性が無い為現在は未使用)。
>ssh -i "XXXkey.pem" ubuntu@ec2-xxx-xxx-xxx-xxx.us-west-2.compute.amazonaws.com
 ※私の場合、一番安いOregonのEC2を使用している為us-west-2になる。
 ※AMIにてubuntuを選択した場合、sshでのログインユーザ名(@の前の文字)は上記記載のとおり"ubuntu"⇒参考
 - 新しいノートPCになったので、久しぶりにEC2へ接続。pemは単にユーザフォルダ配下に.sshフォルダ毎にコピーすればOK。ssh接続が上手くいかなかったが、セキュリティキーを""で囲み、~.comの最後の/をカットすると接続出来た。※2023.4.16
 - SSH接続以外にも、コンソールからSSH接続する「EC2 Instance Connect」という方法もある模様。⇒参考
・権限関連
 - venv環境下においてsudo pip installはやめたほうが良い。仮想環境下においてもシステム全体にインストールをしてしまう模様。⇒参考

・その他
 - EC2上でのコーディングはVSCodeからリモートにて実施。⇒こちら
 - アプリをデプロイする方法:こちら


======================
●以下、過去ログ
Google App Engineとは違い、各種アプリをインストール出来るIaaS→関連ブログ
このページを参考にAWSを開始。
その中でRSA鍵のダウンロードが出てくるので、それをSSH接続するPCに保存することが必要。
あとはそれを用いてSSH接続すれば完了。
#chmod 600 xxx.pem でパミッション変更も必要。

----2016.2.27-----
Amazon Linuxのインスタンスの時はssh接続が上手く出来たが、Ubuntuのインスタンスを作った後SSH接続したところ
permission denied (publickey)
で上手くいかなかったので原因を探っていたところ、Ubuntuの場合はユーザIDがec2-user@ではなくubuntu@である事が判明。変更したらすんなりログイン出来た。
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html#TroubleshootingInstancesConnectingMindTerm
ssh -i xxx.pem ubuntu@ec2-xxx-xxx-xxx-xxx.xx-xxx-x.compute.amazonaws.com
併せて、apacheもインストール →参考
sudo apt-get install apache2
そして
sudo service apache2 start
にてアパッチが起動される。該当のurlにアクセスするとapacheの画面が表示される。

ちなみに
sudo service apache2 stop
を打つと”このウェブページにアクセスできません”の表示に変わる。
(2017.9.15追記:もしくはhttp://kaworu.jpn.org/ubuntu/%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A7Apache%E3%81%AEhttpd%E3%82%92%E8%B5%B7%E5%8B%95%E3%81%A8%E5%81%9C%E6%AD%A2%E3%81%A8%E5%86%8D%E8%B5%B7%E5%8B%95%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95

----3.19追記----
スマホやタブレットからsshアクセスする際にはsshクライアントが必要となるが、以前使用していた「端末エミュレータ」はsshに対応していないため、とりあえずConnectBotというアプリをインストール
して使用中。
公開鍵をスマホやタブレットにコピーし、メニューより「公開鍵管理」を選択し鍵をインポートすればOK。

------2018.1.2----
awsの.sshフォルダに
authorized_keys
というファイルがあり、公開鍵が保管されているので、これは何かと思い調べてみたところ、AWSの初期設定の時にssh接続するために秘密鍵を作成した際に自動的に公開鍵がここに保管される模様。
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-key-pairs.html

ちなみに、herokuにも同じ公開鍵が設定されていた。(多分、startup engineeringの時に設定した模様)



コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

PAGE TOP