私のPCでAWS CDKを使いませんか?
久しぶりにメッセージ前回まで、過去の私を振り返り、技術的に(正確には雑多な…)部分を整理したら、この文章から、これから使いたい技術部分を自分なりに整理していきます.(実は、知り合いに何を勉強すればいいのか聞いたことがありますが、これは勧められて勉強する内容によって、半強制的にやろうと思っています.^^;)
短い時間でしたが、PythonベースのDjango Frameworkはサービス開発経験があり、Javascript以降よく知られている言語なので、これに基づいて何を学ぶかを考え、サーバレンタルのマイクロアーキテクチャを考えました.AWSコンソール以外にもLambdaでコードを記述する方法があるかどうかを考え、AWSが提供するCDKを利用してLambdaに配備できるのはこれです!考えてみて、勉強したいです.
(つまり、今日のテーマはCDK for Python+CloudFormation+Lambda+API Gateway…テーマ範囲が広すぎて…今期はCDKのみのインストールです.)
まずはグーグルでCDKとは何かを頑張ってみて、私より早く整理してくれた人が多すぎたので、その内容を参考に整理してみました.
(ソースバーのURL情報を参照してください.^^)
クラウド開発キットの略はクラウド開発ツールです.
インフラストラクチャは、Terraform、AWS CloudFormationなどのコード(IaC)サービスの一種である.
(IaCについて何も知らないので、もう一度グーグル化した結果、「コード管理インフラストラクチャ」を発見しました.したがって、CDKが提供するコードを使用して、クラウドインフラストラクチャを整理できます.考えました.詳しくはAWS韓国の金賢秀ソリューションアーキテクチャが発表したビデオを参照してください.整理が行き届いていました.^^)
https://youtu.be/hOJbhfF0DYQ
CDKでは、次のコマンドを使用してインフラストラクチャを管理できます.
(もちろん、GITのように、私が書いたコードと現在のインフラストラクチャの内容の違いを理解することもできます.AWS賛~)
だからCDKを私のPCに配置するためにまたグーグル...しかし、一般的なブログではAWSのCloud 9を使って作成された例が多く絶望に陥りそうになり、PCで設定できるブログを探して関連コンテンツに合わせて設定することにした.
(言語はPython、オペレーティングシステムはMac)
1.AWS CLIのインストール IAMアカウントの作成
(IAMアカウントの作成方法がよくわかりますので、画像のみを使用して結果を置き換えます.)
awsを PCに接続
(上のイメージで作成したアカウントのEXSESKIを使用して、私のPCをawsにアクセスするように設定します.) AWS-CDK install のPCにプロジェクトフォルダとファイル を作成する
では、インストール作業は完了します.
生成されたプロジェクトにLambdaにアップロードするフォルダとファイルを作成します.
2.ファイルに必要な機能を作成する
3. [Your-Project]_stack.pyでlambdaに配布するコンテンツを作成する
もちろん、PythonはAWSを使用するためにBoto 3ライブラリを提供しています.対応するlibを受信すると、AWSにアクセスしたいソリューションを満たすコードを作成できます.
デフォルトでは、CDKは、pytest libraryを使用してセルテストを行うためにRequirement-dev.txtで定義されています.ただし、vscodeでデバッグを使用すると、内部データを表示したい場合があります.拡張プラグインからPython Extension Packをダウンロードすると、左側にテストアイコンが作成され、クリックすると左側にpytest可能なリストが表示されます.ここで私が書いたテストコードをデバッグすればいいです.
https://dev.classmethod.jp/articles/aws-cdk-intro-kor/
https://www.redhat.com/ko/topics/automation/what-is-infrastructure-as-code-iac
https://medium.com/@sindepal/aws-cdk-basic-guide-239b76d4f72c
短い時間でしたが、PythonベースのDjango Frameworkはサービス開発経験があり、Javascript以降よく知られている言語なので、これに基づいて何を学ぶかを考え、サーバレンタルのマイクロアーキテクチャを考えました.AWSコンソール以外にもLambdaでコードを記述する方法があるかどうかを考え、AWSが提供するCDKを利用してLambdaに配備できるのはこれです!考えてみて、勉強したいです.
(つまり、今日のテーマはCDK for Python+CloudFormation+Lambda+API Gateway…テーマ範囲が広すぎて…今期はCDKのみのインストールです.)
まずはグーグルでCDKとは何かを頑張ってみて、私より早く整理してくれた人が多すぎたので、その内容を参考に整理してみました.
(ソースバーのURL情報を参照してください.^^)
CDK定義
クラウド開発キットの略はクラウド開発ツールです.
インフラストラクチャは、Terraform、AWS CloudFormationなどのコード(IaC)サービスの一種である.
(IaCについて何も知らないので、もう一度グーグル化した結果、「コード管理インフラストラクチャ」を発見しました.したがって、CDKが提供するコードを使用して、クラウドインフラストラクチャを整理できます.考えました.詳しくはAWS韓国の金賢秀ソリューションアーキテクチャが発表したビデオを参照してください.整理が行き届いていました.^^)
https://youtu.be/hOJbhfF0DYQ
では、CDKを使用してインフラストラクチャを管理する方法は?
CDKでは、次のコマンドを使用してインフラストラクチャを管理できます.
cdk deploy [stack_name|~*~] - cloudFormation을 통해 테스트 또는 프로덕션에 was cdk 어플리케이션 배포
cdk destory [stack_name|~*~] - 스택 삭제
cdk synth - aws cdk 어플리케이션을 cloudFormation 템플릿으로 컴파일하여 인프라 동기화
わあ、上のコマンドで私が望んでいるインフラストラクチャに自動的に配置しますか?どうしようかな?思い出した.もちろん、以下のコマンドで構成を自動的に生成できます.(もちろん、GITのように、私が書いたコードと現在のインフラストラクチャの内容の違いを理解することもできます.AWS賛~)
cdk bootstrap - aws 환경에 cdk toolkit을 위한 스택 배포
cdk init - 사용자가 선택한 기본 어플리케이션으로 초기화
cdk diff - 로컬 aws cdk코드와 aws 에서 실행되는 어플리케이션간 차이점 확인
では、組織しましょう。マイコンピュータ
だからCDKを私のPCに配置するためにまたグーグル...しかし、一般的なブログではAWSのCloud 9を使って作成された例が多く絶望に陥りそうになり、PCで設定できるブログを探して関連コンテンツに合わせて設定することにした.
(言語はPython、オペレーティングシステムはMac)
1.AWS CLIのインストール
//python 설치
brew install python
//aws cli 설치
brew install awscli
(IAMアカウントの作成方法がよくわかりますので、画像のみを使用して結果を置き換えます.)
1. aws console login
2. aws IAM 클릭 후 계정 생성
3. 계정 생성 후 보안자격증명->엑세스키 생성
awsを
(上のイメージで作成したアカウントのEXSESKIを使用して、私のPCをawsにアクセスするように設定します.)
aws configure
AWS Access Key ID [None]: [Your-Key-ID]
AWS Secret Access Key [None]:[Your-AccessKey]
Default region name [None]: [Your-Region]
Default output format [None]: [option]
brew install aws-cdk
mkdir [Your Project Name]
cd [Your Project Name]
cdk init [PROJECT NAME] --language Python
pip install -r requirements.txt
これにより、CDKは以下のようにアイテムを自動的に構成します.では、インストール作業は完了します.
ふろく
Lambdaの作成方法
生成されたプロジェクトにLambdaにアップロードするフォルダとファイルを作成します.
mkdir f_lambda
cd f_lambda
mkdir test.py
2.ファイルに必要な機能を作成する
3. [Your-Project]_stack.pyでlambdaに配布するコンテンツを作成する
from constructs import Construct
from aws_cdk import (
Stack,
aws_lambda as _lambda,
)
class YourProjectStack(Stack):
def __init__(self, scope: Construct, id: str, **kwargs) -> None:
super().__init__(scope, id, **kwargs)
# Defines an AWS Lambda resource
my_lambda = _lambda.Function(
self, 'TestHandler',
runtime=_lambda.Runtime.[Your-Python-Version],
code=_lambda.Code.from_asset('lambda'),
handler='test.main',
)
4.後でcdkコマンドを使用して配布すればよい.コードからAWSにアクセスする方法
もちろん、PythonはAWSを使用するためにBoto 3ライブラリを提供しています.対応するlibを受信すると、AWSにアクセスしたいソリューションを満たすコードを作成できます.
pip install boto3
test.pyファイルでs 3 bucketのコードをクエリーする(例)import boto3
def s3_list():
s3 = boto3.resource('s3')
result = []
for bucket in s3.buckets.all():
result.append(bucket.name)
return result
vscodeでデバッグ
デフォルトでは、CDKは、pytest libraryを使用してセルテストを行うためにRequirement-dev.txtで定義されています.ただし、vscodeでデバッグを使用すると、内部データを表示したい場合があります.拡張プラグインからPython Extension Packをダウンロードすると、左側にテストアイコンが作成され、クリックすると左側にpytest可能なリストが表示されます.ここで私が書いたテストコードをデバッグすればいいです.
参照先:
https://dev.classmethod.jp/articles/aws-cdk-intro-kor/
https://www.redhat.com/ko/topics/automation/what-is-infrastructure-as-code-iac
https://medium.com/@sindepal/aws-cdk-basic-guide-239b76d4f72c
Reference
この問題について(私のPCでAWS CDKを使いませんか?), 我々は、より多くの情報をここで見つけました https://velog.io/@skypentum/AWS-CDK를-나의-PC에서-사용해볼까テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol