2021/10/11

AWS CLIをproxy環境下でも利用するには? ~AWS CLIのメリットも解説~

 
  

AWSとは?


AWSとは、Amazon Web Servicesの略で、Amazonがリリースしているクラウドコンピューティングサービスです。

クラウドコンピューティングの分野では世界でも圧倒的なシェアを誇っており、他社の追随を許しません。サービスはクラウドの分野において幅広く、広告・Webマーケティング業界、金融業界、製造業界など多種多様な業界の方が利用しています。

例えばAWSを利用すれば、銀行のシステムをより低コストかつ急激に変化する顧客ニーズに合わせて変化させていけるようなインフラ基盤にしたい場合に、オンプレミス環境と比べるとハードウェア代は掛からず、比較的インフラ環境もすぐに最新化することが可能です。

CLIはコマンドラインインターフェイスの略称


CLIとは、コマンドラインインターフェイスの略称で、画面に向かってコマンドを打ってコンピューターを操作するユーザーインターフェイスです。

CLIはGUIとよく対比させられます。GUIはグラフィカルユーザーインターフェースで、普段多くの方が利用されています。GUIでは視覚的にコンピューターを操作できるのに対し、CLIは文字のみでコンピューターを操作します。

例えばWindowsのコマンドプロンプトを例にとると、コマンドを打ち込む画面で

ipconfig


と打ち込むとマシンのIP情報の一覧が表示されます。

AWSにはCLI操作が可能になるサービスがある


AWSでは、CLIで操作が可能になるサービスを提供しています。

ダウンロードすることで、最小限の設定でコマンドラインからAWSの沢山存在するサービスを操作することが可能です。

例えば、test.txtというファイルを複数アップロードしたい場合にCLIであれば

$ aws s3 cp myfolder s3://mybucket/myfolder --recursive
upload: myfolder/file1.txt to s3://mybucket/myfolder/test.txt
upload: myfolder/subfolder/file1.txt to s3://mybucket/myfolder/subfolder/test.txt


こちらのようなコマンドを一度打てば複数のフォルダにアップロードが開始されます。

AWS CLIのメリット


では具体的なAWS CLIを利用するメリットは何なのでしょうか。

AWS CLIのメリットについて、作業の自動化とCLIにしかできない操作がある点について紹介します。

作業の自動化及び効率化ができる

AWS CLIを利用すれば、GUIで行なっていた操作の自動化を図れます。

GUIでの操作は基本的に人が行いますが、人が行うということはミスも増えます。その点CLIはプログラムが作業するのでプログラムにミスがなければミスは起こりません。またプログラムが自動的に作業するため、作業の効率化にもつながります。

例えば、セキュリティグループを作成したい場合、GUIではhttps://console.aws.amazon.com/ec2/を開いてから6つの手順を経る必要がありますが、コマンドであれば

aws ec2 authorize-security-group-ingress \
--group-name sample-sg-group \
--protocol tcp \
--port 22 \
--cidr "0.0.0.0/0"



をコマンドラインで打つだけで完了します。

CLIにしかできない操作ができる

AWS CLIを使用することにより、AWS上のリソース間を連携した管理や設定するオリジナルサービスやツールを作成できます。

AWS CLIではプログラムによる作業の自動化ができるので、AWS上のサービスを自動で連携させることも可能です。

例えば、DynamoDBのデータを自動でAmazon S3にコピーされるような仕組みもAWS CLIを利用すれば可能になります。

proxyとは?


proxyとは、インターネットに接続する際に、その中継地点に存在し代理アクセスを行っているサーバーを指します。

proxyを通してインターネットに通信することにより、ログの取得が容易になることや、よりセキュアな環境でインターネットを使用できます。

例えば、コンピューターウイルスに絶対に晒されてはいけない機密情報が多く存在する社内ネットワークにproxyを構築することで、proxy上でウイルスチェックをすれば社内ネットワークにコンピューターウイルスを持ち込まないようにすることが可能です。

proxyサーバーを使用してAWSにアクセスする方法


proxyサーバーを使用している環境でAWS CLIを使用してAWSへアクセスするには設定が必要になります。

設定方法について、使用する方法、認証する方法、そして例外的な除外設定について説明します。

HTTP proxyの使用

proxyサーバーがある環境でAWSに接続するには、その環境内にDNSサーバーがあればドメイン名で、もし無ければproxyサーバーのIPアドレスとポート番号で環境変数を設定します。

OSによりコマンドは異なります。

例えばDNSサーバーが存在する環境で、Windowsであれば、

C:\> setx HTTP_PROXY http://(proxyサーバーパス):(proxyサーバポート)
C:\> setx HTTPS_PROXY http://(proxyサーバーパス):(proxyサーバポート)



こちらのコマンドで設定し、LinuxとmacOSの場合は

$ export HTTP_PROXY=http://(proxyサーバーパス):(proxyサーバポート)
$ export HTTPS_PROXY=http://(proxyサーバーパス):(proxyサーバポート)



こちらのコマンドで設定します。

proxyの認証

proxyの認証にはHTTP Basic認証が使えます。

例えばWindowsをご使用でHTTP Basic 認証のユーザー名がuser、パスワードがpasswordの場合、

C:\> setx HTTP_PROXY http://user:password@(proxyサーバーパス):(proxyサーバポート)
C:\> setx HTTPS_PROXY http://user:password@(proxyサーバーパス):(proxyサーバポート)



LinuxやmacOSの場合は、

$ export HTTP_PROXY=http://user:password@(proxyサーバーパス):(proxyサーバポート)
$ export HTTPS_PROXY=http://user:password@(proxyサーバーパス):(proxyサーバポート)



こちらのコマンドでproxyの認証ができます。

proxyの除外設定

アタッチされたIAMロールで起動したAmazonEC2インスタンスにプロキシを設定する場合、除外設定をする必要があります。

その場合は、

NO_PROXY


の環境変数を169.254.169.254に設定します。169.254.169.254はインスタンスメタデータを取得するためにアクセスが必要です。

例えば、Windowsの場合は

C:\> setx NO_PROXY 169.254.169.254



LinuxやmacOSの場合は

$ export NO_PROXY=169.254.169.254



で除外設定が可能です。

proxy環境下でもAWS CLIは問題なく使用できます


proxyサーバーがある環境でも、設定すればAWS CLIは問題なく使用できます。

また、AWS CLIは効率的かつ統合的にAWSのサービスを管理できるので、仕事の効率化に向いているサービスです。

システム面からの仕事の効率化という課題を負っている社内SEの方、ぜひAWS CLIをマスターして利用してみましょう。

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

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

おすすめの動画

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

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

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