この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。
初めに
今日はここで、仕事で遭遇したサービスや問題点のいくつかを記録します。
一、インスタンスのオン/オフの状態でEBSをスケーリングすることができます。
二、boto3経由でec2インスタンスIDを取得する際の設定の問題です。
操作
EBS拡張
まずは、インスタンスの電源を切った状態でEBS拡張を行ってみましょう。
まず、展開したいインスタンスを見つけて、EBSのサイズを確認して、EBS IDをクリックします。
EBSの画面に入り、[アクション]→[ボリュームの変更]をクリックします。
その後、拡張するメモリのサイズを入力して確認します。ここで9GiBから15GiBへの拡張します。
拡張成功の画面
その後、インスタンスインターフェイスに戻って、EBSが正常に展開されているかどうかを確認します。
次に、オン状態でインスタンスを展開し、上記と同様の操作インターフェースを使用します。
まず、変更したいインスタンスを選択し、EBSの容量を確認します。
その後、EBS IDをクリックしてEBSのインターフェイスにジャンプし、[アクション]→[ボリュームの変更]をクリックします。
その後、拡張するメモリのサイズを入力して確認します。ここで15GiBから20GiBへの拡張します。
その後、インスタンス画面に戻り、EBSが正常に展開されているかどうかを確認します。
遭遇した問題
EBS展開
拡張が完了した後、再び同じインスタンスを拡張し、問題があることがわかり、後で公式ドキュメントを確認したところ、拡張操作後6時間以内は同じインスタンスを拡張することはできないというのが公式の回答となっています。
コードはインスタンスのIDを取得するために使用されましたが、返されたデータにはインスタンスのIDが含まれていませんでした。もう一点追加すると、EBSの容量を変更する場合、容量を減らすことはできず、拡張することしかできません。
まず、EC2コンソールにアクセスして、インスタンスがあることを確認しました。 boto3のドキュメントを確認したところ、問題は見つかりませんでした。最後に、aws設定ファイルを確認し、問題を見つけました。その理由は、他の演習を行う前にプロファイルを切り替えたユーザーが、コードを介してアクセスしたユーザーには現在インスタンスがないため、インスタンスIDが返されないためです。 aws configureコマンドラインで設定ファイルを変更し、コードを再実行すると、最終的に現在のユーザーのすべてのインスタンスIDが正常に取得されます。
まとめ
問題に遭遇したときには、ドキュメントを頻繁にチェックすることで解決策が見つからない可能性がありますが、他ドキュメントを見ることで、他にも関連することが学べると思います。