はじめに
AWSを使っている現場では働いたことあるけど環境を0から構築したことないな〜という人です。
今回は検証用に「AWSマネジメントコンソール」を使って動くものを構築した手順を簡単にメモしています!
詳細を省いているので随時追加していく予定です。
AWSにアクセスする方法
AWSにアクセスし利用する方法としては下記3パターンあるようです。
AWSマネジメントコンソール | CLI | SDK |
---|
3パターンの比較については下記記事などを参考
参考:https://aws.taf-jp.com/blog/18947
今回はAWSが初めてでも扱いやすそうな「AWSマネジメントコンソール」を使用します!
1. CodeCommitでリポジトリを作成する
-
https://console.aws.amazon.com/codesuite/codecommit/home で CodeCommit コンソールを開きます。
-
リージョンセレクタで、リポジトリを作成する AWS リージョン を選択します。
アジアパシフィック(東京)
-
[Repositories (リポジトリ)] ページで、[Create repository (リポジトリの作成)] を選択します。
-
[Create repository (リポジトリの作成)] ページの [Repository name (リポジトリ名)] に、リポジトリの名前を入力します。
-
(オプション) [Description (説明)] にリポジトリの説明を入力します。
-
(オプション) [Add tag] を選択して 1 つ以上のリポジトリタグ (AWS リソースを整理して管理するのに役立つカスタム属性ラベル) をリポジトリに追加します。
※リポジトリのタグ付けについて(https://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/how-to-tag-repository.html) -
(オプション) このリポジトリに Java または Python コードが含まれており、CodeGuru Reviewer で分析する場合は、[Enable Amazon CodeGuru Reviewer for Java and Python] (Java および Python 用に Amazon CodeGuru Reviewer を有効化) を選択します。
選択しない
- [Create] を選択します。
参考: AWS CodeCommit リポジトリを作成する(コンソール)
2. S3にバケットを作成する
- [バケットを作成] - バケット名を入力する
- [バケットを作成] - AWS リージョンを選択する
アジアパシフィック(東京)
3.[オブジェクト所有者]
ACL 有効
4.[このバケットのブロックパブリックアクセス設定]
全てチェックを外す(「パブリックアクセスをすべてブロック」のチェックを外す)
5.「バケットを作成」をクリックする
3. CodeBuildでビルドプロジェクトを作成する
-
AWS CodeBuild コンソール (https://console.aws.amazon.com/codesuite/codebuild/home) を開きます。
-
ビルドプロジェクトを作成するを選択します。
-
[プロジェクトの設定] - プロジェクト名を入力する
-
[ソース] - ソースプロバイダを選択する
「AWS CodeCommit」を選択する
-
[ソース] - リポジトリを入力する
-
[環境] - 環境イメージを選択する
マネージド型イメージ
- [環境] - オペレーティングシステムを選択する
Amazon Linux 2
- [環境] - サービスロール
「新しいサービスロール」
- [Buildspec] - ビルド仕様を選択する
「buildspec ファイルを使用する」
- [アーティファクト] - タイプを選択する
Amazon S3
- [アーティファクト] - バケット名を入力する
2. S3にバケットを作成するで作成したバケット名
- 「ビルドプロジェクトを作成する」をクリックする
参考:AWS CodeBuild ビルドプロジェクトの作成 (コンソール)
4. CodePipelineでビルド&デプロイのプロセスを自動化する
- AWS Management ConsoleCodePipeline コンソール(http://console.aws.amazon.com/codesuite/codepipeline/home)を開く
2.「パイプラインを作成する」をクリック
3. [パイプラインの設定を選択する] - パイプライン名を入力する
4. [パイプラインの設定を選択する] - サービスロールを選択する
新しいサービスロール
- [ソースステージを追加する] - ソースプロバイダーを選択する
AWS CodeCommit
- [ソースステージを追加する] - リポジトリ名を入力する
- [ソースステージを追加する] - ブランチ名を入力する
- [ビルドステージを追加する] - プロバイダーを構築するを選択する
AWS CodeBuild
- [ビルドステージを追加する] - リージョンを選択する
アジアパシフィック(東京)
- [ビルドステージを追加する] - プロジェクト名を入力する
- [ビルドステージを追加する] - 環境変数を追加する
ビルド時に必要な環境変数を設定 ex) API_KEYなど
- [ビルドステージを追加する] ビルドタイプを選択する
「単一ビルド」
-
[デプロイステージを追加する] 導入段階をスキップするをクリック
-
[レビュー]パイプラインを作成するをクリック
5. ロールのアクセス権限を設定する
手順2で作成したCodeBuildのプロジェクトにS3へのアクセス権限を付与する
- ロール > [プロジェクト名]へアクセス
- 「アクセス権限」タブを選択
- 下記のポリシーを追加する
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:GenerateDataKey",
"s3:PutObject"
],
"Resource": "${S3のリソース}"
}
]
}
4.Amazon S3 > [プロジェクト名]へアクセス
5.「アクセス許可」タブを選択
6.「バケットポリシー」へ下記のポリシーを追加する
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "1",
"Effect": "Allow",
"Action": [
"s3:PutObject"
],
"Resource": "${S3のリソース}"
}
]
}
終わりに
かなり雑に一旦書いてしまった。。!
このあとCloudFront + S3環境構築手順(CloudFront経由のみS3へのアクセスを許可する) についてもまとめる予定です。
AWSの資格勉強したくなってきたー