「CloudMapper」を試してみた
AWSで環境構築してみたものの、自分が設計した通りの構成図になっているか不安だったので、ちょうどそこにcloudmapperなるものがオープンソース化されたということなので、試してみました。
ここに記載されている内容は主に
https://github.com/duo-labs/cloudmapper/blob/master/README.md
を参考にしています
環境
macOS High Sierra ver10.13.3
python3のインストール済み
cloudmapperのインストール
$ git clone https://github.com/duo-labs/cloudmapper.git
$ cd $_
必要なツール等をインストール
$ brew install autoconf automake libtool jq
python環境での実行なのでvirtualenvを使用
$ pip3 install --upgrade pip
$ pip3 install virtualenv
#### 以下、cloudmapperディレクトリ配下で実行
$ virtualenv venv
$ source venv/bin/activate
$ pip3 install -r requirements.txt
$ git clone https://github.com/duo-labs/cloudmapper.git
$ cd $_
$ brew install autoconf automake libtool jq
python環境での実行なのでvirtualenvを使用
$ pip3 install --upgrade pip
$ pip3 install virtualenv
#### 以下、cloudmapperディレクトリ配下で実行
$ virtualenv venv
$ source venv/bin/activate
$ pip3 install -r requirements.txt
$ pip3 install --upgrade pip
$ pip3 install virtualenv
#### 以下、cloudmapperディレクトリ配下で実行
$ virtualenv venv
$ source venv/bin/activate
$ pip3 install -r requirements.txt
これでとりあえずは起動できるところまできました
demoファイルで実行してみる
$ python cloudmapper.py prepare --config config.json.demo --account demo
$ python cloudmapper.py serve
$ python cloudmapper.py prepare --config config.json.demo --account demo
$ python cloudmapper.py serve
ブラウザで確認 http://127.0.0.1:8000/
表示されたら動作としてはOKです
ではいよいよ、自分で構築したAWS環境のネットワーク図を作成します
configファイルの作成
$ cp config.json.demo config.json
config.json
{ "accounts":
[
{"id": "123456789012", "name": "aws_cloudmapper", "default": true}
],
"cidrs":
{
"1.1.1.1/32": {"name": "SF Office"},
"2.2.2.2/28": {"name": "NY Office"}
}
}
$ cp config.json.demo config.json
{ "accounts":
[
{"id": "123456789012", "name": "aws_cloudmapper", "default": true}
],
"cidrs":
{
"1.1.1.1/32": {"name": "SF Office"},
"2.2.2.2/28": {"name": "NY Office"}
}
}
nameの部分のみを適当に変えます
cloudmapper専用のポリシーを作成
cloudmapperが対象のAWSアカウントにアクセスが可能な状態にする必要があります
AWSコンソールから「IAM」→「ポリシー」→「ポリシーの作成」に移動します
ポリシーの作成画面でJSONを選択して以下の内容で作成します
ポリシー名はcloudmapper-readonlyにしました(好きな命名にしてください)
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Resource": "*",
"Action": [
"ec2:DescribeRegions",
"ec2:DescribeAvailabilityZones",
"ec2:DescribeVpcs",
"ec2:DescribeSubnets",
"ec2:DescribeSecurityGroups",
"ec2:DescribeVpcPeeringConnections",
"ec2:DescribeInstances",
"ec2:DescribeNetworkInterfaces",
"rds:DescribeDBInstances",
"elasticloadbalancing:DescribeLoadBalancers"
]
}
]
}
IAMユーザーの作成
上記で作成したcloudmapper-readonly権限をもったIAMユーザーを作成します。
発行されたアクセスキーIDとシークレットキーは次のステップで使用するので、保管しておいてください
~/.aws/configの設定
~/.aws/config
[profile cloudmapper]
output = json
region = ap-northeast-1
~/.aws/credentialsの設定
[profile cloudmapper]
output = json
region = ap-northeast-1
先ほど作成したIAMユーザーのkeyを設定
[cloudmapper]
aws_access_key_id = ****************
aws_secret_access_key = *******************************
これでcloudmapperがAWSにアクセス可能となります
ネットワーク構成図を作成
さて、いよいよ自分で構築したAWS環境の構成図を作成したと思います
githubからインストールしたcloudmapperディレクトリに移動します。そしてAWSから構築した環境の情報を取得します。
$ cd ~/cloudmapper
$ source venv/bin/activate
(venv) $ ./collect_data.sh --account aws_cloudmapper --profile cloudmapper
無事取得されたらaws_cloudmapper
ディレクトリが作成されます
そしていよいよネットワーク構成図を出力します
(venv) $ python cloudmapper.py prepare --account aws_cloudmapper
$ python cloudmapper.py serve
ブラウザで確認 http://127.0.0.1:8000/
表示されたら成功です。
簡単ではありますが、以上となります。
Author And Source
この問題について(「CloudMapper」を試してみた), 我々は、より多くの情報をここで見つけました https://qiita.com/3104k/items/9674ac8bc8ed815bb20c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .