20190403のAWSに関する記事は4件です。

EC2インスタンスからFluentdを使ってKinesis Data Streamsにログを送信する

概要

EC2インスタンスからFluentdを使ってKinesis Data Streamsにログを送信するアーキテクトを構築します。
kinesis.png
fluent-plugin-kinesisでKinesis Streamsにログを送信する
こちらの記事を参考にしました。
基本的な流れは同じですが、簡単な説明だったり情報が古かったりして少し戸惑ったのでまとめました。
今回は一から作成していますが、必要に応じて作成済みのものを利用してください。

環境

作業 OS:macOS Mojave
EC2 OS:Amazon Linux 2 AMI (HVM)
fluentd:1.4.2
td-agent:1.3.3
fluent-plugin-kinesis:3.0.0
ruby:2.6.2

目次

  1. EC2の作成
  2. Streamの作成
  3. EC2にロール付与
    (1) StreamのARNを指定して、Kinesisのポリシーを作成
    (2) ポリシーを指定して、ロールを作成
    (3) EC2にロールを付与する
  4. EC2にSSH接続してログイン

  5. Apacheのインストール
  6. rbenv/Rubyのインストール

  7. Fluentdのインストール
  8. プラグインのインストール

  9. Fluentd設定ファイルを修正する
  10. 設定ファイルのシンタックスチェックを行う
  11. Fluentdの起動
  12. Streamにデータが送信されていることを確認
    (1) シャードイテレータを確認

    (2) シャードイテレータを指定してレコード取得
    (3) デコードして中身を確認

1. EC2の作成

まず、Fluentdを入れるためのAWS EC2を作成します。
AWSマネジメントコンソール > EC2 > インスタンス を開きます。
インスタンス作成ボタンから、任意のOSを選択して作成します。
スクリーンショット 2019-04-03 19.12.53.png
今回はAmazon Linuxを利用し、設定等はデフォルトで作成しました。
SHH接続の際に使用するキーペアが生成されるので、保存してください。

2. Streamの作成

次に、ログの送信先であるKinesis Data Streamを作成します。
AWSマネジメントコンソール > Kinesis > Data Streamを開きます。
Kibesisストリームの作成ボタンから作成します。
スクリーンショット 2019-04-03 19.10.16.png

今回はストリーム名をtest、シャード数を1に設定して作成しました。

シャード…ストリーム内の一意に識別されたデータレコードのシーケンス。ストリームの総容量はシャードの容量の合計。

その後、作成したストリームをクリックし、詳細タブのストリーム ARNの項目を確認しておきます。
これは次のポリシー作成の際に使用します。

スクリーンショット 2019-04-03 21.28.55.png

3. EC2にロール付与

先ほど作成したストリームのリソースに対するKinesisの権限をEC2に付与します。

(1) 作成したStreamのARNを指定して、Kinesisのポリシーを作成

AWSマネジメントコンソール > IAM > ポリシー を開きます。
ポリシーの作成ボタンから作成します。
スクリーンショット 2019-04-03 21.39.12.png
ビジュアルエディタの設定で、以下のように設定します。(その他の設定は任意です)

  • サービス:Kinesis
  • アクション:すべてのKinesisアクション (kinesis:*)
  • リソース:stream > ARNの追加 > ARNを手動でリスト > ストリームARNを貼り付ける

ここではポリシーの名前をtest-kinesis-policyとします。

(2) 作成したポリシーを指定して、ロールを作成

AWSマネジメントコンソール > IAM > ロール を開きます。
ポリシーの作成ボタンから作成します。
スクリーンショット 2019-04-03 21.42.31.png
設定は以下のようにします。(その他の設定は任意です。)

  • このロールを使用するサービスを選択:EC2
  • Attach アクセス権限ポリシー:test-kinesis-policy

ここではロールの名前をtest-kinesis-roleとします。

(3) EC2に作成したロールを付与する

AWSマネジメントコンソール > EC2 > インスタンス を開きます。
作成したEC2を選択 > アクション > インスタンスの設定 > IAMロールの割り当て/置換 を開きます。
スクリーンショット 2019-04-03 21.47.35.png
以下を指定して、適用します。

  • IAMロール:test-kinesis-role

4. EC2にSSH接続してログイン


ターミナルを開いて、EC2にSSH接続します。

$ ssh -i <key-pair>.pem <ユーザ名>@<パブリックIP or パブリックDNS名>

参考:[初心者向け] 初めてのEC2ログイン:Linux編

5. Apacheのインストール

EC2にApatchをインストールして起動します。

$ sudo yum install -y httpd
$ sudo service httpd start

6. rbenv/Rubyのインストール


EC2にrbevnRubyをインストールします。
Rubyのバージョンは今回は安定版の2.6.2(2019/4/3現在)をインストールしました。
Fluentdの公式ではRubyのversionは2.1以上をサポートしているとのことです。

参考:Amazon Linuxに rbenv をインストールして、Rubyをバージョンアップ(Bundlerも)

7. Fluentdのインストール

EC2にFluentdをgemでインストールします。

$ gem install fluentd --no-document

参考:Installing Fluentd Using Ruby Gem | Fluentd
※Fluentdの公式ではgem install fluentd --no-ri --no-rdocと書かれていますが、--no-ri --no-rdocオプションは廃止されました。

以下のコマンドで、エラーなく動くことを確認します。

$ fluentd --setup ./fluent
$ fluentd -c ./fluent/fluent.conf -vv &
$ echo '{"json":"message"}' | fluent-cat debug.test

8. プラグインのインストール

EC2にfluent-plugin-kinesisをインストールします。

$ sudo td-agent-gem install fluent-plugin-kinesis

参考:Plugin Management | Fluentd

9. Fluentd設定ファイルを修正する

Fluentdの設定を行います。

$ sudo vim /etc/td-agent/td-agent.conf

以下をファイルに追記します。
データソースの定義が <source>タグ、データ処理の定義が <match>タグです。
使い方などはaws-fluent-plugin-kinesis#Getting startedを確認してください。

<source>
  @type tail
  @id output_log
  format apache2
  path /var/log/httpd/access_log
  pos_file /var/log/td-agent/httpd-access.pos
  tag log.httpd.access
</source>

<match log.httpd.*>
  @type kinesis_streams
  @id input_httpd
  stream_name test
  region ap-northeast-1
  random_partition_key true
  use_yajl true
</match>

10. 設定ファイルのシンタックスチェックを行う

$ td-agent --dry-run -c /etc/td-agent/td-agent.conf 

エラーがおきなければOKです。

11. Fluentdの起動

Fluentdを起動します。
まずはフォアグラウンドで実行できることを確認して、その後バックグラウンドで実行します。

フォアグラウンド実行
$ sudo td-agent -c /etc/td-agent/td-agent.conf
バックグラウンド実行
$ sudo service td-agent start

Apacheにリクエストを投げて、Kinesis Streamに送信するログを生成します。

$ curl localhost

12. Streamにデータが送信されていることを確認

(1) シャードイテレータを確認


$ STREAM_NAME=test
$ aws kinesis get-shard-iterator --shard-id shardId-000000000000 --stream-name $STREAM_NAME --shard-iterator-type TRIM_HORIZON
{
    "ShardIterator": "AAAAAAAAAAEYTwTh..."
}

(2) シャードイテレータを指定してレコード取得

$ aws kinesis get-records --shard-iterator  "AAAAAAAAAAEYTwTh..."
{
    "Records": [
        {
            "Data": "eyJob3N0IjoiMTI3LjAuMC4xIiwidXNlciI6bnVsbCwibWV0aG9kIjoiR0VUIiwicGF0aCI6Ii8iLCJjb2RlIjo0MDMsInNpemUiOjM2MzAsInJlZmVyZXIiOm51bGwsImFnZW50IjoiY3VybC83LjYxLjEifQo=", 
            "PartitionKey": "8c3e250cc103933ec37f63cec968054c", 
            "ApproximateArrivalTimestamp": 1554283487.951, 
            "SequenceNumber": "49594439765182586642277267931515081312153319763399933954"
        }, 
        {
            "Data": "eyJob3N0IjoiMTI3LjAuMC4xIiwidXNlciI6bnVsbCwibWV0aG9kIjoiR0VUIiwicGF0aCI6Ii8iLCJjb2RlIjo0MDMsInNpemUiOjM2MzAsInJlZmVyZXIiOm51bGwsImFnZW50IjoiY3VybC83LjYxLjEifQo=", 
            "PartitionKey": "10e21500031d1d5f5d6beadb2fbd5fe3", 
            "ApproximateArrivalTimestamp": 1554283679.042, 
            "SequenceNumber": "49594439765182586642277267931516290237972947586714173442"
        }
    ], 
    "NextShardIterator": "AAAAAAAAAAEVvuiUpuBdo5LXOID3x5ksssSyqNfkxhNFkG7jkkhiqaX7knHtVolTj2JgOIgYT0vJVsYgIQA9BT950RdbxFfSIgyv2y1t75br6/UQlZXfVN3TWHLKJPyu9Xzx0fr+TN3avc0UyzOwg++NQCaPEBV2dTaDhXY03Q0dpXPhROAF7Dnkm8oxRjNYD3tIN+mkkPHu1YZs7mAOwVTuew85iAmF", 
    "MillisBehindLatest": 0
}

(3) デコードして中身を確認

$ DATA="eyJob3N0IjoiMTI3LjAuMC4xIiwidXNlciI6bnVsbCwibWV0aG9kIjoiR0VUIiwicGF0aCI6Ii8iLCJjb2RlIjo0MDMsInNpemUiOjM2MzAsInJlZmVyZXIiOm51bGwsImFnZW50IjoiY3VybC83LjYxLjEifQo="
$ echo -n $DATA | base64 -d
{"host":"127.0.0.1","user":null,"method":"GET","path":"/","code":403,"size":3630,"referer":null,"agent":"curl/7.61.1"}

Apatchから投げたリクエストを確認できました。

最後に

記事に間違いや不明点があれば遠慮なくご指摘ください。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

[AWS]EC2にEFSを設定してみる

遅めですがEFSが東京リージョンにも対応したので利用してみました。

前提

接続するEC2インスタンスのVPCでDNSホスト名が有効になっている必要がある。
Amazonが提供するDNSサーバーを使用するように設定されている必要がある。

EFS用セキュリティグループ作成

ec2に設定しているセキュリティグループからのNFSインバウンドを許可する。

タイプ NFS
プロトコル TCP
ポート 2049
ソース EFSを利用するEC2のセキュリティグループ

マウントヘルパーインストール

マウント前の確認

# df -Th
ファイルシス   タイプ   サイズ  使用  残り 使用% マウント位置
devtmpfs       devtmpfs   475M     0  475M    0% /dev
tmpfs          tmpfs      492M     0  492M    0% /dev/shm
tmpfs          tmpfs      492M  400K  492M    1% /run
tmpfs          tmpfs      492M     0  492M    0% /sys/fs/cgroup
/dev/xvda1     xfs        8.0G  1.4G  6.7G   17% /
tmpfs          tmpfs       99M     0   99M    0% /run/user/1000

インストール

# sudo yum install -y amazon-efs-utils
# sudo mkdir /efs
# sudo mount -t efs -o tls fs-{efs-ID}:/ /efs

マウント後の確認

# df -Th
ファイルシス   タイプ   サイズ  使用  残り 使用% マウント位置
devtmpfs       devtmpfs   475M     0  475M    0% /dev
tmpfs          tmpfs      492M     0  492M    0% /dev/shm
tmpfs          tmpfs      492M  440K  492M    1% /run
tmpfs          tmpfs      492M     0  492M    0% /sys/fs/cgroup
/dev/xvda1     xfs        8.0G  1.5G  6.6G   19% /
tmpfs          tmpfs       99M     0   99M    0% /run/user/1000
127.0.0.1:/    nfs4       8.0E     0  8.0E    0% /efs

自動的にマウントするよう既存の EC2 インスタンスを更新する

fs-{efs-ID}:/ /mnt/efs efs defaults,_netdev 0 0

インスタンス再起動後

EC2の管理画面から今回設定したEC2インスタンスを再起動して
再起動後もマウントされているか確認します。

# df -Th
ファイルシス                                   タイプ   サイズ  使用  残り 使用% マウント位置
devtmpfs                                       devtmpfs   475M     0  475M    0% /dev
tmpfs                                          tmpfs      492M     0  492M    0% /dev/shm
tmpfs                                          tmpfs      492M  400K  492M    1% /run
tmpfs                                          tmpfs      492M     0  492M    0% /sys/fs/cgroup
/dev/xvda1                                     xfs        8.0G  1.5G  6.6G   19% /
fs-{efs-ID}.efs.ap-northeast-1.amazonaws.com:/ nfs4       8.0E     0  8.0E    0% /mnt/efs
tmpfs                                          tmpfs       99M     0   99M    0% /run/user/1000

無事共有されています!

AMI作成

EC2の管理画面から今回設定したEC2インスタンスのAMIを作成し、
AMIを起動して、マウントされているかを確認します。

# df -Th
ファイルシス                                   タイプ   サイズ  使用  残り 使用% マウント位置
devtmpfs                                       devtmpfs   475M     0  475M    0% /dev
tmpfs                                          tmpfs      492M     0  492M    0% /dev/shm
tmpfs                                          tmpfs      492M  400K  492M    1% /run
tmpfs                                          tmpfs      492M     0  492M    0% /sys/fs/cgroup
/dev/xvda1                                     xfs        8.0G  1.5G  6.6G   19% /
fs-{efs-ID}.efs.ap-northeast-1.amazonaws.com:/ nfs4       8.0E     0  8.0E    0% /mnt/efs
tmpfs                                          tmpfs       99M     0   99M    0% /run/user/1000

無事共有されています!

参考

EFS ファイルシステムをマウントする
AWS EFS をEC2にマウントしてみる

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

AWS Code シリーズ

■AWSのCode シリーズ

CodeCommit
ソースコードを管理するGitリポジトリサービス

CodeBuild
ソースコードのビルド/テスティングサービス

CodeDeploy
ビルドされたモジュールのデプロイサービス

CodePipeline
継続的デリバリー/継続的インテグレーションをサポートするサービス

スクリーンショット 2019-03-26 0.04.02.png

1.CodeCommit

  • 簡単にGitリポジトリをホストすることができる。
  • サードバーティ製のツールも利用可能。
  • プルリクエスト機能も利用可能。

1-1 CodeCommitのリポジトリを作成する

[リポジトリ名]に任意のものを入力
image.png

1-2 初期セットアップ、コードのPush

IAMユーザの権限を使って、CodeCommitのリポジトリに接続し、Pushします。

gitを利用するのに最初に実行。

git config --global credential.helper '!aws --region ap-northeast-1 codecommit credential-helper $@'
git config --global credential.UseHttpPath true

誰が登録したかわかるようにユーザー情報を入れる。

git config --global user.name "[user_name]"
git config --global user.email "[user_email]"

gitでこのディレクトリを管理すると定義する。

git init

##.gitができあがっていることも確認しておく。
ll -a
drwxrwxr-x 7 ec2-user ec2-user 4096  3月 26 00:47 .git

先程作成したリポジトリをリモートとして登録する。

git remote add origin [https_clone_url]

git status
On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    buildspec.yml
    src/

nothing added to commit but untracked files present (use "git add" to track)

全てを追加する。

git add -A

git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

    new file:   buildspec.yml
    new file:   src/appspec.yml
    new file:   src/img/img1.jpeg
    new file:   src/img/img2.jpeg
    new file:   src/index.php
    new file:   src/script/clean.sh

コミットする。

git commit -m "first commit"
[master (root-commit) e9e67f0] first commit
 6 files changed, 69 insertions(+)
 create mode 100644 buildspec.yml
 create mode 100644 src/appspec.yml
 create mode 100644 src/img/img1.jpeg
 create mode 100644 src/img/img2.jpeg
 create mode 100644 src/index.php
 create mode 100644 src/script/clean.sh

pushする。

git push origin master
[ec2-user@demo-batch work]$ git push origin master
Counting objects: 11, done.
Compressing objects: 100% (9/9), done.
Writing objects: 100% (11/11), 516.43 KiB | 18.44 MiB/s, done.
Total 11 (delta 0), reused 0 (delta 0)
To https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/demo-codcommit
 * [new branch]      master -> master

コンソールからpushされたことも確認する。
image.png

2.CodeBuild

  • ビルドサービス
  • ソースコードのコンパイルを行ったり、テストを実行する環境を簡単に構築することができる。
  • CodeBuild上で行う作業については、buildspec.ymlに定義する。

2-1 成果物格納用のS3バケットを準備しておく

S3バケットを作成し、バージョニング を有効にしておく。
スクリーンショット 2019-03-26 19.01.56.png

バージョニングについては実際に試されている↓の記事が参考になりました。
今さらだけどS3のバージョニングを試してみた。

2-2 buildspec.ymlを作成する

buildspec.yml
##[application-name] は後で必要になるので適当な名前に、
##[S3-bucket-name]は「2-1 成果物格納用のS3バケットを準備しておく」で作成したS3バケットを指定。

version: 0.1

phases:
  build:
    commands:
      - aws deploy push --region ap-northeast-1 --application-name [application-name] --s3-location s3://[S3-bucket-name]/sample.zip --source src
artifacts:
  files:
    - '**/*'
  base-directory: src
  name: sample.zip

2-3 CodeBuildプロジェクトを作成する

[Project name] は任意の名前を入力
スクリーンショット 2019-03-26 19.19.44.png

[Source provider][リポジトリ] は「1.AWSCodeCommit」のリポジトリから取ってくるように指定します。
スクリーンショット 2019-03-26 19.22.29.png

[Operating system]は Ubuntu しか選べません。
[Runtime]は PHP にしておきます。
スクリーンショット 2019-03-26 19.28.25.png

[Service role]は New service role で新しく作成する。※後でポリシーを追加します。
スクリーンショット 2019-03-26 19.35.33.png

[Type]は AmazonS3
[Bucket name]に作成したS3バケットを指定
[Enable semantic versioning]にチェック
[Namespace type]はBuild IDを指定
スクリーンショット 2019-03-26 19.34.14.png
スクリーンショット 2019-03-26 19.34.31.png

2-4 Service roleにIMAポリシーを追加する

先ほど作成した、Service roleに以下2つのポリシーを追加してください。

AWSCodeDeployDeployerAccess
AmazonS3FullAccess

スクリーンショット 2019-03-26 20.24.52.png

3.CodeDeploy

  • デプロイ自動化サービス
  • appspec.ymlにデプロイ時の動作を定義する
  • デプロイ方式を1台、半分、全台など選択可能。
  • デプロイ先にエージェントをインストールする必要がある。

3-1 EC2インスタンスにIAMロールを作成する

EC2に以下のIAMロールのポリシーで作成し、EC2にアタッチする。

AmazonS3FullAccess

image.png

3-2 EC2インスタンスにCodeDeployエージェントをインストールする

wget https://aws-codedeploy-ap-northeast-1.s3.amazonaws.com/latest/install
chmod +x install
sudo ./install auto

3-3 CodeDeploy用のIAMロールを作成する

CodeDeployに以下のIAMロールのポリシーで作成する。

AWSCodeDeployRole

image.png

3-4 CodeDeployアプリケーションを用意する

[アプリケーション名]には、CodeBuildで決めたアプリケーション名を入力してください。
[コンピューティングプラットフォーム]は、EC2。
スクリーンショット 2019-03-27 19.42.25.png

デプロイグループの作成
[デプロイグループ名]に任意のものを入力。
スクリーンショット 2019-03-27 19.46.09.png

[サービスロール]は、「3-3 CodeDeploy用のIAMロールを作成する」で作成したものを選択。
スクリーンショット 2019-03-27 19.47.10.png

[デプロイタイプ]はインプレース。
スクリーンショット 2019-03-27 19.49.32.png

[環境設定]はAmazon EC2 インスタンス。
スクリーンショット 2019-03-27 19.50.20.png

[デプロイ設定]は、CodeDeployDefault.AllAtOne。
スクリーンショット 2019-03-27 19.53.03.png

[ロードバランサー]も指定。
スクリーンショット 2019-03-27 19.53.19.png

3-5 CodeBuildを開始する

CodeBuildから[Start build]
image.png

[Container] 2019/03/27 11:15:26 Waiting for agent ping
[Container] 2019/03/27 11:15:29 Waiting for DOWNLOAD_SOURCE
[Container] 2019/03/27 11:15:33 Phase is DOWNLOAD_SOURCE
[Container] 2019/03/27 11:15:33 CODEBUILD_SRC_DIR=/codebuild/output/src359827589/src/git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/demo-codcommit
[Container] 2019/03/27 11:15:33 YAML location is /codebuild/output/src359827589/src/git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/demo-codcommit/buildspec.yml
[Container] 2019/03/27 11:15:33 Processing environment variables
[Container] 2019/03/27 11:15:33 Moving to directory /codebuild/output/src359827589/src/git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/demo-codcommit
[Container] 2019/03/27 11:15:33 Registering with agent
[Container] 2019/03/27 11:15:33 Phases found in YAML: 1
[Container] 2019/03/27 11:15:33 BUILD: 1 commands
[Container] 2019/03/27 11:15:33 Phase complete: DOWNLOAD_SOURCE Success: true
[Container] 2019/03/27 11:15:33 Phase context status code: Message:
[Container] 2019/03/27 11:15:33 Entering phase INSTALL
[Container] 2019/03/27 11:15:33 Phase complete: INSTALL Success: true
[Container] 2019/03/27 11:15:33 Phase context status code: Message:
[Container] 2019/03/27 11:15:34 Entering phase PRE_BUILD
[Container] 2019/03/27 11:15:34 Phase complete: PRE_BUILD Success: true
[Container] 2019/03/27 11:15:34 Phase context status code: Message:
[Container] 2019/03/27 11:15:34 Entering phase BUILD
[Container] 2019/03/27 11:15:34 Running command aws deploy push --region ap-northeast-1 --application-name leomaro --s3-location s3://leomaro-codebuild/sample.zip --source src
To deploy with this revision, run:
aws deploy create-deployment --application-name leomaro --s3-location bucket=leomaro-codebuild,key=sample.zip,bundleType=zip,eTag=cc07369e1d36342a99f827d40358d26f,version=q_0JhOdGpyuCg5B1lsavI4Avd5lqnaFa --deployment-group-name <deployment-group-name> --deployment-config-name <deployment-config-name> --description <description>
 [Container] 2019/03/27 11:15:40 Phase complete: BUILD Success: true
