2021/03/3

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エンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】