AWSでのPythonを知ろう!AWS操作のためのPythonの初期設定方法を紹介!
AWSでのPythonを知ろう!~概要・初期設定まで~
当記事では、通販でお馴染みのAmazon社が提供するクラウドコンピューティングサービス、Amazon Web Services(以下AWS)においてのPythonについて解説していきます。
初心者の方にもわかりやすいように、概要から初期設定の流れまで解説いたしますので参考にしてください。
AWSにおけるPythonの解説に当たって
今回解説するに当たって、最低限AWSとクラウドコンピューティング、そしてPythonについての理解が不可欠です。
そこで、軽く前提知識に触れておきますので、不要な方は次章へお進みください。
そもそもクラウドコンピューティングサービスとは
イメージとしては物流で言う『倉庫の貸し出し』に当たります。例えば1台のノートパソコンやスマートフォンには、保存できる情報の量に限りがあります。皆さんもスマートフォンの容量が足りないという通知を受けて写真を消す、などの経験があると思います。
この問題を解決するのがクラウドコンピューティングで、インターネット上に巨大な倉庫を作りあらゆる情報をそこに保存するという物です。
これにより情報を1か所に保存し、インターネットに接続さえできれば、どんな場所からでも、あらゆる電子機器で、その情報にアクセスできるようになります。
つまり、クラウドコンピューティングサービスとは、このコンピュータの『倉庫』とそれに付随する機能を貸し出してくれるサービスの総称です。
AWSの概要
AWSはクラウドコンピューティングを扱うサービスとして、高いシェア率を誇ります。そのサービスは幅広く、単純なデータの保存からその膨大なサーバと処理速度の貸し出しまで様々です。
例えば、プログラミングからビジネスの分析、機械学習などを全てクラウド上、つまり、自分のコンピュータに負荷をかけることなく行えるのです。
また、サービス利用者同士のコミュニティも存在しており、過去の技術のシェアなども盛んに行われています。セキュリティも軍や銀行での使用に耐えうるほどに強力で、それぞれの技術革新も高速です。
さらに、14年の運用を経て信頼性も確かなものです。今回のPythonについても、その技術をシェアしてくださるコミュニティが内部にあったりします。クラウドのサーバも世界中にあるので、データの交換もAWS上で一瞬です。
このように、AWSの強みは数限りなくあります。
Pythonの概要
Pythonとは、いわゆるプログラミング言語の1つです。比較的新しい言語で、初心者に優しいことで知られています。エクセルの自動化や、データの可視化、画像認識などを実行するのが得意な言語で、AIやアプリケーションの作成によく使われています。
また、2020年のプログラミング言語の人気投票で1位に選ばれるなど、話題には事欠かない言語です。エンジニアを今から目指されるのであれば、まず手を付けるべきだといえます。
PythonでAWSを操作するとは?
既存のコンソールがあるのに、わざわざPythonで操作する意義について解説します。
Pythonに限らず、AWSをコマンド操作することには「自分の好きなように作業を自動化できる為、時短・人為的なミスがなくなる」「慣れればコンソール操作よりかなり速い」「実際のコマンドを共有するだけなので第三者への説明が楽」などのメリットがあります。
ただし、環境の構築までには勉強が必要ですので頑張っていきましょう。Pythonでのコマンド操作はサービスの操作からインフラの設定まで幅広く対応していますので、学んで損はありません。
AWS操作のためのPythonの初期設定
では、以下に実際のPythonでのAWS操作を実現するための初期設定の流れを解説します。ステップ形式になっており、もっともシンプルな形に致しましたのでご覧ください。
なお、Pythonのインストールは済んでいるものとして話を進めます。
ステップ1.Boto3をインストール
pipから、捜査ツールであるBoto3をダウンロードします。下記のコマンドをpipで実行してください。
なお、Pythonのバージョンによってはサポートされていない場合もあるのでご留意ください。
pip install boto3
ステップ2.AWS上で動かす?環境設定から動かす?(初期化)
さて、次にPythonをAWS上で動かすのか、環境設定上で動かすのかが問題になります。ご自分の用途に合わせて選択してください。また、環境設定から動かす場合はAPIキーの取得が必要になってきます。
その為、とりあえずAWS上で動かす設定を済ませてしまうのも1つです。
ステップ3.いよいよ初期化!(環境設定から)
環境設定から動かす方は、当然ながらAPIキーの取り扱いに注意が必要です。APIキーが流出すると他者に悪用されて多額の請求が来るなどの事例も実際にあります。
従って、APIキーをソースコードに埋め込むことはせずに、APIキーを環境変数にして、それをBoto3に読み取らせましょう。
APIキーとして、アクセスキーID (access_key_id)とシークレットアクセスキー (secret_access_key)を用意して頂き、それぞれをAWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEYの2種類の環境変数に置きましょう。
この環境変数は決められたもので、ほかの表し方はありません。
あとは、環境変数と使いたいサービスを引数に以下のようにコーディングします。これにて初期化は完了となります。
s3 = boto3.client(‘使いたいサービス’, region_name=’ap-northeast-1′)
また、実はリージョンもAWS_DEFAULT_REGIONという環境変数に置けるので省略可能です。
ステップ3.いよいよ初期化!(AWS上で)
こちらは、おなじAWS上での処理の為、初期化は非常に簡単です。
s3 = boto3.client(‘使いたいサービス’)
上記一行でおしまいです。この場合、Boto3がアクセスできるのはRoleとしてEC2やLambdaに設定された範囲内という制約はついてしまいますが、裏を返せばセキュリティ的にはこちらの方が固くて安心です。
初期化が終われば、後はお好きなようにBoto3を活用ください。
より高レベルなライブラリをお求めの方は…
先ほどまで紹介してきたコードは、APIをラップした形で呼び出すコードです。
例えばあなたがオブジェクト指向的なコーディングでもう少し高レベルなライブラリが欲しい時は、先ほど使用したcliantではなくresourceを利用されるといいでしょう。単純に入れ替えて下記のようにコーディングするだけで変更可能です。
s3 = boto3.resource(‘使いたいサービス’)
ただ、こちらはあまり一般に使用できず、たとえばS3などのような頻出のサービスにのみ対応しています。工夫次第で世界が広がることでしょう。
まとめ
今回は、AWSの操作をコンソールではなくコマンドで、Pythonを利用して実行するための解説でした。
流れとしては、Boto3をインストールして初期化するだけという物でしたが、なかなか手を出せずにいた方も多いのではないでしょうか。Boto3は本当に優秀で、これから利用されていくうちにその便利さに驚かれること請け合いです。
これにて、AWSに独自のコマンド追加などをすることで、さらなる効率の良い運用が可能となりました。利用しない場合と比べると、そのスピードや効率の差はどんどんと開いてゆき、やがては大きなものとなるでしょう。
ぜひ、オリジナルの運用法を発見・構築し、より良いAWSライフをお過ごしください。最後に、くれぐれもAPIキーの管理にはお気をつけください。
この記事の監修者・著者
-
ITエンジニア派遣サービス事業を行っています。AWSやSalesforceなど専門領域に特化したITエンジニアが4,715名在籍し、常時100名以上のITエンジニアの即日派遣が可能です。
・2021年:AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
・2022年3月:人材サービス型 AWSパートナー認定
・AWS認定資格保有者数1,154名(2024年6月現在)
・Salesforce認定コンサルティングパートナー
・Salesforce認定資格者276名在籍(2024年5月現在)
・LPIC+CCNA 認定資格者:472 名(2024年6月時点)
最新の投稿
- 2024-07-01営業インタビュー最短で当日にご提案可能。 OPE営業の対応が早い3つの理由
- 2024-07-01営業インタビュー研修見学ツアーが高評価!「お客様のOPEに対する期待を高め、継続に貢献できればと思います。」
- 2024-07-01営業インタビュー信頼関係を構築し、エンジニアの長期就業へ
- 2024-06-30キャリアインフラエンジニアはやめとけって本当?きつい理由を口コミを交えて解説
- 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
- すぐに採用したいが、応募がぜんぜん集まらない
オープンアップITエンジニアをご検討ください!
当社のITエンジニア派遣サービスは
- 派遣スピードが速い!(最短即日)
- 4,500名のエンジニアから貴社にマッチした人材を派遣
- 正社員雇用も可能
こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。