[Container] 2019/03/27 11:15:40 Phase context status code: Message:
[Container] 2019/03/27 11:15:40 Entering phase POST_BUILD
[Container] 2019/03/27 11:15:40 Phase complete: POST_BUILD Success: true
[Container] 2019/03/27 11:15:40 Phase context status code: Message:
[Container] 2019/03/27 11:15:40 Expanding base directory path: src
[Container] 2019/03/27 11:15:40 Assembling file list
[Container] 2019/03/27 11:15:40 Expanding src
[Container] 2019/03/27 11:15:40 Expanding artifact file paths for base directory src
[Container] 2019/03/27 11:15:40 Assembling file list
[Container] 2019/03/27 11:15:40 Expanding **/*
[Container] 2019/03/27 11:15:40 Found 5 file(s)
[Container] 2019/03/27 11:15:40 Updating artifact name as sample.zip
[Container] 2019/03/27 11:15:40 Phase complete: UPLOAD_ARTIFACTS Success: true
[Container] 2019/03/27 11:15:40 Phase context status code: Message:

CodeDeployのRevisionに作成されていることがわかります。
image.png

3-6 デプロイする

作成されたRevisionを指定してデプロイしていきます。

[デプロイ]から[デプロイの作成]
スクリーンショット 2019-03-30 2.32.07.png

[デプロイグループ]は「3-4 CodeDeployアプリケーションを用意する」で作成されたものを指定。
[リビジョンの場所]で「3-5 CodeBuildを開始する」で作成されたものを指定。
スクリーンショット 2019-03-30 2.36.45.png

これでデプロイは完成です。

4.CodePipeline

  • 継続的デリバリーをサポートするサービス
  • Codecommit/CodeBuild/CodeDeployの流れをパイプラインとして定義することで、ソースコードがコミットされたらデプロイまで自動化

4-1 パイプラインを作成する

Step 1:パイプラインの設定を選択する
[パイプライン名]には任意の名前を入力。
[Service role]はNew service roleでここで新しく作成します。
[アーティファクトストア]はカスタムロケーションでS3バケットを指定します。
スクリーンショット 2019-03-30 3.07.17.png

Step 2:ソースステージを追加する
[ソースプロバイダー]はAWS Codecommitにし、「1.CodeCommit」で作成したものを指定していきます。
スクリーンショット 2019-03-30 3.10.24.png

Step 3:ビルドステージを追加する
[プロバイダーを構築する]はAWS CodeBuildにし、「2.CodeBuild」で作成したものを指定していきます。
スクリーンショット 2019-03-30 3.11.39.png

Step 4:デプロイステージを追加する
[デプロイプロバイダー]をAWS CodeDeployにし、「3.CodeDeploy」で作成したものを指定していきます。
スクリーンショット 2019-03-30 3.15.16.png

Step 5:レビュー
「パイプラインを作成する」

Pipeline作成時と、CodecommitのPush時に動作します。
なので、ここでは何も変わらないので次で動作を確認してみる。

4-2 CodecommitでPushし動作を確認する

ファイルを作成してPushする。

git add -A
git commit -m "fix."
git push origin master

コンソール上から動作しているか確認してみましょう。
スクリーンショット 2019-03-30 3.31.27.pngスクリーンショット 2019-03-30 3.31.47.pngスクリーンショット 2019-03-30 3.31.58.png

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Amazon WorkSpaces]AmazonLinux2にPostmanインストール

Amazon Linux release 2 (Karoo)

# Postmanのインストール
$ sudo wget https://dl.pstmn.io/download/latest/linux64 -O postman.tar.gz
$ sudo tar -xzf postman.tar.gz -C /opt
$ sudo rm postman.tar.gz
$ sudo ln -s /opt/Postman/Postman /usr/bin/postman

# ランチャーに追加(アプリケーションープログラミングーPostMan)
cat > ~/.local/share/applications/postman.desktop <<EOL
[Desktop Entry]
Encoding=UTF-8
Name=Postman
Exec=postman
Icon=/opt/Postman/app/resources/app/assets/icon.png
Terminal=false
Type=Application
Categories=Development;
EOL
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む